sig
  type 'a formatter = Format.formatter -> '-> unit
  val pp : Format.formatter -> ('a, Format.formatter, unit) format -> 'a
  val rpp : ('a, Format.formatter, unit) format -> Format.formatter -> 'a
  val nop : 'a formatter
  val pp_cut : unit formatter
  val pp_sp : unit formatter
  val pp_str : string formatter
  val pp_int : int formatter
  val pp_bool : bool formatter
  val pp_larrow : unit formatter
  val pp_rarrow : unit formatter
  val pp_opt : ?pp_none:unit formatter -> 'a formatter -> 'a option formatter
  val pp_list : ?pp_sep:unit formatter -> 'a formatter -> 'a list formatter
  val pp_text : string formatter
  val pp_lines : string formatter
  val pp_doomed : string formatter
  val pp_if_utf8 : 'a formatter -> 'a formatter -> 'a formatter
  type style =
      [ `Black
      | `Blue
      | `Bold
      | `Cyan
      | `Green
      | `Magenta
      | `None
      | `Red
      | `Underline
      | `White
      | `Yellow ]
  val pp_styled : style -> 'a formatter -> 'a formatter
  val pp_styled_str : style -> string formatter
  val utf8_enabled : unit -> bool
  val set_utf8_enabled : bool -> unit
  type style_tags = [ `Ansi | `None ]
  val style_tags : unit -> Assemblage.Private.Fmt.style_tags
  val set_style_tags : Assemblage.Private.Fmt.style_tags -> unit
end