sig
  type block_type =
      Pp_hbox
    | Pp_vbox
    | Pp_hvbox
    | Pp_hovbox
    | Pp_box
    | Pp_fits
  type formatting =
      Open_box of string * Pervasives.CamlinternalFormatBasics.block_type *
        int
    | Close_box
    | Open_tag of string * string
    | Close_tag
    | Break of string * int * int
    | FFlush
    | Force_newline
    | Flush_newline
    | Magic_size of string * int
    | Escaped_at
    | Escaped_percent
    | Scan_indic of char
  type padty = Left | Right | Zeros
  type int_conv =
      Int_d
    | Int_pd
    | Int_sd
    | Int_i
    | Int_pi
    | Int_si
    | Int_x
    | Int_Cx
    | Int_X
    | Int_CX
    | Int_o
    | Int_Co
    | Int_u
  type float_conv =
      Float_f
    | Float_pf
    | Float_sf
    | Float_e
    | Float_pe
    | Float_se
    | Float_E
    | Float_pE
    | Float_sE
    | Float_g
    | Float_pg
    | Float_sg
    | Float_G
    | Float_pG
    | Float_sG
    | Float_F
  type char_set = string
  type counter = Line_counter | Char_counter | Token_counter
  type ('a, 'b) padding =
      No_padding : ('a, 'a) Pervasives.CamlinternalFormatBasics.padding
    | Lit_padding : Pervasives.CamlinternalFormatBasics.padty *
        int -> ('a, 'a) Pervasives.CamlinternalFormatBasics.padding
    | Arg_padding :
        Pervasives.CamlinternalFormatBasics.padty -> (int -> 'a, 'a)
                                                     Pervasives.CamlinternalFormatBasics.padding
  type pad_option = int option
  type ('a, 'b) precision =
      No_precision : ('a, 'a) Pervasives.CamlinternalFormatBasics.precision
    | Lit_precision :
        int -> ('a, 'a) Pervasives.CamlinternalFormatBasics.precision
    | Arg_precision :
        (int -> 'a, 'a) Pervasives.CamlinternalFormatBasics.precision
  type prec_option = int option
  type ('d1, 'e1, 'd2, 'e2) reader_nb_unifier =
      Zero_reader :
        ('d1, 'd1, 'd2, 'd2)
        Pervasives.CamlinternalFormatBasics.reader_nb_unifier
    | Succ_reader :
        ('d1, 'e1, 'd2, 'e2)
        Pervasives.CamlinternalFormatBasics.reader_nb_unifier -> ('-> 'd1,
                                                                  'e1,
                                                                  '-> 'd2,
                                                                  'e2)
                                                                 Pervasives.CamlinternalFormatBasics.reader_nb_unifier
  type ('a, 'b, 'c, 'd, 'e, 'f) fmtty =
      Char_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (char -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | String_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (string -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Int_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (int -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Int32_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (int32 -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Nativeint_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (nativeint -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Int64_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (int64 -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Float_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (float -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Bool_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (bool -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Format_arg_ty :
        ('g, 'h, 'i, 'j, 'k, 'l) Pervasives.CamlinternalFormatBasics.fmtty *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (('g, 'h, 'i, 'j, 'k, 'l) Pervasives.CamlinternalFormatBasics.format6 ->
         'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Format_subst_ty :
        ('d1, 'q1, 'd2, 'q2)
        Pervasives.CamlinternalFormatBasics.reader_nb_unifier *
        ('x, 'b, 'c, 'd1, 'q1, 'u) Pervasives.CamlinternalFormatBasics.fmtty *
        ('u, 'b, 'c, 'q1, 'e1, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (('x, 'b, 'c, 'd2, 'q2, 'u)
         Pervasives.CamlinternalFormatBasics.format6 -> 'x, 'b, 'c, 'd1, 'e1,
         'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Alpha_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (('-> '-> 'c) -> '-> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Theta_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        (('-> 'c) -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Reader_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        ('-> 'a, 'b, 'c, ('-> 'x) -> 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | Ignored_reader_ty :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        ('a, 'b, 'c, ('-> 'x) -> 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmtty
    | End_of_fmtty :
        ('f, 'b, 'c, 'd, 'd, 'f) Pervasives.CamlinternalFormatBasics.fmtty
  and ('a, 'b, 'c, 'd, 'e, 'f) fmt =
      Char :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (char -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Caml_char :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (char -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | String :
        ('x, string -> 'a) Pervasives.CamlinternalFormatBasics.padding *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Caml_string :
        ('x, string -> 'a) Pervasives.CamlinternalFormatBasics.padding *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Int : Pervasives.CamlinternalFormatBasics.int_conv *
        ('x, 'y) Pervasives.CamlinternalFormatBasics.padding *
        ('y, int -> 'a) Pervasives.CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Int32 : Pervasives.CamlinternalFormatBasics.int_conv *
        ('x, 'y) Pervasives.CamlinternalFormatBasics.padding *
        ('y, int32 -> 'a) Pervasives.CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Nativeint : Pervasives.CamlinternalFormatBasics.int_conv *
        ('x, 'y) Pervasives.CamlinternalFormatBasics.padding *
        ('y, nativeint -> 'a) Pervasives.CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Int64 : Pervasives.CamlinternalFormatBasics.int_conv *
        ('x, 'y) Pervasives.CamlinternalFormatBasics.padding *
        ('y, int64 -> 'a) Pervasives.CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Float : Pervasives.CamlinternalFormatBasics.float_conv *
        ('x, 'y) Pervasives.CamlinternalFormatBasics.padding *
        ('y, float -> 'a) Pervasives.CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('x, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Bool :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (bool -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Flush :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | String_literal : string *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Char_literal : char *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Format_arg : Pervasives.CamlinternalFormatBasics.pad_option *
        ('g, 'h, 'i, 'j, 'k, 'l) Pervasives.CamlinternalFormatBasics.fmtty *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (('g, 'h, 'i, 'j, 'k, 'l) Pervasives.CamlinternalFormatBasics.format6 ->
         'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Format_subst : Pervasives.CamlinternalFormatBasics.pad_option *
        ('d1, 'q1, 'd2, 'q2)
        Pervasives.CamlinternalFormatBasics.reader_nb_unifier *
        ('x, 'b, 'c, 'd1, 'q1, 'u) Pervasives.CamlinternalFormatBasics.fmtty *
        ('u, 'b, 'c, 'q1, 'e1, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (('x, 'b, 'c, 'd2, 'q2, 'u)
         Pervasives.CamlinternalFormatBasics.format6 -> 'x, 'b, 'c, 'd1, 'e1,
         'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Alpha :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (('-> '-> 'c) -> '-> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Theta :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (('-> 'c) -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Formatting : Pervasives.CamlinternalFormatBasics.formatting *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | Reader :
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('-> 'a, 'b, 'c, ('-> 'x) -> 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Scan_char_set : Pervasives.CamlinternalFormatBasics.pad_option *
        Pervasives.CamlinternalFormatBasics.char_set *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (string -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Scan_get_counter : Pervasives.CamlinternalFormatBasics.counter *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        (int -> 'a, 'b, 'c, 'd, 'e, 'f)
        Pervasives.CamlinternalFormatBasics.fmt
    | Ignored_param :
        ('a, 'b, 'c, 'd, 'y, 'x) Pervasives.CamlinternalFormatBasics.ignored *
        ('x, 'b, 'c, 'y, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt -> 
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
    | End_of_format :
        ('f, 'b, 'c, 'e, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt
  and ('a, 'b, 'c, 'd, 'e, 'f) ignored =
      Ignored_char :
        ('a, 'b, 'c, 'd, 'd, 'a) Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_caml_char :
        ('a, 'b, 'c, 'd, 'd, 'a) Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_string :
        Pervasives.CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd,
                                                           'd, 'a)
                                                          Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_caml_string :
        Pervasives.CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd,
                                                           'd, 'a)
                                                          Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_int : Pervasives.CamlinternalFormatBasics.int_conv *
        Pervasives.CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd,
                                                           'd, 'a)
                                                          Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_int32 : Pervasives.CamlinternalFormatBasics.int_conv *
        Pervasives.CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd,
                                                           'd, 'a)
                                                          Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_nativeint : Pervasives.CamlinternalFormatBasics.int_conv *
        Pervasives.CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd,
                                                           'd, 'a)
                                                          Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_int64 : Pervasives.CamlinternalFormatBasics.int_conv *
        Pervasives.CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd,
                                                           'd, 'a)
                                                          Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_float : Pervasives.CamlinternalFormatBasics.pad_option *
        Pervasives.CamlinternalFormatBasics.prec_option -> ('a, 'b, 'c, 'd,
                                                            'd, 'a)
                                                           Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_bool :
        ('a, 'b, 'c, 'd, 'd, 'a) Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_format_arg : Pervasives.CamlinternalFormatBasics.pad_option *
        ('x, 'b, 'c, 'y, 'z, 't) Pervasives.CamlinternalFormatBasics.fmtty -> 
        ('a, 'b, 'c, 'd, 'd, 'a) Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_format_subst : Pervasives.CamlinternalFormatBasics.pad_option *
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty -> 
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_reader :
        ('a, 'b, 'c, ('-> 'x) -> 'd, 'd, 'a)
        Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_scan_char_set :
        Pervasives.CamlinternalFormatBasics.pad_option *
        Pervasives.CamlinternalFormatBasics.char_set -> ('a, 'b, 'c, 'd, 'd,
                                                         'a)
                                                        Pervasives.CamlinternalFormatBasics.ignored
    | Ignored_scan_get_counter :
        Pervasives.CamlinternalFormatBasics.counter -> ('a, 'b, 'c, 'd, 'd,
                                                        'a)
                                                       Pervasives.CamlinternalFormatBasics.ignored
  and ('a, 'b, 'c, 'd, 'e, 'f) format6 =
      Format of
        ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt *
        string
  val concat_fmtty :
    ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmtty ->
    ('f, 'b, 'c, 'e, 'g, 'h) Pervasives.CamlinternalFormatBasics.fmtty ->
    ('a, 'b, 'c, 'd, 'g, 'h) Pervasives.CamlinternalFormatBasics.fmtty
  val concat_fmt :
    ('a, 'b, 'c, 'd, 'e, 'f) Pervasives.CamlinternalFormatBasics.fmt ->
    ('f, 'b, 'c, 'e, 'g, 'h) Pervasives.CamlinternalFormatBasics.fmt ->
    ('a, 'b, 'c, 'd, 'g, 'h) Pervasives.CamlinternalFormatBasics.fmt
end