sig   module Manpage :     sig       type block =           [ `I of string * string           | `Noblank           | `P of string           | `Pre of string           | `S of string ]       type title = string * int * string * string * string       type t = Cmdliner.Manpage.title * Cmdliner.Manpage.block list       val print :         ?subst:(string -> string) ->         [ `Groff | `Pager | `Plain ] ->         Format.formatter -> Cmdliner.Manpage.t -> unit     end   module Term :     sig       type +'a t       val const : '-> 'Cmdliner.Term.t       val pure : '-> '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 [ `Groff | `Pager | `Plain ] * string option           | `Ok of 'a ]       val ret : 'Cmdliner.Term.ret Cmdliner.Term.t -> 'Cmdliner.Term.t       val main_name : string Cmdliner.Term.t       val choice_names : string list Cmdliner.Term.t       val man_format : [ `Groff | `Pager | `Plain ] Cmdliner.Term.t       type info       val info :         ?sdocs:string ->         ?man:Cmdliner.Manpage.block list ->         ?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     end   module Arg :     sig       type 'parser = string -> [ `Error of string | `Ok of 'a ]       type 'a printer = Format.formatter -> '-> unit       type 'a converter = 'Cmdliner.Arg.parser * 'Cmdliner.Arg.printer       val some :         ?none:string ->         'Cmdliner.Arg.converter -> 'a option Cmdliner.Arg.converter       type env       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.converter ->         '-> Cmdliner.Arg.info -> 'Cmdliner.Arg.t       val opt_all :         ?vopt:'->         'Cmdliner.Arg.converter ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val pos :         ?rev:bool ->         int ->         'Cmdliner.Arg.converter ->         '-> Cmdliner.Arg.info -> 'Cmdliner.Arg.t       val pos_all :         'Cmdliner.Arg.converter ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val pos_left :         ?rev:bool ->         int ->         'Cmdliner.Arg.converter ->         'a list -> Cmdliner.Arg.info -> 'a list Cmdliner.Arg.t       val pos_right :         ?rev:bool ->         int ->         'Cmdliner.Arg.converter ->         '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 bool : bool Cmdliner.Arg.converter       val char : char Cmdliner.Arg.converter       val int : int Cmdliner.Arg.converter       val nativeint : nativeint Cmdliner.Arg.converter       val int32 : int32 Cmdliner.Arg.converter       val int64 : int64 Cmdliner.Arg.converter       val float : float Cmdliner.Arg.converter       val string : string Cmdliner.Arg.converter       val enum : (string * 'a) list -> 'Cmdliner.Arg.converter       val file : string Cmdliner.Arg.converter       val dir : string Cmdliner.Arg.converter       val non_dir_file : string Cmdliner.Arg.converter       val list :         ?sep:char ->         'Cmdliner.Arg.converter -> 'a list Cmdliner.Arg.converter       val array :         ?sep:char ->         'Cmdliner.Arg.converter -> 'a array Cmdliner.Arg.converter       val pair :         ?sep:char ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter -> ('a * 'b) Cmdliner.Arg.converter       val t2 :         ?sep:char ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter -> ('a * 'b) Cmdliner.Arg.converter       val t3 :         ?sep:char ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter -> ('a * 'b * 'c) Cmdliner.Arg.converter       val t4 :         ?sep:char ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter ->         'Cmdliner.Arg.converter ->         ('a * 'b * 'c * 'd) Cmdliner.Arg.converter       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