sig   module Manpage :     sig       type block =           [ `Blocks of Cmdliner.Manpage.block list           | `I of string * string           | `Noblank           | `P of string           | `Pre of string           | `S of string ]       val escape : string -> string       type title = string * int * string * string * string       type t = Cmdliner.Manpage.title * Cmdliner.Manpage.block list       type xref =           [ `Cmd of string | `Main | `Page of string * int | `Tool of string ]       val s_name : string       val s_synopsis : string       val s_description : string       val s_commands : string       val s_arguments : string       val s_options : string       val s_common_options : string       val s_exit_status : string       val s_environment : string       val s_environment_intro : Cmdliner.Manpage.block       val s_files : string       val s_bugs : string       val s_examples : string       val s_authors : string       val s_see_also : string       type format = [ `Auto | `Groff | `Pager | `Plain ]       val print :         ?errs:Format.formatter ->         ?subst:(string -> string option) ->         Cmdliner.Manpage.format ->         Format.formatter -> Cmdliner.Manpage.t -> unit     end   module Term :     sig       type +'a t       val const : '-> 'Cmdliner.Term.t       val pure : '-> 'Cmdliner.Term.t       val man_format : Cmdliner.Manpage.format Cmdliner.Term.t       val ( $ ) :         ('-> 'b) Cmdliner.Term.t ->         'Cmdliner.Term.t -> 'Cmdliner.Term.t       val app :         ('-> 'b) Cmdliner.Term.t ->         'Cmdliner.Term.t -> 'Cmdliner.Term.t       type 'a ret =           [ `Error of bool * string           | `Help of Cmdliner.Manpage.format * string option           | `Ok of 'a ]       val ret : 'Cmdliner.Term.ret Cmdliner.Term.t -> 'Cmdliner.Term.t       val term_result :         ?usage:bool ->         ('a, [ `Msg of string ]) Result.result Cmdliner.Term.t ->         'Cmdliner.Term.t       val cli_parse_result :         ('a, [ `Msg of string ]) Result.result Cmdliner.Term.t ->         'Cmdliner.Term.t       val main_name : string Cmdliner.Term.t       val choice_names : string list Cmdliner.Term.t       type exit_info       val exit_info :         ?docs:string ->         ?doc:string -> ?max:int -> int -> Cmdliner.Term.exit_info       val default_exits : Cmdliner.Term.exit_info list       val default_error_exits : Cmdliner.Term.exit_info list       type env_info       val env_info :         ?docs:string -> ?doc:string -> string -> Cmdliner.Term.env_info       type info       val info :         ?man_xrefs:Cmdliner.Manpage.xref list ->         ?man:Cmdliner.Manpage.block list ->         ?envs:Cmdliner.Term.env_info list ->         ?exits:Cmdliner.Term.exit_info list ->         ?sdocs:string ->         ?docs:string ->         ?doc:string -> ?version:string -> string -> Cmdliner.Term.info       val name : Cmdliner.Term.info -> string       type 'a result =           [ `Error of [ `Exn | `Parse | `Term ]           | `Help           | `Ok of 'a           | `Version ]       val eval :         ?help:Format.formatter ->         ?err:Format.formatter ->         ?catch:bool ->         ?env:(string -> string option) ->         ?argv:string array ->         'Cmdliner.Term.t * Cmdliner.Term.info -> 'Cmdliner.Term.result       val eval_choice :         ?help:Format.formatter ->         ?err:Format.formatter ->         ?catch:bool ->         ?env:(string -> string option) ->         ?argv:string array ->         'Cmdliner.Term.t * Cmdliner.Term.info ->         ('Cmdliner.Term.t * Cmdliner.Term.info) list ->         'Cmdliner.Term.result       val eval_peek_opts :         ?version_opt:bool ->         ?env:(string -> string option) ->         ?argv:string array ->         'Cmdliner.Term.t -> 'a option * 'Cmdliner.Term.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 -> 'Cmdliner.Term.result -> int       val exit_status_of_status_result :         ?term_err:int -> int Cmdliner.Term.result -> int       val exit : ?term_err:int -> 'Cmdliner.Term.result -> unit       val exit_status : ?term_err:int -> int Cmdliner.Term.result -> unit     end   module Arg :     sig       type 'parser = string -> [ `Error of string | `Ok of 'a ]       type 'a printer = Format.formatter -> '-> unit       type 'a conv = 'Cmdliner.Arg.parser * 'Cmdliner.Arg.printer       type 'a converter = 'Cmdliner.Arg.conv       val conv :         ?docv:string ->         (string -> ('a, [ `Msg of string ]) Result.result) *         'Cmdliner.Arg.printer -> 'Cmdliner.Arg.conv       val pconv :         ?docv:string ->         'Cmdliner.Arg.parser * 'Cmdliner.Arg.printer ->         'Cmdliner.Arg.conv       val conv_parser :         'Cmdliner.Arg.conv ->         string -> ('a, [ `Msg of string ]) Result.result       val conv_printer : 'Cmdliner.Arg.conv -> 'Cmdliner.Arg.printer       val conv_docv : 'Cmdliner.Arg.conv -> string       val parser_of_kind_of_string :         kind:string ->         (string -> 'a option) ->         string -> ('a, [ `Msg of string ]) Result.result       val some :         ?none:string -> 'Cmdliner.Arg.conv -> 'a option Cmdliner.Arg.conv       type env = Cmdliner.Term.env_info       val env_var : ?docs:string -> ?doc:string -> string -> Cmdliner.Arg.env       type 'a t       type info       val info :         ?docs:string ->         ?docv:string ->         ?doc:string ->         ?env:Cmdliner.Arg.env -> string list -> Cmdliner.Arg.info       val ( & ) : ('-> 'b) -> '-> 'b       val flag : Cmdliner.Arg.info -> bool Cmdliner.Arg.t       val flag_all : Cmdliner.Arg.info -> bool list Cmdliner.Arg.t       val vflag : '-> ('a * Cmdliner.Arg.info) list -> 'Cmdliner.Arg.t       val vflag_all :         'a list -> ('a * Cmdliner.Arg.info) list -> 'a list Cmdliner.Arg.t       val opt :         ?vopt:'->         'Cmdliner.Arg.conv -> '-> Cmdliner.Arg.info -> 'Cmdliner.Arg.t       val opt_all :         ?vopt:'->         'Cmdliner.Arg.conv ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val pos :         ?rev:bool ->         int ->         'Cmdliner.Arg.conv -> '-> Cmdliner.Arg.info -> 'Cmdliner.Arg.t       val pos_all :         'Cmdliner.Arg.conv ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val pos_left :         ?rev:bool ->         int ->         'Cmdliner.Arg.conv ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val pos_right :         ?rev:bool ->         int ->         'Cmdliner.Arg.conv ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val value : 'Cmdliner.Arg.t -> 'Cmdliner.Term.t       val required : 'a option Cmdliner.Arg.t -> 'Cmdliner.Term.t       val non_empty : 'a list Cmdliner.Arg.t -> 'a list Cmdliner.Term.t       val last : 'a list Cmdliner.Arg.t -> 'Cmdliner.Term.t       val man_format : Cmdliner.Manpage.format Cmdliner.Term.t       val bool : bool Cmdliner.Arg.conv       val char : char Cmdliner.Arg.conv       val int : int Cmdliner.Arg.conv       val nativeint : nativeint Cmdliner.Arg.conv       val int32 : int32 Cmdliner.Arg.conv       val int64 : int64 Cmdliner.Arg.conv       val float : float Cmdliner.Arg.conv       val string : string Cmdliner.Arg.conv       val enum : (string * 'a) list -> 'Cmdliner.Arg.conv       val file : string Cmdliner.Arg.conv       val dir : string Cmdliner.Arg.conv       val non_dir_file : string Cmdliner.Arg.conv       val list :         ?sep:char -> 'Cmdliner.Arg.conv -> 'a list Cmdliner.Arg.conv       val array :         ?sep:char -> 'Cmdliner.Arg.conv -> 'a array Cmdliner.Arg.conv       val pair :         ?sep:char ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv -> ('a * 'b) Cmdliner.Arg.conv       val t2 :         ?sep:char ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv -> ('a * 'b) Cmdliner.Arg.conv       val t3 :         ?sep:char ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv -> ('a * 'b * 'c) Cmdliner.Arg.conv       val t4 :         ?sep:char ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv ->         'Cmdliner.Arg.conv -> ('a * 'b * 'c * 'd) Cmdliner.Arg.conv       val doc_quote : string -> string       val doc_alts : ?quoted:bool -> string list -> string       val doc_alts_enum : ?quoted:bool -> (string * 'a) list -> string     end end