sig
  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) CamlinternalFormatBasics.padding
    | Lit_padding : CamlinternalFormatBasics.padty *
        int -> ('a, 'a) CamlinternalFormatBasics.padding
    | Arg_padding :
        CamlinternalFormatBasics.padty -> (int -> 'a, 'a)
                                          CamlinternalFormatBasics.padding
  type pad_option = int option
  type ('a, 'b) precision =
      No_precision : ('a, 'a) CamlinternalFormatBasics.precision
    | Lit_precision : int -> ('a, 'a) CamlinternalFormatBasics.precision
    | Arg_precision : (int -> 'a, 'a) CamlinternalFormatBasics.precision
  type prec_option = int option
  type block_type =
      Pp_hbox
    | Pp_vbox
    | Pp_hvbox
    | Pp_hovbox
    | Pp_box
    | Pp_fits
  type formatting_lit =
      Close_box
    | 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 ('a, 'b, 'c, 'd, 'e, 'f) formatting_gen =
      Open_tag :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.format6 -> 
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.formatting_gen
    | Open_box :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.format6 -> 
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.formatting_gen
  and ('a, 'b, 'c, 'd, 'e, 'f) fmtty =
      ('a, 'b, 'c, 'd, 'e, 'f, 'a, 'b, 'c, 'd, 'e, 'f) fmtty_rel
  and ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2) fmtty_rel =
      Char_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (char -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, char -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | String_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (string -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, string -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Int_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (int -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, int -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Int32_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (int32 -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, int32 -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Nativeint_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (nativeint -> 'a1, 'b1, 'c1,
                                               'd1, 'e1, 'f1,
                                               nativeint -> 'a2, 'b2, 'c2,
                                               'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Int64_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (int64 -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, int64 -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Float_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (float -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, float -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Bool_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (bool -> 'a1, 'b1, 'c1, 'd1,
                                               'e1, 'f1, bool -> 'a2, 'b2,
                                               'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Format_arg_ty :
        ('g, 'h, 'i, 'j, 'k, 'l) CamlinternalFormatBasics.fmtty *
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (('g, 'h, 'i, 'j, 'k, 'l)
                                               CamlinternalFormatBasics.format6 ->
                                               'a1, 'b1, 'c1, 'd1, 'e1, 'f1,
                                               ('g, 'h, 'i, 'j, 'k, 'l)
                                               CamlinternalFormatBasics.format6 ->
                                               'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Format_subst_ty :
        ('g, 'h, 'i, 'j, 'k, 'l, 'g1, 'b1, 'c1, 'j1, 'd1, 'a1)
        CamlinternalFormatBasics.fmtty_rel *
        ('g, 'h, 'i, 'j, 'k, 'l, 'g2, 'b2, 'c2, 'j2, 'd2, 'a2)
        CamlinternalFormatBasics.fmtty_rel *
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (('g, 'h, 'i, 'j, 'k, 'l)
                                               CamlinternalFormatBasics.format6 ->
                                               'g1, 'b1, 'c1, 'j1, 'e1, 'f1,
                                               ('g, 'h, 'i, 'j, 'k, 'l)
                                               CamlinternalFormatBasics.format6 ->
                                               'g2, 'b2, 'c2, 'j2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Alpha_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (('b1 -> '-> 'c1) ->
                                               '-> 'a1, 'b1, 'c1, 'd1, 'e1,
                                               'f1,
                                               ('b2 -> '-> 'c2) ->
                                               '-> 'a2, 'b2, 'c2, 'd2, 'e2,
                                               'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Theta_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> (('b1 -> 'c1) -> 'a1, 'b1, 'c1,
                                               'd1, 'e1, 'f1,
                                               ('b2 -> 'c2) -> 'a2, 'b2, 'c2,
                                               'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Reader_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> ('-> 'a1, 'b1, 'c1,
                                               ('b1 -> 'x) -> 'd1, 'e1, 'f1,
                                               '-> 'a2, 'b2, 'c2,
                                               ('b2 -> 'x) -> 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | Ignored_reader_ty :
        ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
        CamlinternalFormatBasics.fmtty_rel -> ('a1, 'b1, 'c1,
                                               ('b1 -> 'x) -> 'd1, 'e1, 'f1,
                                               'a2, 'b2, 'c2,
                                               ('b2 -> 'x) -> 'd2, 'e2, 'f2)
                                              CamlinternalFormatBasics.fmtty_rel
    | End_of_fmtty :
        ('f1, 'b1, 'c1, 'd1, 'd1, 'f1, 'f2, 'b2, 'c2, 'd2, 'd2, 'f2)
        CamlinternalFormatBasics.fmtty_rel
  and ('a, 'b, 'c, 'd, 'e, 'f) fmt =
      Char :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (char -> 'a,
                                                                  'b, 'c, 'd,
                                                                  'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Caml_char :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (char -> 'a,
                                                                  'b, 'c, 'd,
                                                                  'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | String : ('x, string -> 'a) CamlinternalFormatBasics.padding *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Caml_string : ('x, string -> 'a) CamlinternalFormatBasics.padding *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Int : CamlinternalFormatBasics.int_conv *
        ('x, 'y) CamlinternalFormatBasics.padding *
        ('y, int -> 'a) CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Int32 : CamlinternalFormatBasics.int_conv *
        ('x, 'y) CamlinternalFormatBasics.padding *
        ('y, int32 -> 'a) CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Nativeint : CamlinternalFormatBasics.int_conv *
        ('x, 'y) CamlinternalFormatBasics.padding *
        ('y, nativeint -> 'a) CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Int64 : CamlinternalFormatBasics.int_conv *
        ('x, 'y) CamlinternalFormatBasics.padding *
        ('y, int64 -> 'a) CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Float : CamlinternalFormatBasics.float_conv *
        ('x, 'y) CamlinternalFormatBasics.padding *
        ('y, float -> 'a) CamlinternalFormatBasics.precision *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('x, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Bool :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (bool -> 'a,
                                                                  'b, 'c, 'd,
                                                                  'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Flush :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | String_literal : string *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Char_literal : char *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Format_arg : CamlinternalFormatBasics.pad_option *
        ('g, 'h, 'i, 'j, 'k, 'l) CamlinternalFormatBasics.fmtty *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (('g, 'h,
                                                                   'i, 'j,
                                                                   'k, 'l)
                                                                  CamlinternalFormatBasics.format6 ->
                                                                  'a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Format_subst : CamlinternalFormatBasics.pad_option *
        ('g, 'h, 'i, 'j, 'k, 'l, 'g2, 'b, 'c, 'j2, 'd, 'a)
        CamlinternalFormatBasics.fmtty_rel *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (('g, 'h,
                                                                   'i, 'j,
                                                                   'k, 'l)
                                                                  CamlinternalFormatBasics.format6 ->
                                                                  'g2, 'b,
                                                                  'c, 'j2,
                                                                  'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Alpha :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (('->
                                                                   '-> 'c) ->
                                                                  '-> 'a,
                                                                  'b, 'c, 'd,
                                                                  'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Theta :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (('-> 'c) ->
                                                                  'a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Formatting_lit : CamlinternalFormatBasics.formatting_lit *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Formatting_gen :
        ('a1, 'b, 'c, 'd1, 'e1, 'f1) CamlinternalFormatBasics.formatting_gen *
        ('f1, 'b, 'c, 'e1, 'e2, 'f2) CamlinternalFormatBasics.fmt -> 
        ('a1, 'b, 'c, 'd1, 'e2, 'f2) CamlinternalFormatBasics.fmt
    | Reader :
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> ('-> 'a,
                                                                  'b, 'c,
                                                                  ('-> 'x) ->
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Scan_char_set : CamlinternalFormatBasics.pad_option *
        CamlinternalFormatBasics.char_set *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (string ->
                                                                  'a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Scan_get_counter : CamlinternalFormatBasics.counter *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt -> (int -> 'a,
                                                                  'b, 'c, 'd,
                                                                  'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | Ignored_param :
        ('a, 'b, 'c, 'd, 'y, 'x) CamlinternalFormatBasics.ignored *
        ('x, 'b, 'c, 'y, 'e, 'f) CamlinternalFormatBasics.fmt -> ('a, 'b, 'c,
                                                                  'd, 'e, 'f)
                                                                 CamlinternalFormatBasics.fmt
    | End_of_format : ('f, 'b, 'c, 'e, 'e, 'f) CamlinternalFormatBasics.fmt
  and ('a, 'b, 'c, 'd, 'e, 'f) ignored =
      Ignored_char :
        ('a, 'b, 'c, 'd, 'd, 'a) CamlinternalFormatBasics.ignored
    | Ignored_caml_char :
        ('a, 'b, 'c, 'd, 'd, 'a) CamlinternalFormatBasics.ignored
    | Ignored_string :
        CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                               CamlinternalFormatBasics.ignored
    | Ignored_caml_string :
        CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                               CamlinternalFormatBasics.ignored
    | Ignored_int : CamlinternalFormatBasics.int_conv *
        CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                               CamlinternalFormatBasics.ignored
    | Ignored_int32 : CamlinternalFormatBasics.int_conv *
        CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                               CamlinternalFormatBasics.ignored
    | Ignored_nativeint : CamlinternalFormatBasics.int_conv *
        CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                               CamlinternalFormatBasics.ignored
    | Ignored_int64 : CamlinternalFormatBasics.int_conv *
        CamlinternalFormatBasics.pad_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                               CamlinternalFormatBasics.ignored
    | Ignored_float : CamlinternalFormatBasics.pad_option *
        CamlinternalFormatBasics.prec_option -> ('a, 'b, 'c, 'd, 'd, 'a)
                                                CamlinternalFormatBasics.ignored
    | Ignored_bool :
        ('a, 'b, 'c, 'd, 'd, 'a) CamlinternalFormatBasics.ignored
    | Ignored_format_arg : CamlinternalFormatBasics.pad_option *
        ('g, 'h, 'i, 'j, 'k, 'l) CamlinternalFormatBasics.fmtty -> ('a, 'b,
                                                                    'c, 'd,
                                                                    'd, 'a)
                                                                   CamlinternalFormatBasics.ignored
    | Ignored_format_subst : CamlinternalFormatBasics.pad_option *
        ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmtty -> ('a, 'b,
                                                                    'c, 'd,
                                                                    'e, 'f)
                                                                   CamlinternalFormatBasics.ignored
    | Ignored_reader :
        ('a, 'b, 'c, ('-> 'x) -> 'd, 'd, 'a)
        CamlinternalFormatBasics.ignored
    | Ignored_scan_char_set : CamlinternalFormatBasics.pad_option *
        CamlinternalFormatBasics.char_set -> ('a, 'b, 'c, 'd, 'd, 'a)
                                             CamlinternalFormatBasics.ignored
    | Ignored_scan_get_counter :
        CamlinternalFormatBasics.counter -> ('a, 'b, 'c, 'd, 'd, 'a)
                                            CamlinternalFormatBasics.ignored
  and ('a, 'b, 'c, 'd, 'e, 'f) format6 =
      Format of ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt *
        string
  val concat_fmtty :
    ('g1, 'b1, 'c1, 'j1, 'd1, 'a1, 'g2, 'b2, 'c2, 'j2, 'd2, 'a2)
    CamlinternalFormatBasics.fmtty_rel ->
    ('a1, 'b1, 'c1, 'd1, 'e1, 'f1, 'a2, 'b2, 'c2, 'd2, 'e2, 'f2)
    CamlinternalFormatBasics.fmtty_rel ->
    ('g1, 'b1, 'c1, 'j1, 'e1, 'f1, 'g2, 'b2, 'c2, 'j2, 'e2, 'f2)
    CamlinternalFormatBasics.fmtty_rel
  val erase_rel :
    ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i, 'j, 'k, 'l)
    CamlinternalFormatBasics.fmtty_rel ->
    ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmtty
  val concat_fmt :
    ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.fmt ->
    ('f, 'b, 'c, 'e, 'g, 'h) CamlinternalFormatBasics.fmt ->
    ('a, 'b, 'c, 'd, 'g, 'h) CamlinternalFormatBasics.fmt
end