sig
  type doc
  val nil : Flx_cil_pretty.doc
  val ( ++ ) : Flx_cil_pretty.doc -> Flx_cil_pretty.doc -> Flx_cil_pretty.doc
  val text : string -> Flx_cil_pretty.doc
  val num : int -> Flx_cil_pretty.doc
  val real : float -> Flx_cil_pretty.doc
  val chr : char -> Flx_cil_pretty.doc
  val line : Flx_cil_pretty.doc
  val leftflush : Flx_cil_pretty.doc
  val break : Flx_cil_pretty.doc
  val align : Flx_cil_pretty.doc
  val unalign : Flx_cil_pretty.doc
  val mark : Flx_cil_pretty.doc
  val unmark : Flx_cil_pretty.doc
  val indent : int -> Flx_cil_pretty.doc -> Flx_cil_pretty.doc
  val markup : Flx_cil_pretty.doc -> Flx_cil_pretty.doc
  val seq :
    sep:Flx_cil_pretty.doc ->
    doit:('-> Flx_cil_pretty.doc) -> elements:'a list -> Flx_cil_pretty.doc
  val docList :
    Flx_cil_pretty.doc ->
    ('-> Flx_cil_pretty.doc) -> unit -> 'a list -> Flx_cil_pretty.doc
  val d_list :
    string ->
    (unit -> '-> Flx_cil_pretty.doc) ->
    unit -> 'a list -> Flx_cil_pretty.doc
  val docArray :
    Flx_cil_pretty.doc ->
    (int -> '-> Flx_cil_pretty.doc) ->
    unit -> 'a array -> Flx_cil_pretty.doc
  val docOpt :
    (unit -> '-> Flx_cil_pretty.doc) ->
    unit -> 'a option -> Flx_cil_pretty.doc
  val insert : unit -> Flx_cil_pretty.doc -> Flx_cil_pretty.doc
  val dprintf : ('a, unit, Flx_cil_pretty.doc) Pervasives.format -> 'a
  val fprint :
    Pervasives.out_channel -> width:int -> Flx_cil_pretty.doc -> unit
  val sprint : width:int -> Flx_cil_pretty.doc -> string
  val fprintf :
    Pervasives.out_channel ->
    ('a, unit, Flx_cil_pretty.doc) Pervasives.format -> 'a
  val printf : ('a, unit, Flx_cil_pretty.doc) Pervasives.format -> 'a
  val eprintf : ('a, unit, Flx_cil_pretty.doc) Pervasives.format -> 'a
  val gprintf :
    (Flx_cil_pretty.doc -> Flx_cil_pretty.doc) ->
    ('a, unit, Flx_cil_pretty.doc) Pervasives.format -> 'a
  val withPrintDepth : int -> (unit -> unit) -> unit
  val printDepth : int Pervasives.ref
  val printIndent : bool Pervasives.ref
  val fastMode : bool Pervasives.ref
  val flushOften : bool Pervasives.ref
  val countNewLines : int Pervasives.ref
end