sig
  type 'a t
  val create :
    ?complete:(Univ_map.t -> part:string -> string list) ->
    ?key:'Univ_map.Multi.Key.t ->
    (string -> 'a) -> 'Command.Spec.Arg_type.t
end