let arg_spec_of_symbols opt_name symbols opt_ref doc =
(opt_name,
Arg.Symbol (snd (List.split symbols),
(fun s -> opt_ref := (key_of_value s symbols))),
" " ^ doc ^ " (default "
^ (value_of_key !opt_ref symbols) ^ ")")