let make_string_opt name default help =
make
~name
~parse:
(function
| "none" -> None
| str -> Some str)
~print:
(function
| Some x -> x
| None -> "none")
~default
~help
~fcli:
(fun get set ->
[cli_name name,
Arg.String (fun str -> set (Some str)),
"str "^help;
cli_name ("no_"^name),
Arg.Unit (fun () -> set None),
Printf.sprintf " Reset value of %s." name])
()