`sig exception Option_conflict of string type t type group val make : ?usage:string -> ?description:string -> ?version:string -> ?suppress_usage:bool -> ?suppress_help:bool -> ?only_leading_opts:bool -> ?prog:string -> ?formatter:BatOptParse.Formatter.t -> unit -> BatOptParse.OptParser.t val add : BatOptParse.OptParser.t -> ?group:BatOptParse.OptParser.group -> ?help:string -> ?hide:bool -> ?short_name:char -> ?short_names:char list -> ?long_name:string -> ?long_names:string list -> 'a BatOptParse.Opt.t -> unit val add_group : BatOptParse.OptParser.t -> ?parent:BatOptParse.OptParser.group -> ?description:string -> string -> BatOptParse.OptParser.group val error : BatOptParse.OptParser.t -> ?chn:Pervasives.out_channel -> ?status:int -> string -> unit val usage : BatOptParse.OptParser.t -> ?chn:Pervasives.out_channel -> unit -> unit val parse : BatOptParse.OptParser.t -> ?first:int -> ?last:int -> string array -> string list val parse_argv : BatOptParse.OptParser.t -> string list end`