sig
  val fprintf : out_channel -> ('r, out_channel, unit) format -> 'r
  val printf : ('r, out_channel, unit) format -> 'r
  val eprintf : ('r, out_channel, unit) format -> 'r
  val ifprintf : '-> ('r, 'a, unit) format -> 'r
  val sprintf : ('r, unit, string) format -> 'r
  val bprintf : Buffer.t -> ('r, Buffer.t, unit) format -> 'r
  val kfprintf :
    (out_channel -> 'a) ->
    out_channel -> ('r, out_channel, unit, 'a) format4 -> 'r
  val ksprintf : (string -> 'a) -> ('r, unit, string, 'a) format4 -> 'r
  val kbprintf :
    (Buffer.t -> 'a) -> Buffer.t -> ('r, Buffer.t, unit, 'a) format4 -> 'r
  val failwithf : ('r, unit, string, unit -> 'a) format4 -> 'r
  val invalid_argf : ('r, unit, string, unit -> 'a) format4 -> 'r
  val exitf : ('r, unit, string, unit -> 'a) format4 -> 'r
end