sig
  val fprintf :
    Pervasives.out_channel ->
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val printf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val eprintf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val sprintf : ('a, unit, string) Pervasives.format -> 'a
  val bprintf : Buffer.t -> ('a, Buffer.t, unit) Pervasives.format -> 'a
  val kfprintf :
    (Pervasives.out_channel -> 'a) ->
    Pervasives.out_channel ->
    ('b, Pervasives.out_channel, unit, 'a) format4 -> 'b
  val ksprintf : (string -> 'a) -> ('b, unit, string, 'a) format4 -> 'b
  val kprintf : (string -> 'a) -> ('b, unit, string, 'a) format4 -> 'b
  type index
  external index_of_int : int -> Printf.index = "%identity"
  val scan_format :
    string ->
    'a array ->
    Printf.index ->
    int ->
    (Printf.index -> string -> int -> 'b) ->
    (Printf.index -> '-> '-> int -> 'b) ->
    (Printf.index -> '-> int -> 'b) ->
    (Printf.index -> int -> 'b) ->
    (Printf.index -> ('f, 'g, 'h, 'i) format4 -> int -> 'b) -> 'b
  val sub_format :
    (string -> int) ->
    (string -> int -> char -> int) -> char -> string -> int -> int
  val summarize_format_type : string -> string
  val kapr : (string -> Obj.t array -> 'a) -> string -> 'a
end