sig   type wrap =       [ `Always_wrap       | `Force_breaks       | `Force_breaks_rec       | `Never_wrap       | `No_breaks       | `Wrap_atoms ]   type label_break = [ `Always | `Always_rec | `Auto | `Never ]   type style_name = string   type style = { tag_open : string; tag_close : string; }   type atom_param = { atom_style : Easy_format.style_name option; }   val atom : Easy_format.atom_param   type list_param = {     space_after_opening : bool;     space_after_separator : bool;     space_before_separator : bool;     separators_stick_left : bool;     space_before_closing : bool;     stick_to_label : bool;     align_closing : bool;     wrap_body : Easy_format.wrap;     indent_body : int;     list_style : Easy_format.style_name option;     opening_style : Easy_format.style_name option;     body_style : Easy_format.style_name option;     separator_style : Easy_format.style_name option;     closing_style : Easy_format.style_name option;   }   val list : Easy_format.list_param   type label_param = {     label_break : Easy_format.label_break;     space_after_label : bool;     indent_after_label : int;     label_style : Easy_format.style_name option;   }   val label : Easy_format.label_param   type t =       Atom of string * Easy_format.atom_param     | List of (string * string * string * Easy_format.list_param) *         Easy_format.t list     | Label of (Easy_format.t * Easy_format.label_param) * Easy_format.t     | Custom of (Format.formatter -> unit)   type escape =       [ `Escape of           (string -> int -> int -> unit) -> string -> int -> int -> unit       | `Escape_string of string -> string       | `None ]   type styles = (Easy_format.style_name * Easy_format.style) list   module Pretty :     sig       val define_styles :         Format.formatter -> Easy_format.escape -> Easy_format.styles -> unit       val to_formatter : Format.formatter -> Easy_format.t -> unit       val to_buffer :         ?escape:Easy_format.escape ->         ?styles:Easy_format.styles -> Buffer.t -> Easy_format.t -> unit       val to_string :         ?escape:Easy_format.escape ->         ?styles:Easy_format.styles -> Easy_format.t -> string       val to_channel :         ?escape:Easy_format.escape ->         ?styles:Easy_format.styles ->         Pervasives.out_channel -> Easy_format.t -> unit       val to_stdout :         ?escape:Easy_format.escape ->         ?styles:Easy_format.styles -> Easy_format.t -> unit       val to_stderr :         ?escape:Easy_format.escape ->         ?styles:Easy_format.styles -> Easy_format.t -> unit     end   module Compact :     sig       val to_buffer : Buffer.t -> Easy_format.t -> unit       val to_string : Easy_format.t -> string       val to_channel : Pervasives.out_channel -> Easy_format.t -> unit       val to_stdout : Easy_format.t -> unit       val to_stderr : Easy_format.t -> unit       val to_formatter : Format.formatter -> Easy_format.t -> unit     end   module Param :     sig       val list_true : Easy_format.list_param       val label_true : Easy_format.label_param       val list_false : Easy_format.list_param       val label_false : Easy_format.label_param     end end