method spelling ?key ?phrase ?debug () =
    let args = ref [] in
    may (fun v ->
           args := sv_of_string "key" :: sv_of_string v :: !args) key;
    may (fun v ->
           args := sv_of_string "phrase" :: sv_of_string v :: !args) phrase;
    may (fun v ->
           args := sv_of_string "debug" :: sv_of_int v :: !args) debug;
    let sv = call_method sv "spelling" !args in
    new net_google_spelling sv