type ('main_in, 'main_out) t
type 'a parse = string -> 'a
val string : string parse
val int : int parse
val float : float parse
val date : Core.Std.Date.t parse
val sexp : Core.Std.Sexp.t parse
module Flag : sig .. end
type 'a t
val map : f:('a -> 'b) -> 'a t -> 'b t
val required : 'a parse -> 'a Flag.t
val optional : 'a parse -> 'a option Flag.t
val optional_with_default : 'a -> 'a parse -> 'a Flag.t
val listed : 'a parse -> 'a list Flag.t
val no_arg : [ `Absent | `Present ] Flag.t
val no_arg_bool : bool Flag.t
val capture_remaining_command_line : string list option Flag.t
val flag : string -> 'a Flag.t -> doc:string -> ('a -> 'm, 'm) t
module Anons : sig .. end
type 'a t
val map : f:('a -> 'b) -> 'a t -> 'b t
val %: : string -> 'a parse -> 'a Anons.t
val many : string -> 'a parse -> 'a list Anons.t
val maybe : 'a Anons.t -> 'a option Anons.t
val maybe_with_default : 'a -> 'a Anons.t -> 'a Anons.t
val zero : unit Anons.t
val t2 : 'a Anons.t -> 'b Anons.t -> ('a * 'b) Anons.t
val t3 : 'a Anons.t -> 'b Anons.t -> 'c Anons.t -> ('a * 'b * 'c) Anons.t
val t4 : 'a Anons.t ->
'b Anons.t -> 'c Anons.t -> 'd Anons.t -> ('a * 'b * 'c * 'd) Anons.t
val anon : 'a Anons.t -> ('a -> 'm, 'm) t
val empty : unit -> ('a, 'a) t
val const : 'a -> ('a -> 'm, 'm) t
val either : string -> ('a option -> 'b, 'a option -> 'a option -> 'b) t
val (++) : ('m1, 'm2) t -> ('m2, 'm3) t -> ('m1, 'm3) t
val step : ('m1 -> 'm2) -> ('m1, 'm2) t
val cmd : summary:string ->
?readme:(unit -> string) ->
?autocomplete:Deprecated_command.Autocomplete.t ->
?global_flags:unit Deprecated_command.Flag.t list ->
('main, unit) t -> 'main -> Deprecated_command.t