let new_ ?file ?autosave ?ignore_discard ?hide_cookie2 () =
  let args = ref [] in
  let may f = function None -> () | Some v -> f v in
  may (fun v ->
         args := sv_of_string "file" :: sv_of_string v :: !args) file;
  may (fun v ->
         args := sv_of_string "autosave" :: sv_of_bool v :: !args) autosave;
  may (fun v ->
         args := sv_of_string "ignore_discard" :: sv_of_bool v :: !args)
    ignore_discard;
  may (fun v ->
         args := sv_of_string "hide_cookie2" :: sv_of_bool v :: !args)
    hide_cookie2;
  let sv = call_class_method "HTTP::Cookies" "new" !args in
  new http_cookies sv