sig   type t = SmartPrint.t   type ('a, 'b) result   val empty : Docout.LOGGER.t   val string : string -> Docout.LOGGER.t   val sub_string : string -> int -> int -> Docout.LOGGER.t   val ( !^ ) : string -> Docout.LOGGER.t   val space : Docout.LOGGER.t   val newline : Docout.LOGGER.t   val append : Docout.LOGGER.t -> Docout.LOGGER.t -> Docout.LOGGER.t   val ( ^-^ ) : Docout.LOGGER.t -> Docout.LOGGER.t -> Docout.LOGGER.t   val concat_with_space :     Docout.LOGGER.t -> Docout.LOGGER.t -> Docout.LOGGER.t   val ( ^^ ) : Docout.LOGGER.t -> Docout.LOGGER.t -> Docout.LOGGER.t   val words : string -> Docout.LOGGER.t   val lines : string -> Docout.LOGGER.t   val indent : Docout.LOGGER.t -> Docout.LOGGER.t   val nest : Docout.LOGGER.t -> Docout.LOGGER.t   val nest_all : Docout.LOGGER.t -> Docout.LOGGER.t   val group : Docout.LOGGER.t -> Docout.LOGGER.t   val group_all : Docout.LOGGER.t -> Docout.LOGGER.t   val parens : Docout.LOGGER.t -> Docout.LOGGER.t   val braces : Docout.LOGGER.t -> Docout.LOGGER.t   val brakets : Docout.LOGGER.t -> Docout.LOGGER.t   val angle_brakets : Docout.LOGGER.t -> Docout.LOGGER.t   val single_quotes : Docout.LOGGER.t -> Docout.LOGGER.t   val double_quotes : Docout.LOGGER.t -> Docout.LOGGER.t   val concat : Docout.LOGGER.t list -> Docout.LOGGER.t   val separate : Docout.LOGGER.t -> Docout.LOGGER.t list -> Docout.LOGGER.t   module OCaml :     sig       val unit : unit -> Docout.LOGGER.t       val bool : bool -> Docout.LOGGER.t       val int : int -> Docout.LOGGER.t       val float : float -> Docout.LOGGER.t       val string : string -> Docout.LOGGER.t       val option : ('-> Docout.LOGGER.t) -> 'a option -> Docout.LOGGER.t       val list : ('-> Docout.LOGGER.t) -> 'a list -> Docout.LOGGER.t       val tuple : Docout.LOGGER.t list -> Docout.LOGGER.t     end   val to_something :     int ->     int ->     (char -> unit) ->     (string -> unit) ->     (string -> int -> int -> unit) -> Docout.LOGGER.t -> unit   val to_buffer : int -> int -> Buffer.t -> Docout.LOGGER.t -> unit   val to_out_channel :     int -> int -> Pervasives.out_channel -> Docout.LOGGER.t -> unit   val to_stdout : int -> int -> Docout.LOGGER.t -> unit   val ( % ) : Docout.LOGGER.t -> Docout.LOGGER.t -> Docout.LOGGER.t   val s : string -> Docout.LOGGER.t   val sp : Docout.LOGGER.t   val sf : ('a, unit, string, Docout.LOGGER.t) Pervasives.format4 -> 'a   val i : int -> Docout.LOGGER.t   val f : float -> Docout.LOGGER.t   val n : Docout.LOGGER.t   val verbatim : string -> Docout.LOGGER.t   val exn : exn -> Docout.LOGGER.t   val option : f:('-> Docout.LOGGER.t) -> 'a option -> Docout.LOGGER.t   val escape : string -> Docout.LOGGER.t   val color : string -> Docout.LOGGER.t -> Docout.LOGGER.t   val bold_red : Docout.LOGGER.t -> Docout.LOGGER.t   val bold_yellow : Docout.LOGGER.t -> Docout.LOGGER.t   val bold_green : Docout.LOGGER.t -> Docout.LOGGER.t   val greyish : Docout.LOGGER.t -> Docout.LOGGER.t   val to_string : line_width:int -> indent:int -> SmartPrint.t -> string   val to_list :     line_width:int ->     indent:int ->     SmartPrint.t ->     [> `Char of char | `String of string | `Sub_string of string * int * int ]     list   val print :     [< `Debug of int | `Error | `Normal | `Warning ] ->     Docout.LOGGER.t -> (unit, 'a) Docout.LOGGER.result   val ( @ ) :     Docout.LOGGER.t ->     [< `Debug of int | `Error | `Normal | `Warning ] ->     (unit, 'a) Docout.LOGGER.result   val normal : [> `Normal ]   val error : [> `Error ]   val warning : [> `Warning ]   val verbose : [> `Debug of int ]   val very_verbose : [> `Debug of int ] end