val ($) : ('a -> 'b) t -> 'a t -> 'b t
val app : ('a -> 'b) t -> 'a t -> 'b t
val map : ('a -> 'b) -> 'a t -> 'b t
val product : 'a t -> 'b t -> ('a * 'b) t
val term_result : ?usage:bool -> ('a, [ `Msg of string ]) result t -> 'a t
val term_result' : ?usage:bool -> ('a, string) result t -> 'a t
val cli_parse_result : ('a, [ `Msg of string ]) result t -> 'a t
val cli_parse_result' : ('a, string) result t -> 'a t
val choice_names : string list t
val with_used_args : 'a t -> ('a * string list) t
type !'a ret = [
| `Error of bool * string
| `Help of Manpage.format * string option
| `Ok of 'a
]
val ret : 'a ret t -> 'a t
val exit_info : ?docs:string -> ?doc:string -> ?max:int -> int -> exit_info
val env_info : ?docs:string -> ?doc:string -> string -> env_info
val name : info -> string
type !'a result = [
| `Error of [ `Exn | `Parse | `Term ]
| `Help
| `Ok of 'a
| `Version
]
val eval_peek_opts :
?version_opt:bool ->
?env:(string -> string option) ->
?argv:string array ->
'a t ->
'a option * 'a result
val exit_status_success : int
val exit_status_cli_error : int
val exit_status_internal_error : int
val exit_status_of_result : ?term_err:int -> unit result -> int
val exit_status_of_status_result : ?term_err:int -> int result -> int
val exit : ?term_err:int -> unit result -> unit
val exit_status : ?term_err:int -> int result -> unit