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 -> '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