sig
  type 'a sequence = ('-> unit) -> unit
  type t = Format.formatter
  type 'a printer = CCFormat.t -> '-> unit
  val silent : 'CCFormat.printer
  val unit : unit CCFormat.printer
  val int : int CCFormat.printer
  val string : string CCFormat.printer
  val bool : bool CCFormat.printer
  val float3 : float CCFormat.printer
  val float : float CCFormat.printer
  val char : char CCFormat.printer
  val int32 : int32 CCFormat.printer
  val int64 : int64 CCFormat.printer
  val nativeint : nativeint CCFormat.printer
  val string_quoted : string CCFormat.printer
  val list :
    ?start:string ->
    ?stop:string ->
    ?sep:string -> 'CCFormat.printer -> 'a list CCFormat.printer
  val array :
    ?start:string ->
    ?stop:string ->
    ?sep:string -> 'CCFormat.printer -> 'a array CCFormat.printer
  val arrayi :
    ?start:string ->
    ?stop:string ->
    ?sep:string -> (int * 'a) CCFormat.printer -> 'a array CCFormat.printer
  val seq :
    ?start:string ->
    ?stop:string ->
    ?sep:string ->
    'CCFormat.printer -> 'CCFormat.sequence CCFormat.printer
  val opt : 'CCFormat.printer -> 'a option CCFormat.printer
  val pair :
    ?sep:string ->
    'CCFormat.printer -> 'CCFormat.printer -> ('a * 'b) CCFormat.printer
  val triple :
    ?sep:string ->
    'CCFormat.printer ->
    'CCFormat.printer ->
    'CCFormat.printer -> ('a * 'b * 'c) CCFormat.printer
  val quad :
    ?sep:string ->
    'CCFormat.printer ->
    'CCFormat.printer ->
    'CCFormat.printer ->
    'CCFormat.printer -> ('a * 'b * 'c * 'd) CCFormat.printer
  val within : string -> string -> 'CCFormat.printer -> 'CCFormat.printer
  val map : ('-> 'b) -> 'CCFormat.printer -> 'CCFormat.printer
  val vbox : ?i:int -> 'CCFormat.printer -> 'CCFormat.printer
  val hvbox : ?i:int -> 'CCFormat.printer -> 'CCFormat.printer
  val hovbox : ?i:int -> 'CCFormat.printer -> 'CCFormat.printer
  val hbox : 'CCFormat.printer -> 'CCFormat.printer
  val set_color_tag_handling : CCFormat.t -> unit
  val set_color_default : bool -> unit
  val with_color : string -> 'CCFormat.printer -> 'CCFormat.printer
  val with_colorf :
    string ->
    CCFormat.t -> ('a, CCFormat.t, unit, unit) Pervasives.format4 -> 'a
  val with_color_sf :
    string -> ('a, CCFormat.t, unit, string) Pervasives.format4 -> 'a
  val output : CCFormat.t -> 'CCFormat.printer -> '-> unit
  val to_string : 'CCFormat.printer -> '-> string
  val stdout : CCFormat.t
  val stderr : CCFormat.t
  val sprintf : ('a, CCFormat.t, unit, string) Pervasives.format4 -> 'a
  val sprintf_no_color :
    ('a, CCFormat.t, unit, string) Pervasives.format4 -> 'a
  val sprintf_dyn_color :
    colors:bool -> ('a, CCFormat.t, unit, string) Pervasives.format4 -> 'a
  val fprintf : CCFormat.t -> ('a, CCFormat.t, unit) Pervasives.format -> 'a
  val fprintf_dyn_color :
    colors:bool ->
    CCFormat.t -> ('a, CCFormat.t, unit) Pervasives.format -> 'a
  val ksprintf :
    f:(string -> 'b) ->
    ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
  val to_file :
    string -> ('a, CCFormat.t, unit, unit) Pervasives.format4 -> 'a
  module Dump :
    sig
      type 'a t = 'CCFormat.printer
      val unit : unit CCFormat.Dump.t
      val int : int CCFormat.Dump.t
      val string : string CCFormat.Dump.t
      val bool : bool CCFormat.Dump.t
      val float : float CCFormat.Dump.t
      val char : char CCFormat.Dump.t
      val int32 : int32 CCFormat.Dump.t
      val int64 : int64 CCFormat.Dump.t
      val nativeint : nativeint CCFormat.Dump.t
      val list : 'CCFormat.Dump.t -> 'a list CCFormat.Dump.t
      val array : 'CCFormat.Dump.t -> 'a array CCFormat.Dump.t
      val option : 'CCFormat.Dump.t -> 'a option CCFormat.Dump.t
      val pair :
        'CCFormat.Dump.t -> 'CCFormat.Dump.t -> ('a * 'b) CCFormat.Dump.t
      val triple :
        'CCFormat.Dump.t ->
        'CCFormat.Dump.t ->
        'CCFormat.Dump.t -> ('a * 'b * 'c) CCFormat.Dump.t
      val quad :
        'CCFormat.Dump.t ->
        'CCFormat.Dump.t ->
        'CCFormat.Dump.t ->
        'CCFormat.Dump.t -> ('a * 'b * 'c * 'd) CCFormat.Dump.t
    end
end