sig
  module Mode :
    sig
      type t = Mixfix | Prefix | Sexpr
      val to_string : Pretty.Mode.t -> string
      val of_string : string -> Pretty.Mode.t
    end
  val flag : Pretty.Mode.t Pervasives.ref
  type 'a printer = Format.formatter -> '-> unit
  val unit : unit Pretty.printer
  val string : string Pretty.printer
  val number : int Pretty.printer
  val option : 'Pretty.printer -> 'a option Pretty.printer
  val bool : bool Pretty.printer
  val three : Three.t Pretty.printer
  val list : 'Pretty.printer -> 'a list Pretty.printer
  val pair :
    'Pretty.printer -> 'Pretty.printer -> ('a * 'b) Pretty.printer
  val triple :
    'Pretty.printer ->
    'Pretty.printer -> 'Pretty.printer -> ('a * 'b * 'c) Pretty.printer
  val infix :
    'Pretty.printer ->
    string -> 'Pretty.printer -> ('a * 'b) Pretty.printer
  val mixfix :
    string ->
    'Pretty.printer ->
    string ->
    'Pretty.printer ->
    string -> 'Pretty.printer -> string -> ('a * 'b * 'c) Pretty.printer
  val post : 'Pretty.printer -> ('a * string) Pretty.printer
  val infixl : 'Pretty.printer -> string -> 'a list Pretty.printer
  val apply : 'Pretty.printer -> (string * 'a list) Pretty.printer
  val set : 'Pretty.printer -> 'a list Pretty.printer
  val map :
    'Pretty.printer -> 'Pretty.printer -> ('a * 'b) list Pretty.printer
  val to_stdout : 'Pretty.printer -> '-> unit
  val to_stderr : 'Pretty.printer -> '-> unit
  val to_string : 'Pretty.printer -> '-> string
end