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