sig
  type t = {
    indent : unit -> unit;
    dedent : unit -> unit;
    format_usage : string -> string;
    format_heading : string -> string;
    format_description : string -> string;
    format_option :
      char list * string list -> string list -> string option -> string;
  }
  val indented_formatter :
    ?level:int Pervasives.ref ->
    ?indent:int Pervasives.ref ->
    ?indent_increment:int ->
    ?max_help_position:int ->
    ?width:int -> ?short_first:bool -> unit -> BatOptParse.Formatter.t
  val titled_formatter :
    ?level:int Pervasives.ref ->
    ?indent:int Pervasives.ref ->
    ?indent_increment:int ->
    ?max_help_position:int ->
    ?width:int -> ?short_first:bool -> unit -> BatOptParse.Formatter.t
  val wrap :
    ?initial_indent:int ->
    ?subsequent_indent:int -> string -> int -> string list
  val fill :
    ?initial_indent:int -> ?subsequent_indent:int -> string -> int -> string
end