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