method set_fields fields =
    let args = ref [] in
    List.iter (fun (k, v) ->
                 (* Note: reversed k, v because we'll reverse the whole list.*)
                 args := sv_of_string v :: sv_of_string k :: !args) fields;
    let args = List.rev !args in
    call_method_void sv "set_fields" args