sig
  type ('a, 'b, 'c) t = ('a, 'b, 'c) Pervasives.format
  val printf : ('a, 'BatInnerIO.output, unit) BatPrintf.t -> 'a
  val eprintf : ('a, 'BatInnerIO.output, unit) BatPrintf.t -> 'a
  val sprintf : ('a, unit, string) BatPrintf.t -> 'a
  val sprintf2 :
    ('a, 'BatInnerIO.output, unit, string) Pervasives.format4 -> 'a
  val fprintf :
    'BatInnerIO.output ->
    ('b, 'BatInnerIO.output, unit) BatPrintf.t -> 'b
  val ifprintf : '-> ('b, 'BatInnerIO.output, unit) BatPrintf.t -> 'b
  val bprintf : Buffer.t -> ('a, Buffer.t, unit) BatPrintf.t -> 'a
  val bprintf2 :
    Buffer.t -> ('a, 'BatInnerIO.output, unit) BatPrintf.t -> 'a
  val kfprintf :
    ('BatInnerIO.output -> 'b) ->
    'BatInnerIO.output ->
    ('c, 'BatInnerIO.output, unit, 'b) Pervasives.format4 -> 'c
  val ksprintf :
    (string -> 'a) -> ('b, unit, string, 'a) Pervasives.format4 -> 'b
  val ksprintf2 :
    (string -> 'a) ->
    ('b, 'BatInnerIO.output, unit, 'a) Pervasives.format4 -> 'b
  val kbprintf :
    (Buffer.t -> 'a) ->
    Buffer.t -> ('b, Buffer.t, unit, 'a) Pervasives.format4 -> 'b
  val kbprintf2 :
    (Buffer.t -> 'a) ->
    Buffer.t -> ('b, 'BatInnerIO.output, unit, 'a) Pervasives.format4 -> 'b
  val kprintf :
    (string -> 'a) -> ('b, unit, string, 'a) Pervasives.format4 -> 'b
end