package clangml

  1. Overview
  2. Docs
val pp_cxint : Stdcompat.Format.formatter -> Clang__.Clang__bindings.cxint -> unit
val pp_cxfloat : Stdcompat.Format.formatter -> Clang__.Clang__bindings.cxfloat -> unit
type source_location
type elaborated_type_keyword = Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword
and character_kind = Clang__.Clang__bindings.clang_ext_stringkind
and unary_expr_kind = Clang__.Clang__bindings.clang_ext_unaryexpr
and unary_operator_kind = Clang__.Clang__bindings.clang_ext_unaryoperatorkind
and binary_operator_kind = Clang__.Clang__bindings.clang_ext_binaryoperatorkind
and attribute_kind = Clang__.Clang__bindings.clang_ext_attrkind
and builtin_type = Clang__.Clang__bindings.cxtypekind
and cxx_access_specifier = Clang__.Clang__bindings.cx_cxxaccessspecifier
and calling_conv = Clang__.Clang__bindings.cxcallingconv
and linkage_kind = Clang__.Clang__bindings.cxlinkagekind
and predefined_identifier_kind = Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind
and lambda_capture_default = Clang__.Clang__bindings.clang_ext_lambdacapturedefault
and lambda_capture_kind = Clang__.Clang__bindings.clang_ext_lambdacapturekind
and overloaded_operator_kind = Clang__.Clang__bindings.clang_ext_overloadedoperatorkind
and string_kind = Clang__.Clang__bindings.clang_ext_stringkind
and exception_specification_type = Clang__.Clang__bindings.clang_ext_exceptionspecificationtype
and integer_literal =
  1. | Int of int
and floating_literal =
  1. | Float of float
and languages = {
  1. c : bool;
  2. cxx : bool;
}
and asm_compiler_extension =
  1. | GCC
  2. | MS
and opaque_cxtype = Clang__.Clang__bindings.cxtype
and opaque_type_loc = Clang__.Clang__bindings.clang_ext_typeloc option
and omp_trait_info = Clang__.Clang__bindings.clang_ext_omptraitinfo
type elaborated_type_keyword__arity = [
  1. | `Zero
]
and elaborated_type_keyword__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__structure * Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and character_kind__arity = [
  1. | `Zero
]
and character_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stringkind__structure * Clang__.Clang__bindings.clang_ext_stringkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and unary_expr_kind__arity = [
  1. | `Zero
]
and unary_expr_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_unaryexpr__structure * Clang__.Clang__bindings.clang_ext_unaryexpr__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and unary_operator_kind__arity = [
  1. | `Zero
]
and unary_operator_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_unaryoperatorkind__structure * Clang__.Clang__bindings.clang_ext_unaryoperatorkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and binary_operator_kind__arity = [
  1. | `Zero
]
and binary_operator_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_binaryoperatorkind__structure * Clang__.Clang__bindings.clang_ext_binaryoperatorkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and attribute_kind__arity = [
  1. | `Zero
]
and attribute_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_attrkind__structure * Clang__.Clang__bindings.clang_ext_attrkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and builtin_type__arity = [
  1. | `Zero
]
and builtin_type__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxtypekind__structure * Clang__.Clang__bindings.cxtypekind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and cxx_access_specifier__arity = [
  1. | `Zero
]
and cxx_access_specifier__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cx_cxxaccessspecifier__structure * Clang__.Clang__bindings.cx_cxxaccessspecifier__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and calling_conv__arity = [
  1. | `Zero
]
and calling_conv__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcallingconv__structure * Clang__.Clang__bindings.cxcallingconv__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and linkage_kind__arity = [
  1. | `Zero
]
and linkage_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxlinkagekind__structure * Clang__.Clang__bindings.cxlinkagekind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and predefined_identifier_kind__arity = [
  1. | `Zero
]
and predefined_identifier_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__structure * Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and lambda_capture_default__arity = [
  1. | `Zero
]
and lambda_capture_default__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_lambdacapturedefault__structure * Clang__.Clang__bindings.clang_ext_lambdacapturedefault__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and lambda_capture_kind__arity = [
  1. | `Zero
]
and lambda_capture_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_lambdacapturekind__structure * Clang__.Clang__bindings.clang_ext_lambdacapturekind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and overloaded_operator_kind__arity = [
  1. | `Zero
]
and overloaded_operator_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__structure * Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and string_kind__arity = [
  1. | `Zero
]
and string_kind__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stringkind__structure * Clang__.Clang__bindings.clang_ext_stringkind__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and exception_specification_type__arity = [
  1. | `Zero
]
and exception_specification_type__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__structure * Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__rec_group ] ] * unit * unit * unit * unit * unit ]
]
and integer_literal__arity = [
  1. | `Zero
]
and integer_literal__structure = [
  1. | `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `Builtin of [ `Int ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Opaque of [ `Zero ] ] * unit ] * unit ] Stdcompat.ref ]
]
and floating_literal__arity = [
  1. | `Zero
]
and floating_literal__structure = [
  1. | `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `Builtin of [ `Float ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Opaque of [ `Zero ] ] * unit ] * unit ] Stdcompat.ref ]
]
and languages__arity = [
  1. | `Zero
]
and languages__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit) ]
]
and asm_compiler_extension__arity = [
  1. | `Zero
]
and asm_compiler_extension__structure = [
  1. | `Name of [ `Constr of [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref ]
]
and opaque_cxtype__arity = [
  1. | `Zero
]
and opaque_cxtype__structure = [
  1. | `Name of [ `Opaque of [ `Zero ] ]
]
and opaque_type_loc__arity = [
  1. | `Zero
]
and opaque_type_loc__structure = [
  1. | `Name of [ `Opaque of [ `Zero ] ]
]
and omp_trait_info__arity = [
  1. | `Zero
]
and omp_trait_info__structure = [
  1. | `Name of [ `Opaque of [ `Zero ] ]
]
and elaborated_type_keyword__rec_group = (((((elaborated_type_keyword__arity * elaborated_type_keyword__structure) Stdcompat.ref * (integer_literal__arity * integer_literal__structure) Stdcompat.ref) * (calling_conv__arity * calling_conv__structure) Stdcompat.ref) * (((binary_operator_kind__arity * binary_operator_kind__structure) Stdcompat.ref * (opaque_cxtype__arity * opaque_cxtype__structure) Stdcompat.ref) * (lambda_capture_kind__arity * lambda_capture_kind__structure) Stdcompat.ref)) * ((((unary_expr_kind__arity * unary_expr_kind__structure) Stdcompat.ref * (languages__arity * languages__structure) Stdcompat.ref) * (predefined_identifier_kind__arity * predefined_identifier_kind__structure) Stdcompat.ref) * (((builtin_type__arity * builtin_type__structure) Stdcompat.ref * (omp_trait_info__arity * omp_trait_info__structure) Stdcompat.ref) * (string_kind__arity * string_kind__structure) Stdcompat.ref))) * (((((character_kind__arity * character_kind__structure) Stdcompat.ref * (floating_literal__arity * floating_literal__structure) Stdcompat.ref) * (linkage_kind__arity * linkage_kind__structure) Stdcompat.ref) * (((attribute_kind__arity * attribute_kind__structure) Stdcompat.ref * (opaque_type_loc__arity * opaque_type_loc__structure) Stdcompat.ref) * (overloaded_operator_kind__arity * overloaded_operator_kind__structure) Stdcompat.ref)) * ((((unary_operator_kind__arity * unary_operator_kind__structure) Stdcompat.ref * (asm_compiler_extension__arity * asm_compiler_extension__structure) Stdcompat.ref) * (lambda_capture_default__arity * lambda_capture_default__structure) Stdcompat.ref) * ((cxx_access_specifier__arity * cxx_access_specifier__structure) Stdcompat.ref * (exception_specification_type__arity * exception_specification_type__structure) Stdcompat.ref)))
and elaborated_type_keyword__kinds = Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__kinds
and elaborated_type_keyword__gadt = unit
and character_kind__rec_group = elaborated_type_keyword__rec_group
and character_kind__kinds = Clang__.Clang__bindings.clang_ext_stringkind__kinds
and character_kind__gadt = unit
and unary_expr_kind__rec_group = elaborated_type_keyword__rec_group
and unary_expr_kind__kinds = Clang__.Clang__bindings.clang_ext_unaryexpr__kinds
and unary_expr_kind__gadt = unit
and unary_operator_kind__rec_group = elaborated_type_keyword__rec_group
and unary_operator_kind__kinds = Clang__.Clang__bindings.clang_ext_unaryoperatorkind__kinds
and unary_operator_kind__gadt = unit
and binary_operator_kind__rec_group = elaborated_type_keyword__rec_group
and binary_operator_kind__kinds = Clang__.Clang__bindings.clang_ext_binaryoperatorkind__kinds
and binary_operator_kind__gadt = unit
and attribute_kind__rec_group = elaborated_type_keyword__rec_group
and attribute_kind__kinds = Clang__.Clang__bindings.clang_ext_attrkind__kinds
and attribute_kind__gadt = unit
and builtin_type__rec_group = elaborated_type_keyword__rec_group
and builtin_type__kinds = Clang__.Clang__bindings.cxtypekind__kinds
and builtin_type__gadt = unit
and cxx_access_specifier__rec_group = elaborated_type_keyword__rec_group
and cxx_access_specifier__kinds = Clang__.Clang__bindings.cx_cxxaccessspecifier__kinds
and cxx_access_specifier__gadt = unit
and calling_conv__rec_group = elaborated_type_keyword__rec_group
and calling_conv__kinds = Clang__.Clang__bindings.cxcallingconv__kinds
and calling_conv__gadt = unit
and linkage_kind__rec_group = elaborated_type_keyword__rec_group
and linkage_kind__kinds = Clang__.Clang__bindings.cxlinkagekind__kinds
and linkage_kind__gadt = unit
and predefined_identifier_kind__rec_group = elaborated_type_keyword__rec_group
and predefined_identifier_kind__kinds = Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__kinds
and predefined_identifier_kind__gadt = unit
and lambda_capture_default__rec_group = elaborated_type_keyword__rec_group
and lambda_capture_default__kinds = Clang__.Clang__bindings.clang_ext_lambdacapturedefault__kinds
and lambda_capture_default__gadt = unit
and lambda_capture_kind__rec_group = elaborated_type_keyword__rec_group
and lambda_capture_kind__kinds = Clang__.Clang__bindings.clang_ext_lambdacapturekind__kinds
and lambda_capture_kind__gadt = unit
and overloaded_operator_kind__rec_group = elaborated_type_keyword__rec_group
and overloaded_operator_kind__kinds = Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__kinds
and overloaded_operator_kind__gadt = unit
and string_kind__rec_group = elaborated_type_keyword__rec_group
and string_kind__kinds = Clang__.Clang__bindings.clang_ext_stringkind__kinds
and string_kind__gadt = unit
and exception_specification_type__rec_group = elaborated_type_keyword__rec_group
and exception_specification_type__kinds = Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__kinds
and exception_specification_type__gadt = unit
and integer_literal__rec_group = elaborated_type_keyword__rec_group
and integer_literal__kinds = [
  1. | `Constr
  2. | `Int
  3. | `Opaque
]
and integer_literal__gadt = Clang__.Clang__bindings.cxint * unit
and floating_literal__rec_group = elaborated_type_keyword__rec_group
and floating_literal__kinds = [
  1. | `Constr
  2. | `Float
  3. | `Opaque
]
and floating_literal__gadt = Clang__.Clang__bindings.cxfloat * unit
and languages__rec_group = elaborated_type_keyword__rec_group
and languages__kinds = [
  1. | `Bool
  2. | `Record
]
and languages__gadt = unit
and asm_compiler_extension__rec_group = elaborated_type_keyword__rec_group
and asm_compiler_extension__kinds = [
  1. | `Constr
]
and asm_compiler_extension__gadt = unit
and opaque_cxtype__rec_group = elaborated_type_keyword__rec_group
and opaque_cxtype__kinds = [
  1. | `Opaque
]
and opaque_cxtype__gadt = Clang__.Clang__bindings.cxtype * unit
and opaque_type_loc__rec_group = elaborated_type_keyword__rec_group
and opaque_type_loc__kinds = [
  1. | `Opaque
]
and opaque_type_loc__gadt = Clang__.Clang__bindings.clang_ext_typeloc option * unit
and omp_trait_info__rec_group = elaborated_type_keyword__rec_group
and omp_trait_info__kinds = [
  1. | `Opaque
]
and omp_trait_info__gadt = Clang__.Clang__bindings.clang_ext_omptraitinfo * unit
type Refl.refl +=
  1. | Refl_elaborated_type_keyword : elaborated_type_keyword Refl.refl
type Refl.sub_gadt_ext +=
  1. | Elaborated_type_keyword__sub_0 : (elaborated_type_keyword__gadt, Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_character_kind : character_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Character_kind__sub_0 : (character_kind__gadt, Clang__.Clang__bindings.clang_ext_stringkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_unary_expr_kind : unary_expr_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Unary_expr_kind__sub_0 : (unary_expr_kind__gadt, Clang__.Clang__bindings.clang_ext_unaryexpr__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_unary_operator_kind : unary_operator_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Unary_operator_kind__sub_0 : (unary_operator_kind__gadt, Clang__.Clang__bindings.clang_ext_unaryoperatorkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_binary_operator_kind : binary_operator_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Binary_operator_kind__sub_0 : (binary_operator_kind__gadt, Clang__.Clang__bindings.clang_ext_binaryoperatorkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_attribute_kind : attribute_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Attribute_kind__sub_0 : (attribute_kind__gadt, Clang__.Clang__bindings.clang_ext_attrkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_builtin_type : builtin_type Refl.refl
type Refl.sub_gadt_ext +=
  1. | Builtin_type__sub_0 : (builtin_type__gadt, Clang__.Clang__bindings.cxtypekind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_cxx_access_specifier : cxx_access_specifier Refl.refl
type Refl.sub_gadt_ext +=
  1. | Cxx_access_specifier__sub_0 : (cxx_access_specifier__gadt, Clang__.Clang__bindings.cx_cxxaccessspecifier__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_calling_conv : calling_conv Refl.refl
type Refl.sub_gadt_ext +=
  1. | Calling_conv__sub_0 : (calling_conv__gadt, Clang__.Clang__bindings.cxcallingconv__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_linkage_kind : linkage_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Linkage_kind__sub_0 : (linkage_kind__gadt, Clang__.Clang__bindings.cxlinkagekind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_predefined_identifier_kind : predefined_identifier_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Predefined_identifier_kind__sub_0 : (predefined_identifier_kind__gadt, Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_lambda_capture_default : lambda_capture_default Refl.refl
type Refl.sub_gadt_ext +=
  1. | Lambda_capture_default__sub_0 : (lambda_capture_default__gadt, Clang__.Clang__bindings.clang_ext_lambdacapturedefault__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_lambda_capture_kind : lambda_capture_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Lambda_capture_kind__sub_0 : (lambda_capture_kind__gadt, Clang__.Clang__bindings.clang_ext_lambdacapturekind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_overloaded_operator_kind : overloaded_operator_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Overloaded_operator_kind__sub_0 : (overloaded_operator_kind__gadt, Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_string_kind : string_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | String_kind__sub_0 : (string_kind__gadt, Clang__.Clang__bindings.clang_ext_stringkind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_exception_specification_type : exception_specification_type Refl.refl
type Refl.sub_gadt_ext +=
  1. | Exception_specification_type__sub_0 : (exception_specification_type__gadt, Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_integer_literal : integer_literal Refl.refl
type Refl.refl +=
  1. | Refl_floating_literal : floating_literal Refl.refl
type Refl.refl +=
  1. | Refl_languages : languages Refl.refl
type Refl.refl +=
  1. | Refl_asm_compiler_extension : asm_compiler_extension Refl.refl
type Refl.refl +=
  1. | Refl_opaque_cxtype : opaque_cxtype Refl.refl
type Refl.refl +=
  1. | Refl_opaque_type_loc : opaque_type_loc Refl.refl
type Refl.refl +=
  1. | Refl_omp_trait_info : omp_trait_info Refl.refl
val constructor1 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor0 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val elaborated_type_keyword_refl : (elaborated_type_keyword, elaborated_type_keyword__structure, unit, elaborated_type_keyword__rec_group, [> Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__kinds ], unit, unit, unit, elaborated_type_keyword__gadt) Refl.desc
val character_kind_refl : (character_kind, character_kind__structure, unit, character_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_stringkind__kinds ], unit, unit, unit, character_kind__gadt) Refl.desc
val unary_expr_kind_refl : (unary_expr_kind, unary_expr_kind__structure, unit, unary_expr_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_unaryexpr__kinds ], unit, unit, unit, unary_expr_kind__gadt) Refl.desc
val unary_operator_kind_refl : (unary_operator_kind, unary_operator_kind__structure, unit, unary_operator_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_unaryoperatorkind__kinds ], unit, unit, unit, unary_operator_kind__gadt) Refl.desc
val binary_operator_kind_refl : (binary_operator_kind, binary_operator_kind__structure, unit, binary_operator_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_binaryoperatorkind__kinds ], unit, unit, unit, binary_operator_kind__gadt) Refl.desc
val attribute_kind_refl : (attribute_kind, attribute_kind__structure, unit, attribute_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_attrkind__kinds ], unit, unit, unit, attribute_kind__gadt) Refl.desc
val builtin_type_refl : (builtin_type, builtin_type__structure, unit, builtin_type__rec_group, [> Clang__.Clang__bindings.cxtypekind__kinds ], unit, unit, unit, builtin_type__gadt) Refl.desc
val cxx_access_specifier_refl : (cxx_access_specifier, cxx_access_specifier__structure, unit, cxx_access_specifier__rec_group, [> Clang__.Clang__bindings.cx_cxxaccessspecifier__kinds ], unit, unit, unit, cxx_access_specifier__gadt) Refl.desc
val calling_conv_refl : (calling_conv, calling_conv__structure, unit, calling_conv__rec_group, [> Clang__.Clang__bindings.cxcallingconv__kinds ], unit, unit, unit, calling_conv__gadt) Refl.desc
val linkage_kind_refl : (linkage_kind, linkage_kind__structure, unit, linkage_kind__rec_group, [> Clang__.Clang__bindings.cxlinkagekind__kinds ], unit, unit, unit, linkage_kind__gadt) Refl.desc
val predefined_identifier_kind_refl : (predefined_identifier_kind, predefined_identifier_kind__structure, unit, predefined_identifier_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__kinds ], unit, unit, unit, predefined_identifier_kind__gadt) Refl.desc
val lambda_capture_default_refl : (lambda_capture_default, lambda_capture_default__structure, unit, lambda_capture_default__rec_group, [> Clang__.Clang__bindings.clang_ext_lambdacapturedefault__kinds ], unit, unit, unit, lambda_capture_default__gadt) Refl.desc
val lambda_capture_kind_refl : (lambda_capture_kind, lambda_capture_kind__structure, unit, lambda_capture_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_lambdacapturekind__kinds ], unit, unit, unit, lambda_capture_kind__gadt) Refl.desc
val overloaded_operator_kind_refl : (overloaded_operator_kind, overloaded_operator_kind__structure, unit, overloaded_operator_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__kinds ], unit, unit, unit, overloaded_operator_kind__gadt) Refl.desc
val string_kind_refl : (string_kind, string_kind__structure, unit, string_kind__rec_group, [> Clang__.Clang__bindings.clang_ext_stringkind__kinds ], unit, unit, unit, string_kind__gadt) Refl.desc
val exception_specification_type_refl : (exception_specification_type, exception_specification_type__structure, unit, exception_specification_type__rec_group, [> Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__kinds ], unit, unit, unit, exception_specification_type__gadt) Refl.desc
val languages_refl : (languages, languages__structure, unit, languages__rec_group, [> languages__kinds ], unit, unit, unit, languages__gadt) Refl.desc
module type NodeS = sig ... end
module IdNode : sig ... end
module LazyNode : sig ... end
type decoration = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).decoration
and opaque_decoration = decoration
and !'a node = 'a Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).node = {
  1. decoration : opaque_decoration;
  2. desc : 'a Clang__.Clang__ast.IdNode.t;
}
and qual_type = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).qual_type = {
  1. cxtype : Clang__.Clang__bindings.cxtype;
  2. type_loc : Clang__.Clang__bindings.clang_ext_typeloc option;
  3. const : bool;
  4. volatile : bool;
  5. restrict : bool;
  6. desc : type_desc Clang__.Clang__ast.IdNode.t;
}
and type_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).type_desc =
  1. | Pointer of qual_type
  2. | LValueReference of qual_type
  3. | RValueReference of qual_type
  4. | ConstantArray of {
    1. element : qual_type;
    2. size : int;
    3. size_as_expr : expr option;
    }
  5. | Vector of {
    1. element : qual_type;
    2. size : int;
    }
  6. | IncompleteArray of qual_type
  7. | VariableArray of {
    1. element : qual_type;
    2. size : expr;
    }
  8. | Enum of ident_ref
  9. | FunctionType of function_type
  10. | Record of ident_ref
  11. | Typedef of ident_ref
  12. | Complex of qual_type
  13. | Attributed of {
    1. modified_type : qual_type;
    2. attribute : attribute;
    }
  14. | ParenType of qual_type
  15. | TemplateTypeParm of string
  16. | SubstTemplateTypeParm of string
  17. | TemplateSpecialization of {
    1. name : template_name;
    2. args : template_argument list;
    }
  18. | Auto
  19. | PackExpansion of qual_type
  20. | MemberPointer of {
    1. pointee : qual_type;
    2. class_ : qual_type;
    }
  21. | Decltype of expr
  22. | InjectedClassName of qual_type
  23. | Using of qual_type
  24. | InvalidType
and template_name = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).template_name =
  1. | NameTemplate of string
  2. | OverloadedTemplate
  3. | QualifiedTemplate
  4. | DependentTemplate
  5. | SubstTemplateTemplateParm
  6. | SubstTemplateTemplateParmPack
  7. | InvalidNameKind
and template_argument = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).template_argument =
  1. | Type of qual_type
  2. | ArgumentDecl of decl
  3. | NullPtr of qual_type
  4. | TemplateTemplateArgument of template_name
  5. | TemplateExpansion of template_name
  6. | NonTypeTemplateArgument of qual_type
  7. | ExprTemplateArgument of expr
  8. | Pack of template_argument list
and requirement = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).requirement =
  1. | Type of qual_type
  2. | Simple of expr_requirement
  3. | Compound of expr_requirement
  4. | Nested of expr
and expr_requirement = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).expr_requirement = {
  1. expr : expr;
  2. return_type_type_constraint : type_constraint option;
}
and type_constraint = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).type_constraint = {
  1. parameters : template_parameter_list;
  2. type_constraint : expr;
}
and nested_name_specifier = nested_name_specifier_component list
and nested_name_specifier_component = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).nested_name_specifier_component =
  1. | Global
  2. | NestedIdentifier of string
  3. | NamespaceName of string
  4. | NamespaceAliasName of string
  5. | TypeSpec of qual_type
  6. | TypeSpecWithTemplate of qual_type
and declaration_name = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).declaration_name =
  1. | IdentifierName of string
  2. | ConstructorName of qual_type
  3. | DestructorName of qual_type
  4. | ConversionFunctionName of qual_type
  5. | DeductionGuideName of decl
  6. | LiteralOperatorName of string
  7. | UsingDirectiveName
and record_decl = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).record_decl = {
  1. keyword : Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword;
  2. attributes : attribute list;
  3. nested_name_specifier : nested_name_specifier option;
  4. name : string;
  5. bases : base_specifier list;
  6. fields : decl list;
  7. final : bool;
  8. complete_definition : bool;
  9. is_injected_class_name : bool;
}
and function_decl = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).function_decl = {
  1. linkage : Clang__.Clang__bindings.cxlinkagekind;
  2. function_type : function_type;
  3. nested_name_specifier : nested_name_specifier option;
  4. name : declaration_name;
  5. body : stmt option;
  6. deleted : bool;
  7. constexpr : bool;
  8. inline_specified : bool;
  9. inlined : bool;
  10. attributes : attribute list;
  11. has_written_prototype : bool;
}
and function_type = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).function_type = {
  1. calling_conv : Clang__.Clang__bindings.cxcallingconv;
  2. result : qual_type;
  3. parameters : parameters option;
  4. exception_spec : exception_spec option;
  5. ref_qualifier : Clang__.Clang__bindings.cxrefqualifierkind;
}
and exception_spec = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).exception_spec =
  1. | Noexcept of {
    1. expr : expr option;
    2. evaluated : bool option;
    }
  2. | Throw of qual_type list
and parameters = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).parameters = {
  1. non_variadic : parameter list;
  2. variadic : bool;
}
and parameter = parameter_desc node
and parameter_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).parameter_desc = {
  1. qual_type : qual_type;
  2. name : string;
  3. default : expr option;
}
and stmt = stmt_desc node
and stmt_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).stmt_desc =
  1. | Null
  2. | Compound of stmt list
  3. | For of {
    1. init : stmt option;
    2. condition_variable : var_decl option;
    3. cond : expr option;
    4. inc : stmt option;
    5. body : stmt;
    }
  4. | ForRange of {
    1. var : var_decl;
    2. range : expr;
    3. body : stmt;
    }
  5. | If of {
    1. init : stmt option;
    2. condition_variable : var_decl option;
    3. cond : expr;
    4. then_branch : stmt;
    5. else_branch : stmt option;
    }
  6. | Switch of {
    1. init : stmt option;
    2. condition_variable : var_decl option;
    3. cond : expr;
    4. body : stmt;
    }
  7. | Case of {
    1. lhs : expr;
    2. rhs : expr option;
    3. body : stmt;
    }
  8. | Default of stmt
  9. | While of {
    1. condition_variable : var_decl option;
    2. cond : expr;
    3. body : stmt;
    }
  10. | Do of {
    1. body : stmt;
    2. cond : expr;
    }
  11. | Label of {
    1. label : label_ref;
    2. body : stmt;
    }
  12. | Goto of label_ref
  13. | IndirectGoto of expr
  14. | Continue
  15. | Break
  16. | Asm of asm
  17. | Return of expr option
  18. | Decl of decl list
  19. | Expr of expr
  20. | Try of {
    1. try_block : stmt;
    2. handlers : catch list;
    }
  21. | AttributedStmt of {
    1. attributes : attribute list;
    2. sub_stmts : stmt list;
    }
and catch = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).catch = {
  1. parameter : (string * qual_type) option;
  2. block : stmt;
}
and asm = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).asm = {
  1. asm_compiler_extension : Clang__Clang__ast.Common.asm_compiler_extension;
  2. asm_string : string;
  3. asm_inputs : asm_operand list;
  4. asm_outputs : asm_operand list;
}
and asm_operand = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).asm_operand = {
  1. asm_constraint : string;
  2. asm_expr : expr;
}
and attribute = attribute_desc node
and attribute_desc
and expr = expr_desc node
and expr_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).expr_desc =
  1. | StringLiteral of string_literal
  2. | ImaginaryLiteral of expr
  3. | BoolLiteral of bool
  4. | NullPtrLiteral
  5. | DeclRef of ident_ref
  6. | Call of {
    1. callee : expr;
    2. args : expr list;
    }
  7. | Cast of {
    1. kind : cast_kind;
    2. qual_type : qual_type;
    3. operand : expr;
    }
  8. | Member of {
    1. base : expr option;
    2. arrow : bool;
    3. field : field;
    }
  9. | ArraySubscript of {
    1. base : expr;
    2. index : expr;
    }
  10. | ConditionalOperator of {
    1. cond : expr;
    2. then_branch : expr option;
    3. else_branch : expr;
    }
  11. | Paren of expr
  12. | AddrLabel of string
  13. | InitList of expr list
  14. | CompoundLiteral of {
    1. qual_type : qual_type;
    2. init : expr;
    }
  15. | GenericSelection of {
    1. controlling_expr : expr;
    2. assocs : (qual_type option * expr) list;
    }
  16. | ExprWithCleanups of expr
  17. | TemporaryObject of {
    1. qual_type : qual_type;
    2. args : expr list;
    }
  18. | MaterializeTemporaryExpr of expr
  19. | BindTemporaryExpr of expr
  20. | This
  21. | New of {
    1. placement_args : expr list;
    2. qual_type : qual_type;
    3. array_size : expr option;
    4. init : expr option;
    }
  22. | Delete of {
    1. global_delete : bool;
    2. array_form : bool;
    3. argument : expr;
    }
  23. | Typeid of expr_or_type
  24. | PackExpansionExpr of expr
  25. | SizeOfPack of ident_ref
  26. | Construct of {
    1. qual_type : qual_type;
    2. args : expr list;
    }
  27. | UnresolvedConstruct of {
    1. qual_type : qual_type;
    2. args : expr list;
    }
  28. | ThrowExpr of expr option
  29. | TemplateRef of ident_ref
  30. | OverloadedDeclRef of ident_ref
  31. | StdInitializerList of expr list
  32. | DefaultArg
  33. | SubstNonTypeTemplateParm of expr
  34. | ArrayInitLoop of {
    1. common_expr : expr;
    2. sub_expr : expr;
    }
  35. | ArrayInitIndex
  36. | NoexceptExpr of expr
  37. | ImplicitValueInit of qual_type
  38. | DesignatedInit of {
    1. designators : designator list;
    2. init : expr;
    }
  39. | Requires of {
    1. local_parameters : parameter list;
    2. requirements : requirement list;
    }
and field = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).field =
  1. | FieldName of ident_ref node
  2. | PseudoDestructor of {
    1. nested_name_specifier : nested_name_specifier option;
    2. qual_type : qual_type;
    }
  3. | DependentScopeMember of {
    1. ident_ref : ident_ref;
    2. template_arguments : template_argument list;
    }
  4. | UnresolvedMember of ident_ref
and lambda_capture = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).lambda_capture = {
  1. capture_kind : Clang__.Clang__bindings.clang_ext_lambdacapturekind;
  2. implicit : bool;
  3. captured_var_name : string option;
  4. pack_expansion : bool;
}
and cast_kind = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).cast_kind =
  1. | CStyle
  2. | Implicit
  3. | Functional
  4. | Static
  5. | Dynamic
  6. | Const
and expr_or_type = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).expr_or_type =
  1. | ArgumentExpr of expr
  2. | ArgumentType of qual_type
and string_literal = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).string_literal = {
  1. byte_width : int;
  2. bytes : string;
  3. string_kind : Clang__.Clang__bindings.clang_ext_stringkind;
}
and designator = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).designator =
  1. | FieldDesignator of string
  2. | ArrayDesignator of expr
  3. | ArrayRangeDesignator of expr * expr
and decl = decl_desc node
and decl_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).decl_desc =
  1. | TemplateDecl of {
    1. parameters : template_parameter_list;
    2. decl : decl;
    }
  2. | Function of function_decl
  3. | TemplatePartialSpecialization of {
    1. parameters : template_parameter_list;
    2. arguments : template_argument list;
    3. decl : decl;
    }
  4. | CXXMethod of {
    1. function_decl : function_decl;
    2. type_ref : qual_type;
    3. defaulted : bool;
    4. static : bool;
    5. binding : cxx_method_binding_kind;
    6. const : bool;
    7. implicit : bool;
    }
  5. | Var of var_decl_desc
  6. | EnumDecl of {
    1. name : string;
    2. constants : enum_constant list;
    3. complete_definition : bool;
    4. attributes : attribute list;
    }
  7. | RecordDecl of record_decl
  8. | TypedefDecl of {
    1. name : string;
    2. underlying_type : qual_type;
    }
  9. | Field of {
    1. name : string;
    2. qual_type : qual_type;
    3. bitwidth : expr option;
    4. init : expr option;
    5. attributes : attribute list;
    }
  10. | IndirectField of decl list
  11. | Namespace of {
    1. name : string;
    2. declarations : decl list;
    3. inline : bool;
    }
  12. | UsingDirective of {
    1. nested_name_specifier : nested_name_specifier option;
    2. namespace : decl;
    }
  13. | UsingDeclaration of ident_ref
  14. | Constructor of {
    1. class_name : string;
    2. parameters : parameters;
    3. initializer_list : constructor_initializer list;
    4. body : stmt option;
    5. implicit : bool;
    6. explicit : bool;
    7. defaulted : bool;
    8. deleted : bool;
    9. constexpr : bool;
    }
  15. | Destructor of {
    1. class_name : string;
    2. body : stmt option;
    3. defaulted : bool;
    4. deleted : bool;
    5. exception_spec : exception_spec option;
    }
  16. | TemplateTemplateParameter of string
  17. | Friend of friend_decl
  18. | NamespaceAlias of {
    1. alias : ident_ref;
    2. original : ident_ref;
    }
  19. | EmptyDecl
  20. | Directive of directive
  21. | StaticAssert of {
    1. constexpr : expr;
    2. message : expr option;
    }
  22. | TypeAlias of {
    1. ident_ref : ident_ref;
    2. qual_type : qual_type;
    }
  23. | Decomposition of {
    1. bindings : declaration_name list;
    2. init : expr option;
    }
  24. | Concept of {
    1. parameters : template_parameter_list;
    2. name : declaration_name;
    3. constraint_expr : expr;
    }
  25. | Export of decl list
and constructor_initializer = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).constructor_initializer = {
  1. kind : constructor_initializer_kind;
  2. init : expr;
}
and constructor_initializer_kind = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).constructor_initializer_kind =
  1. | Base of {
    1. qual_type : qual_type;
    2. pack_expansion : bool;
    }
  2. | Delegating of qual_type
  3. | Member of {
    1. indirect : bool;
    2. field : decl_ref;
    }
and decl_ref = string node
and directive = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).directive =
  1. | Include of {
    1. program_context : bool;
    2. filename : string;
    }
  2. | Ifdef of string
  3. | Ifndef of string
  4. | Endif
and base_specifier = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).base_specifier = {
  1. qual_type : qual_type;
  2. virtual_base : bool;
  3. access_specifier : Clang__.Clang__bindings.cx_cxxaccessspecifier;
}
and ident_ref = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).ident_ref = {
  1. nested_name_specifier : nested_name_specifier option;
  2. name : declaration_name;
  3. template_arguments : template_argument list;
}
and friend_decl = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).friend_decl =
  1. | FriendDecl of decl
  2. | FriendType of qual_type
and label_ref = string
and enum_constant = enum_constant_desc node
and enum_constant_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).enum_constant_desc = {
  1. constant_name : string;
  2. constant_init : expr option;
}
and var_decl = var_decl_desc node
and var_decl_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).var_decl_desc = {
  1. linkage : Clang__.Clang__bindings.cxlinkagekind;
  2. var_name : string;
  3. var_type : qual_type;
  4. var_init : expr option;
  5. constexpr : bool;
  6. attributes : attribute list;
}
and cxx_method_binding_kind = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).cxx_method_binding_kind =
  1. | NonVirtual
  2. | Virtual
  3. | PureVirtual
and template_parameter_list = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).template_parameter_list = {
  1. list : template_parameter list;
  2. requires_clause : expr option;
}
and template_parameter = template_parameter_desc node
and template_parameter_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).template_parameter_desc = {
  1. parameter_name : string;
  2. parameter_kind : template_parameter_kind;
  3. parameter_pack : bool;
}
and template_parameter_kind = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).template_parameter_kind =
  1. | Class of {
    1. default : qual_type option;
    }
  2. | NonType of {
    1. parameter_type : qual_type;
    2. default : expr option;
    }
  3. | Template of {
    1. parameters : template_parameter_list;
    2. default : string option;
    }
and translation_unit = translation_unit_desc node
and translation_unit_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).translation_unit_desc = {
  1. filename : string;
  2. items : decl list;
}
val node__variable_positive0 : 'a -> 'b -> 'a
val node__variable_negative0 : 'a -> 'b -> 'b
val node__variable_direct0 : 'a -> 'b -> 'a
type (!'present, 'unknown) node__variable_positive0 = ('present, 'unknown) Clang__.Clang__ast.IdNode.t__variable_positive0
and ('present, !'unknown) node__variable_negative0 = ('present, 'unknown) Clang__.Clang__ast.IdNode.t__variable_negative0
and (!'present, 'unknown) node__variable_direct0 = ('present, 'unknown) Clang__.Clang__ast.IdNode.t__variable_direct0
and decoration__arity = [
  1. | `Zero
]
and decoration__structure = [
  1. | `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `Opaque of [ `Zero ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Opaque of [ `Succ of [ `Zero ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref ]
]
and opaque_decoration__arity = [
  1. | `Zero
]
and opaque_decoration__structure = [
  1. | `Name of [ `Opaque of [ `Zero ] ]
]
and node__arity = [
  1. | `Succ of [ `Zero ]
]
and node__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__ast.IdNode.t__structure * Clang__.Clang__ast.IdNode.t__rec_group ] ] * ([ `Variable of [ `Zero ] ] * unit) * (([ `Present ], [ `Absent ]) Clang__.Clang__ast.IdNode.t__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Clang__.Clang__ast.IdNode.t__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Clang__.Clang__ast.IdNode.t__variable_direct0 * unit) * ((([ `Present ] * unit) * ([ `Absent ] * unit) * ([ `Present ] * unit)) * unit) ] ] * unit) ]
]
and qual_type__arity = [
  1. | `Zero
]
and qual_type__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.opaque_cxtype__structure * Clang__Clang__ast.opaque_cxtype__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.opaque_type_loc__structure * Clang__Clang__ast.opaque_type_loc__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__ast.IdNode.t__structure * Clang__.Clang__ast.IdNode.t__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Clang__.Clang__ast.IdNode.t__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Clang__.Clang__ast.IdNode.t__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Clang__.Clang__ast.IdNode.t__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit))))) ]
]
and type_desc__arity = [
  1. | `Zero
]
and type_desc__structure = [
  1. | `Name of [ `Constr of (((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Int ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.builtin_type__structure * Clang__Clang__ast.builtin_type__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_typekind__structure * Clang__.Clang__bindings.clang_ext_typekind__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Int ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.elaborated_type_keyword__structure * Clang__Clang__ast.elaborated_type_keyword__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref))) ]
]
and template_name__arity = [
  1. | `Zero
]
and template_name__structure = [
  1. | `Name of [ `Constr of (([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) ]
]
and template_argument__arity = [
  1. | `Zero
]
and template_argument__structure = [
  1. | `Name of [ `Constr of ((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.integer_literal__structure * Clang__Clang__ast.integer_literal__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) ]
]
and requirement__arity = [
  1. | `Zero
]
and requirement__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) ]
]
and expr_requirement__arity = [
  1. | `Zero
]
and expr_requirement__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ]
]
and type_constraint__arity = [
  1. | `Zero
]
and type_constraint__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ]
]
and nested_name_specifier__arity = [
  1. | `Zero
]
and nested_name_specifier__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and nested_name_specifier_component__arity = [
  1. | `Zero
]
and nested_name_specifier_component__structure = [
  1. | `Name of [ `Constr of (([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) ]
]
and declaration_name__arity = [
  1. | `Zero
]
and declaration_name__structure = [
  1. | `Name of [ `Constr of (([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.overloaded_operator_kind__structure * Clang__Clang__ast.overloaded_operator_kind__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) ]
]
and record_decl__arity = [
  1. | `Zero
]
and record_decl__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.elaborated_type_keyword__structure * Clang__Clang__ast.elaborated_type_keyword__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)))))))) ]
]
and function_decl__arity = [
  1. | `Zero
]
and function_decl__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.linkage_kind__structure * Clang__Clang__ast.linkage_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)))))))))) ]
]
and function_type__arity = [
  1. | `Zero
]
and function_type__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.calling_conv__structure * Clang__Clang__ast.calling_conv__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxrefqualifierkind__structure * Clang__.Clang__bindings.cxrefqualifierkind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * unit)))) ]
]
and exception_spec__arity = [
  1. | `Zero
]
and exception_spec__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Builtin of [ `Bool ] ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.exception_specification_type__structure * Clang__Clang__ast.exception_specification_type__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref ]
]
and parameters__arity = [
  1. | `Zero
]
and parameters__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit) ]
]
and parameter__arity = [
  1. | `Zero
]
and parameter__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and parameter_desc__arity = [
  1. | `Zero
]
and parameter_desc__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)) ]
]
and stmt__arity = [
  1. | `Zero
]
and stmt__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and stmt_desc__arity = [
  1. | `Zero
]
and stmt_desc__structure = [
  1. | `Name of [ `Constr of (((([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcursorkind__structure * Clang__.Clang__bindings.cxcursorkind__rec_group ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stmtkind__structure * Clang__.Clang__bindings.clang_ext_stmtkind__rec_group ] ] * unit * unit * unit * unit * unit ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref))) ]
]
and catch__arity = [
  1. | `Zero
]
and catch__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Tuple of [ `Builtin of [ `String ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ]
]
and asm__arity = [
  1. | `Zero
]
and asm__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.asm_compiler_extension__structure * Clang__Clang__ast.asm_compiler_extension__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit))) ]
]
and asm_operand__arity = [
  1. | `Zero
]
and asm_operand__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ]
]
and attribute__arity = [
  1. | `Zero
]
and attribute__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and attribute_desc__arity = [
  1. | `Zero
]
and attribute_desc__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Attributes.t__structure * Clang__.Attributes.t__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.omp_trait_info__structure * Clang__Clang__ast.omp_trait_info__rec_group ] ] * unit * unit * unit * unit * unit ] * unit))))) * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_positive0 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_positive1 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_positive2 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_positive3 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_positive4 * unit))))) * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_negative0 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_negative1 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_negative2 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_negative3 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_negative4 * unit))))) * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_direct0 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_direct1 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_direct2 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_direct3 * (([ `Present ], [ `Absent ]) Clang__.Attributes.t__variable_direct4 * unit))))) * ((unit * unit * unit) * ((unit * unit * unit) * ((unit * unit * unit) * ((unit * unit * unit) * ((unit * unit * unit) * unit))))) ]
]
and expr__arity = [
  1. | `Zero
]
and expr__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and expr_desc__arity = [
  1. | `Zero
]
and expr_desc__structure = [
  1. | `Name of [ `Constr of ((((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.integer_literal__structure * Clang__Clang__ast.integer_literal__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.binary_operator_kind__structure * Clang__Clang__ast.binary_operator_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.binary_operator_kind__structure * Clang__Clang__ast.binary_operator_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit))) ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.lambda_capture_default__structure * Clang__Clang__ast.lambda_capture_default__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit))))) ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)))) * ((((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.floating_literal__structure * Clang__Clang__ast.floating_literal__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcursorkind__structure * Clang__.Clang__bindings.cxcursorkind__rec_group ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stmtkind__structure * Clang__.Clang__bindings.clang_ext_stmtkind__rec_group ] ] * unit * unit * unit * unit * unit ] * unit) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stmtkind__structure * Clang__.Clang__bindings.clang_ext_stmtkind__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `Builtin of [ `Bool ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.predefined_identifier_kind__structure * Clang__Clang__ast.predefined_identifier_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.character_kind__structure * Clang__Clang__ast.character_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Int ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.unary_expr_kind__structure * Clang__Clang__ast.unary_expr_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.unary_operator_kind__structure * Clang__Clang__ast.unary_operator_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)))) ]
]
and field__arity = [
  1. | `Zero
]
and field__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) ]
]
and lambda_capture__arity = [
  1. | `Zero
]
and lambda_capture__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.lambda_capture_kind__structure * Clang__Clang__ast.lambda_capture_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Builtin of [ `String ] ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit))) ]
]
and cast_kind__arity = [
  1. | `Zero
]
and cast_kind__structure = [
  1. | `Name of [ `Constr of (([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) ]
]
and expr_or_type__arity = [
  1. | `Zero
]
and expr_or_type__structure = [
  1. | `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref ]
]
and string_literal__arity = [
  1. | `Zero
]
and string_literal__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Builtin of [ `Int ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.string_kind__structure * Clang__Clang__ast.string_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * unit)) ]
]
and designator__arity = [
  1. | `Zero
]
and designator__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref ]
]
and decl__arity = [
  1. | `Zero
]
and decl__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and decl_desc__arity = [
  1. | `Zero
]
and decl_desc__structure = [
  1. | `Name of [ `Constr of (((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__types.language__structure * Clang__.Clang__types.language__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.cxx_access_specifier__structure * Clang__Clang__ast.cxx_access_specifier__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)))))))) ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit)) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)))))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcursorkind__structure * Clang__.Clang__bindings.cxcursorkind__rec_group ] ] * unit * unit * unit * unit * unit ] * ([ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_declkind__structure * Clang__.Clang__bindings.clang_ext_declkind__rec_group ] ] * unit * unit * unit * unit * unit ] * unit) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)))) ] * unit ] Stdcompat.ref))) ]
]
and constructor_initializer__arity = [
  1. | `Zero
]
and constructor_initializer__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ]
]
and constructor_initializer_kind__arity = [
  1. | `Zero
]
and constructor_initializer_kind__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref ]
]
and decl_ref__arity = [
  1. | `Zero
]
and decl_ref__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Builtin of [ `String ] ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and directive__arity = [
  1. | `Zero
]
and directive__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) ]
]
and base_specifier__arity = [
  1. | `Zero
]
and base_specifier__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.cxx_access_specifier__structure * Clang__Clang__ast.cxx_access_specifier__rec_group ] ] * unit * unit * unit * unit * unit ] ] * unit)) ]
]
and ident_ref__arity = [
  1. | `Zero
]
and ident_ref__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit)) ]
]
and friend_decl__arity = [
  1. | `Zero
]
and friend_decl__structure = [
  1. | `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref ]
]
and label_ref__arity = [
  1. | `Zero
]
and label_ref__structure = [
  1. | `Name of [ `Builtin of [ `String ] ]
]
and enum_constant__arity = [
  1. | `Zero
]
and enum_constant__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and enum_constant_desc__arity = [
  1. | `Zero
]
and enum_constant_desc__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ]
]
and var_decl__arity = [
  1. | `Zero
]
and var_decl__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and var_decl_desc__arity = [
  1. | `Zero
]
and var_decl_desc__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.linkage_kind__structure * Clang__Clang__ast.linkage_kind__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit))))) ]
]
and cxx_method_binding_kind__arity = [
  1. | `Zero
]
and cxx_method_binding_kind__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref ]
]
and template_parameter_list__arity = [
  1. | `Zero
]
and template_parameter_list__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ]
]
and template_parameter__arity = [
  1. | `Zero
]
and template_parameter__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and template_parameter_desc__arity = [
  1. | `Zero
]
and template_parameter_desc__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)) ]
]
and template_parameter_kind__arity = [
  1. | `Zero
]
and template_parameter_kind__structure = [
  1. | `Name of [ `Constr of ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Builtin of [ `String ] ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.option__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref ]
]
and translation_unit__arity = [
  1. | `Zero
]
and translation_unit__structure = [
  1. | `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) node__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) node__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) node__variable_direct0 * unit) * ((unit * unit * unit) * unit) ]
]
and translation_unit_desc__arity = [
  1. | `Zero
]
and translation_unit_desc__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ]
]
and decoration__rec_group = ((((((decoration__arity * decoration__structure) Stdcompat.ref * (expr_or_type__arity * expr_or_type__structure) Stdcompat.ref) * ((exception_spec__arity * exception_spec__structure) Stdcompat.ref * (var_decl_desc__arity * var_decl_desc__structure) Stdcompat.ref)) * (((expr_requirement__arity * expr_requirement__structure) Stdcompat.ref * (directive__arity * directive__structure) Stdcompat.ref) * (asm_operand__arity * asm_operand__structure) Stdcompat.ref)) * ((((type_desc__arity * type_desc__structure) Stdcompat.ref * (decl_desc__arity * decl_desc__structure) Stdcompat.ref) * ((stmt__arity * stmt__structure) Stdcompat.ref * (template_parameter_desc__arity * template_parameter_desc__structure) Stdcompat.ref)) * (((declaration_name__arity * declaration_name__structure) Stdcompat.ref * (label_ref__arity * label_ref__structure) Stdcompat.ref) * (expr_desc__arity * expr_desc__structure) Stdcompat.ref))) * (((((node__arity * node__structure) Stdcompat.ref * (designator__arity * designator__structure) Stdcompat.ref) * ((parameter__arity * parameter__structure) Stdcompat.ref * (template_parameter_list__arity * template_parameter_list__structure) Stdcompat.ref)) * (((nested_name_specifier__arity * nested_name_specifier__structure) Stdcompat.ref * (ident_ref__arity * ident_ref__structure) Stdcompat.ref) * (attribute_desc__arity * attribute_desc__structure) Stdcompat.ref)) * ((((template_argument__arity * template_argument__structure) Stdcompat.ref * (constructor_initializer_kind__arity * constructor_initializer_kind__structure) Stdcompat.ref) * ((catch__arity * catch__structure) Stdcompat.ref * (translation_unit__arity * translation_unit__structure) Stdcompat.ref)) * (((function_decl__arity * function_decl__structure) Stdcompat.ref * (enum_constant_desc__arity * enum_constant_desc__structure) Stdcompat.ref) * (lambda_capture__arity * lambda_capture__structure) Stdcompat.ref)))) * ((((((opaque_decoration__arity * opaque_decoration__structure) Stdcompat.ref * (string_literal__arity * string_literal__structure) Stdcompat.ref) * ((parameters__arity * parameters__structure) Stdcompat.ref * (cxx_method_binding_kind__arity * cxx_method_binding_kind__structure) Stdcompat.ref)) * (((type_constraint__arity * type_constraint__structure) Stdcompat.ref * (base_specifier__arity * base_specifier__structure) Stdcompat.ref) * (attribute__arity * attribute__structure) Stdcompat.ref)) * ((((template_name__arity * template_name__structure) Stdcompat.ref * (constructor_initializer__arity * constructor_initializer__structure) Stdcompat.ref) * ((stmt_desc__arity * stmt_desc__structure) Stdcompat.ref * (template_parameter_kind__arity * template_parameter_kind__structure) Stdcompat.ref)) * (((record_decl__arity * record_decl__structure) Stdcompat.ref * (enum_constant__arity * enum_constant__structure) Stdcompat.ref) * (field__arity * field__structure) Stdcompat.ref))) * (((((qual_type__arity * qual_type__structure) Stdcompat.ref * (decl__arity * decl__structure) Stdcompat.ref) * ((parameter_desc__arity * parameter_desc__structure) Stdcompat.ref * (template_parameter__arity * template_parameter__structure) Stdcompat.ref)) * (((nested_name_specifier_component__arity * nested_name_specifier_component__structure) Stdcompat.ref * (friend_decl__arity * friend_decl__structure) Stdcompat.ref) * (expr__arity * expr__structure) Stdcompat.ref)) * ((((requirement__arity * requirement__structure) Stdcompat.ref * (decl_ref__arity * decl_ref__structure) Stdcompat.ref) * ((asm__arity * asm__structure) Stdcompat.ref * (translation_unit_desc__arity * translation_unit_desc__structure) Stdcompat.ref)) * (((function_type__arity * function_type__structure) Stdcompat.ref * (var_decl__arity * var_decl__structure) Stdcompat.ref) * (cast_kind__arity * cast_kind__structure) Stdcompat.ref))))
and decoration__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and decoration__gadt = Clang__.Clang__bindings.cxcursor * (Clang__Clang__ast.Common.source_location option * unit)
and opaque_decoration__rec_group = decoration__rec_group
and opaque_decoration__kinds = [
  1. | `Opaque
]
and opaque_decoration__gadt = decoration * unit
and node__rec_group = decoration__rec_group
and node__kinds = [
  1. | `Lazy
  2. | `Opaque
  3. | `Record
  4. | `Variable
]
and 'a0 node__gadt = unit
and qual_type__rec_group = decoration__rec_group
and qual_type__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and qual_type__gadt = unit
and type_desc__rec_group = decoration__rec_group
and type_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and type_desc__gadt = unit
and template_name__rec_group = decoration__rec_group
and template_name__kinds = [
  1. | `Constr
  2. | `String
]
and template_name__gadt = unit
and template_argument__rec_group = decoration__rec_group
and template_argument__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and template_argument__gadt = unit
and requirement__rec_group = decoration__rec_group
and requirement__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and requirement__gadt = unit
and expr_requirement__rec_group = decoration__rec_group
and expr_requirement__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and expr_requirement__gadt = unit
and type_constraint__rec_group = decoration__rec_group
and type_constraint__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and type_constraint__gadt = unit
and nested_name_specifier__rec_group = decoration__rec_group
and nested_name_specifier__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and nested_name_specifier__gadt = unit
and nested_name_specifier_component__rec_group = decoration__rec_group
and nested_name_specifier_component__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and nested_name_specifier_component__gadt = unit
and declaration_name__rec_group = decoration__rec_group
and declaration_name__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and declaration_name__gadt = unit
and record_decl__rec_group = decoration__rec_group
and record_decl__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and record_decl__gadt = unit
and function_decl__rec_group = decoration__rec_group
and function_decl__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and function_decl__gadt = unit
and function_type__rec_group = decoration__rec_group
and function_type__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and function_type__gadt = unit
and exception_spec__rec_group = decoration__rec_group
and exception_spec__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and exception_spec__gadt = unit
and parameters__rec_group = decoration__rec_group
and parameters__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and parameters__gadt = unit
and parameter__rec_group = decoration__rec_group
and parameter__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and parameter__gadt = unit
and parameter_desc__rec_group = decoration__rec_group
and parameter_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and parameter_desc__gadt = unit
and stmt__rec_group = decoration__rec_group
and stmt__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and stmt__gadt = unit
and stmt_desc__rec_group = decoration__rec_group
and stmt_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and stmt_desc__gadt = unit
and catch__rec_group = decoration__rec_group
and catch__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and catch__gadt = unit
and asm__rec_group = decoration__rec_group
and asm__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and asm__gadt = unit
and asm_operand__rec_group = decoration__rec_group
and asm_operand__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and asm_operand__gadt = unit
and attribute__rec_group = decoration__rec_group
and attribute__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and attribute__gadt = unit
and attribute_desc__rec_group = decoration__rec_group
and attribute_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and attribute_desc__gadt = unit
and expr__rec_group = decoration__rec_group
and expr__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and expr__gadt = unit
and expr_desc__rec_group = decoration__rec_group
and expr_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and expr_desc__gadt = unit
and field__rec_group = decoration__rec_group
and field__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and field__gadt = unit
and lambda_capture__rec_group = decoration__rec_group
and lambda_capture__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Record
  4. | `String
  5. | `Variable
]
and lambda_capture__gadt = unit
and cast_kind__rec_group = decoration__rec_group
and cast_kind__kinds = [
  1. | `Constr
]
and cast_kind__gadt = unit
and expr_or_type__rec_group = decoration__rec_group
and expr_or_type__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and expr_or_type__gadt = unit
and string_literal__rec_group = decoration__rec_group
and string_literal__kinds = [
  1. | `Constr
  2. | `Int
  3. | `Record
  4. | `String
]
and string_literal__gadt = unit
and designator__rec_group = decoration__rec_group
and designator__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and designator__gadt = unit
and decl__rec_group = decoration__rec_group
and decl__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and decl__gadt = unit
and decl_desc__rec_group = decoration__rec_group
and decl_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and decl_desc__gadt = unit
and constructor_initializer__rec_group = decoration__rec_group
and constructor_initializer__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and constructor_initializer__gadt = unit
and constructor_initializer_kind__rec_group = decoration__rec_group
and constructor_initializer_kind__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and constructor_initializer_kind__gadt = unit
and decl_ref__rec_group = decoration__rec_group
and decl_ref__kinds = [
  1. | `Lazy
  2. | `Opaque
  3. | `Record
  4. | `String
  5. | `Variable
]
and decl_ref__gadt = unit
and directive__rec_group = decoration__rec_group
and directive__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `String
]
and directive__gadt = unit
and base_specifier__rec_group = decoration__rec_group
and base_specifier__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and base_specifier__gadt = unit
and ident_ref__rec_group = decoration__rec_group
and ident_ref__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and ident_ref__gadt = unit
and friend_decl__rec_group = decoration__rec_group
and friend_decl__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and friend_decl__gadt = unit
and label_ref__rec_group = decoration__rec_group
and label_ref__kinds = [
  1. | `String
]
and label_ref__gadt = unit
and enum_constant__rec_group = decoration__rec_group
and enum_constant__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and enum_constant__gadt = unit
and enum_constant_desc__rec_group = decoration__rec_group
and enum_constant_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and enum_constant_desc__gadt = unit
and var_decl__rec_group = decoration__rec_group
and var_decl__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and var_decl__gadt = unit
and var_decl_desc__rec_group = decoration__rec_group
and var_decl_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and var_decl_desc__gadt = unit
and cxx_method_binding_kind__rec_group = decoration__rec_group
and cxx_method_binding_kind__kinds = [
  1. | `Constr
]
and cxx_method_binding_kind__gadt = unit
and template_parameter_list__rec_group = decoration__rec_group
and template_parameter_list__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and template_parameter_list__gadt = unit
and template_parameter__rec_group = decoration__rec_group
and template_parameter__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and template_parameter__gadt = unit
and template_parameter_desc__rec_group = decoration__rec_group
and template_parameter_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and template_parameter_desc__gadt = unit
and template_parameter_kind__rec_group = decoration__rec_group
and template_parameter_kind__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and template_parameter_kind__gadt = unit
and translation_unit__rec_group = decoration__rec_group
and translation_unit__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and translation_unit__gadt = unit
and translation_unit_desc__rec_group = decoration__rec_group
and translation_unit_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and translation_unit_desc__gadt = unit
type Refl.refl +=
  1. | Refl_decoration : decoration Refl.refl
type Refl.sub_gadt_ext +=
  1. | Decoration__sub_1 : (decoration__gadt, qual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_opaque_decoration : opaque_decoration Refl.refl
type Refl.refl +=
  1. | Refl_node : 'a0 node Refl.refl
type Refl.sub_gadt_ext +=
  1. | Node__sub_1 : ('a0 node__gadt, 'a Clang__.Clang__ast.IdNode.t__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_qual_type : qual_type Refl.refl
type Refl.sub_gadt_ext +=
  1. | Qual_type__sub_3 : (qual_type__gadt, type_desc Clang__.Clang__ast.IdNode.t__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Qual_type__sub_1 : (qual_type__gadt, Clang__Clang__ast.opaque_type_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Qual_type__sub_0 : (qual_type__gadt, Clang__Clang__ast.opaque_cxtype__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_type_desc : type_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Type_desc__sub_30 : (type_desc__gadt, nested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_desc__sub_28 : (type_desc__gadt, Clang__Clang__ast.elaborated_type_keyword__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_desc__sub_26 : (type_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_desc__sub_18 : (type_desc__gadt, Clang__.Clang__bindings.clang_ext_typekind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_desc__sub_16 : (type_desc__gadt, template_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_desc__sub_7 : (type_desc__gadt, Clang__Clang__ast.builtin_type__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_template_name : template_name Refl.refl
type Refl.refl +=
  1. | Refl_template_argument : template_argument Refl.refl
type Refl.sub_gadt_ext +=
  1. | Template_argument__sub_7 : (template_argument__gadt, Clang__Clang__ast.integer_literal__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Template_argument__sub_2 : (template_argument__gadt, template_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_requirement : requirement Refl.refl
type Refl.refl +=
  1. | Refl_expr_requirement : expr_requirement Refl.refl
type Refl.sub_gadt_ext +=
  1. | Expr_requirement__sub_2 : (expr_requirement__gadt, type_constraint Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_type_constraint : type_constraint Refl.refl
type Refl.refl +=
  1. | Refl_nested_name_specifier : nested_name_specifier Refl.refl
type Refl.sub_gadt_ext +=
  1. | Nested_name_specifier__sub_1 : (nested_name_specifier__gadt, nested_name_specifier_component Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_nested_name_specifier_component : nested_name_specifier_component Refl.refl
type Refl.refl +=
  1. | Refl_declaration_name : declaration_name Refl.refl
type Refl.sub_gadt_ext +=
  1. | Declaration_name__sub_3 : (declaration_name__gadt, Clang__Clang__ast.overloaded_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_record_decl : record_decl Refl.refl
type Refl.sub_gadt_ext +=
  1. | Record_decl__sub_8 : (record_decl__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Record_decl__sub_6 : (record_decl__gadt, base_specifier Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Record_decl__sub_4 : (record_decl__gadt, nested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Record_decl__sub_2 : (record_decl__gadt, attribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Record_decl__sub_0 : (record_decl__gadt, Clang__Clang__ast.elaborated_type_keyword__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_function_decl : function_decl Refl.refl
type Refl.sub_gadt_ext +=
  1. | Function_decl__sub_8 : (function_decl__gadt, attribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Function_decl__sub_6 : (function_decl__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Function_decl__sub_3 : (function_decl__gadt, nested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Function_decl__sub_0 : (function_decl__gadt, Clang__Clang__ast.linkage_kind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_function_type : function_type Refl.refl
type Refl.sub_gadt_ext +=
  1. | Function_type__sub_6 : (function_type__gadt, Clang__.Clang__bindings.cxrefqualifierkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Function_type__sub_5 : (function_type__gadt, exception_spec Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Function_type__sub_3 : (function_type__gadt, parameters Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Function_type__sub_0 : (function_type__gadt, Clang__Clang__ast.calling_conv__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_exception_spec : exception_spec Refl.refl
type Refl.sub_gadt_ext +=
  1. | Exception_spec__sub_5 : (exception_spec__gadt, qual_type Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Exception_spec__sub_3 : (exception_spec__gadt, Clang__Clang__ast.exception_specification_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Exception_spec__sub_2 : (exception_spec__gadt, bool Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Exception_spec__sub_1 : (exception_spec__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_parameters : parameters Refl.refl
type Refl.sub_gadt_ext +=
  1. | Parameters__sub_1 : (parameters__gadt, parameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_parameter : parameter Refl.refl
type Refl.refl +=
  1. | Refl_parameter_desc : parameter_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Parameter_desc__sub_2 : (parameter_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_stmt : stmt Refl.refl
type Refl.refl +=
  1. | Refl_stmt_desc : stmt_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_54 : (stmt_desc__gadt, catch Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_48 : (stmt_desc__gadt, Clang__.Clang__bindings.clang_ext_stmtkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_47 : (stmt_desc__gadt, Clang__.Clang__bindings.cxcursorkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_44 : (stmt_desc__gadt, var_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_42 : (stmt_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_38 : (stmt_desc__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_36 : (stmt_desc__gadt, stmt Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_33 : (stmt_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_26 : (stmt_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_24 : (stmt_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_22 : (stmt_desc__gadt, var_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_20 : (stmt_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_17 : (stmt_desc__gadt, stmt Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_15 : (stmt_desc__gadt, attribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_13 : (stmt_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_9 : (stmt_desc__gadt, var_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_7 : (stmt_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_3 : (stmt_desc__gadt, var_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Stmt_desc__sub_1 : (stmt_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_catch : catch Refl.refl
type Refl.sub_gadt_ext +=
  1. | Catch__sub_1 : (catch__gadt, (string * qual_type) Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_asm : asm Refl.refl
type Refl.sub_gadt_ext +=
  1. | Asm__sub_4 : (asm__gadt, asm_operand Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Asm__sub_2 : (asm__gadt, asm_operand Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Asm__sub_0 : (asm__gadt, Clang__Clang__ast.asm_compiler_extension__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_asm_operand : asm_operand Refl.refl
type Refl.refl +=
  1. | Refl_attribute : attribute Refl.refl
type Refl.refl +=
  1. | Refl_attribute_desc : attribute_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Attribute_desc__sub_5 : (attribute_desc__gadt, (expr, decl, qual_type, declaration_name, Clang__.Clang__bindings.clang_ext_omptraitinfo) Clang__.Attributes.t__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Attribute_desc__sub_4 : (attribute_desc__gadt, Clang__Clang__ast.omp_trait_info__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_expr : expr Refl.refl
type Refl.refl +=
  1. | Refl_expr_desc : expr_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_94 : (expr_desc__gadt, designator Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_91 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_88 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_85 : (expr_desc__gadt, Clang__Clang__ast.unary_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_78 : (expr_desc__gadt, Clang__Clang__ast.unary_expr_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_77 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_74 : (expr_desc__gadt, Clang__Clang__ast.character_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_69 : (expr_desc__gadt, Clang__Clang__ast.predefined_identifier_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_66 : (expr_desc__gadt, Clang__.Clang__bindings.clang_ext_stmtkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_64 : (expr_desc__gadt, Clang__.Clang__bindings.clang_ext_stmtkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_63 : (expr_desc__gadt, Clang__.Clang__bindings.cxcursorkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_62 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_59 : (expr_desc__gadt, Clang__Clang__ast.floating_literal__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_55 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_49 : (expr_desc__gadt, qual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_47 : (expr_desc__gadt, parameter list Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_46 : (expr_desc__gadt, parameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_44 : (expr_desc__gadt, lambda_capture Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_42 : (expr_desc__gadt, Clang__Clang__ast.lambda_capture_default__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_40 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_35 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_31 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_29 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_26 : (expr_desc__gadt, expr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_23 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_21 : (expr_desc__gadt, (qual_type option * expr) Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_19 : (expr_desc__gadt, qual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_16 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_11 : (expr_desc__gadt, Clang__Clang__ast.binary_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_9 : (expr_desc__gadt, requirement Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_7 : (expr_desc__gadt, parameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_5 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_3 : (expr_desc__gadt, Clang__Clang__ast.binary_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_2 : (expr_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Expr_desc__sub_0 : (expr_desc__gadt, Clang__Clang__ast.integer_literal__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_field : field Refl.refl
type Refl.sub_gadt_ext +=
  1. | Field__sub_6 : (field__gadt, nested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Field__sub_4 : (field__gadt, template_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_lambda_capture : lambda_capture Refl.refl
type Refl.sub_gadt_ext +=
  1. | Lambda_capture__sub_1 : (lambda_capture__gadt, string Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Lambda_capture__sub_0 : (lambda_capture__gadt, Clang__Clang__ast.lambda_capture_kind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_cast_kind : cast_kind Refl.refl
type Refl.refl +=
  1. | Refl_expr_or_type : expr_or_type Refl.refl
type Refl.refl +=
  1. | Refl_string_literal : string_literal Refl.refl
type Refl.sub_gadt_ext +=
  1. | String_literal__sub_0 : (string_literal__gadt, Clang__Clang__ast.string_kind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_designator : designator Refl.refl
type Refl.refl +=
  1. | Refl_decl : decl Refl.refl
type Refl.refl +=
  1. | Refl_decl_desc : decl_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_64 : (decl_desc__gadt, exception_spec Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_62 : (decl_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_57 : (decl_desc__gadt, Clang__.Clang__bindings.clang_ext_declkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_56 : (decl_desc__gadt, Clang__.Clang__bindings.cxcursorkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_55 : (decl_desc__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_46 : (decl_desc__gadt, attribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_44 : (decl_desc__gadt, enum_constant Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_39 : (decl_desc__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_36 : (decl_desc__gadt, stmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_34 : (decl_desc__gadt, constructor_initializer Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_31 : (decl_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_27 : (decl_desc__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_25 : (decl_desc__gadt, Clang__Clang__ast.cxx_access_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_22 : (decl_desc__gadt, template_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_18 : (decl_desc__gadt, nested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_15 : (decl_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_13 : (decl_desc__gadt, declaration_name Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_11 : (decl_desc__gadt, attribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_9 : (decl_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_7 : (decl_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_4 : (decl_desc__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Decl_desc__sub_2 : (decl_desc__gadt, Clang__.Clang__types.language__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_constructor_initializer : constructor_initializer Refl.refl
type Refl.sub_gadt_ext +=
  1. | Constructor_initializer__sub_1 : (constructor_initializer__gadt, expr__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_constructor_initializer_kind : constructor_initializer_kind Refl.refl
type Refl.refl +=
  1. | Refl_decl_ref : decl_ref Refl.refl
type Refl.sub_gadt_ext +=
  1. | Decl_ref__sub_0 : (decl_ref__gadt, string node__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_directive : directive Refl.refl
type Refl.refl +=
  1. | Refl_base_specifier : base_specifier Refl.refl
type Refl.sub_gadt_ext +=
  1. | Base_specifier__sub_1 : (base_specifier__gadt, Clang__Clang__ast.cxx_access_specifier__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_ident_ref : ident_ref Refl.refl
type Refl.sub_gadt_ext +=
  1. | Ident_ref__sub_4 : (ident_ref__gadt, template_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Ident_ref__sub_1 : (ident_ref__gadt, nested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_friend_decl : friend_decl Refl.refl
type Refl.refl +=
  1. | Refl_label_ref : label_ref Refl.refl
type Refl.refl +=
  1. | Refl_enum_constant : enum_constant Refl.refl
type Refl.refl +=
  1. | Refl_enum_constant_desc : enum_constant_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Enum_constant_desc__sub_1 : (enum_constant_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_var_decl : var_decl Refl.refl
type Refl.refl +=
  1. | Refl_var_decl_desc : var_decl_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Var_decl_desc__sub_5 : (var_decl_desc__gadt, attribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Var_decl_desc__sub_3 : (var_decl_desc__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Var_decl_desc__sub_0 : (var_decl_desc__gadt, Clang__Clang__ast.linkage_kind__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_cxx_method_binding_kind : cxx_method_binding_kind Refl.refl
type Refl.refl +=
  1. | Refl_template_parameter_list : template_parameter_list Refl.refl
type Refl.sub_gadt_ext +=
  1. | Template_parameter_list__sub_3 : (template_parameter_list__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Template_parameter_list__sub_2 : (template_parameter_list__gadt, expr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Template_parameter_list__sub_1 : (template_parameter_list__gadt, template_parameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_template_parameter : template_parameter Refl.refl
type Refl.refl +=
  1. | Refl_template_parameter_desc : template_parameter_desc Refl.refl
type Refl.refl +=
  1. | Refl_template_parameter_kind : template_parameter_kind Refl.refl
type Refl.sub_gadt_ext +=
  1. | Template_parameter_kind__sub_6 : (template_parameter_kind__gadt, expr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Template_parameter_kind__sub_5 : (template_parameter_kind__gadt, expr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Template_parameter_kind__sub_3 : (template_parameter_kind__gadt, string Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Template_parameter_kind__sub_1 : (template_parameter_kind__gadt, qual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.refl +=
  1. | Refl_translation_unit : translation_unit Refl.refl
type Refl.refl +=
  1. | Refl_translation_unit_desc : translation_unit_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Translation_unit_desc__sub_1 : (translation_unit_desc__gadt, decl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
val constructor3 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor2 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor9 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor8 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor7 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor6 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor5 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor4 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor10 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor11 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor14 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor13 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor12 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor18 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor17 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor16 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor15 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor24 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor23 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor22 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor21 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor20 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor19 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor25 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor26 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor29 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor28 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val constructor27 : (unit * unit, [ `Constructor of [ `Tuple of unit ] * unit ], unit, 'a, 'b, 'c, 'd, 'e, 'f) Refl.constructor
val node_refl : ('a0 node, node__structure, 'a0 * unit, node__rec_group, [> template_parameter_kind__kinds ], ([ `Present ], [ `Absent ]) node__variable_positive0 * unit, ([ `Present ], [ `Absent ]) node__variable_negative0 * unit, ([ `Present ], [ `Absent ]) node__variable_direct0 * unit, 'a0 node__gadt) Refl.desc
val stmt_refl : (stmt, stmt__structure, unit, stmt__rec_group, [> template_parameter_kind__kinds ], unit, unit, unit, stmt__gadt) Refl.desc
val asm_refl : (asm, asm__structure, unit, asm__rec_group, [> template_parameter_kind__kinds ], unit, unit, unit, asm__gadt) Refl.desc
val expr_refl : (expr, expr__structure, unit, expr__rec_group, [> template_parameter_kind__kinds ], unit, unit, unit, expr__gadt) Refl.desc
val decl_refl : (decl, decl__structure, unit, decl__rec_group, [> template_parameter_kind__kinds ], unit, unit, unit, decl__gadt) Refl.desc
type type_loc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).type_loc = {
  1. typeloc : Clang__.Clang__bindings.clang_ext_typeloc option;
  2. desc : type_loc_desc;
}
and type_loc_desc = Clang__Clang__ast.Custom(Clang__.Clang__ast.IdNode).type_loc_desc =
  1. | TypedefTypeLoc of ident_ref
  2. | ConstantArrayTypeLoc of {
    1. size : expr;
    2. element : type_loc;
    }
  3. | VariableArrayTypeLoc of {
    1. size : expr;
    2. element : type_loc;
    }
  4. | IncompleteArrayTypeLoc of {
    1. element : type_loc;
    }
  5. | PointerTypeLoc of {
    1. pointee : type_loc;
    }
  6. | BlockPointerTypeLoc of {
    1. pointee : type_loc;
    }
  7. | MemberPointerTypeLoc of {
    1. class_ : type_loc;
    2. pointee : type_loc;
    }
  8. | FunctionTypeLoc of {
    1. result : type_loc;
    2. parameters : parameter list;
    }
  9. | QualifiedTypeLoc of type_loc
  10. | RecordTypeLoc of ident_ref
  11. | EnumTypeLoc of ident_ref
  12. | ElaboratedTypeLoc of qual_type
type type_loc__arity = [
  1. | `Zero
]
and type_loc__structure = [
  1. | `Name of [ `Record of [ `Mono of [ `Opaque of [ `Zero ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `One of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ]
]
and type_loc_desc__arity = [
  1. | `Zero
]
and type_loc_desc__structure = [
  1. | `Name of [ `Constr of ((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.builtin_type__structure * Clang__Clang__ast.builtin_type__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Apply of [ `SubGADT of [ `RecGroup of parameter__structure * parameter__rec_group ] ] * unit * unit * unit * unit * unit ] * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_positive0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_negative0 * unit) * (([ `Present ], [ `Absent ]) Refl.Builtins.list__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of qual_type__structure * qual_type__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of expr__structure * expr__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of ident_ref__structure * ident_ref__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of ident_ref__structure * ident_ref__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_typeloc_class__structure * Clang__.Clang__bindings.clang_ext_typeloc_class__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of expr__structure * expr__rec_group ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of ident_ref__structure * ident_ref__rec_group ] ] * unit * unit * unit * unit * unit ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit * unit * unit * unit * unit ] ] * unit) ] * unit ] Stdcompat.ref)) ]
]
and type_loc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and type_loc__gadt = Clang__.Clang__bindings.clang_ext_typeloc option * unit
and type_loc_desc__rec_group = type_loc__rec_group
and type_loc_desc__kinds = [
  1. | `Bool
  2. | `Constr
  3. | `Float
  4. | `Int
  5. | `Lazy
  6. | `Opaque
  7. | `Record
  8. | `String
  9. | `Tuple
  10. | `Variable
]
and type_loc_desc__gadt = unit
type Refl.refl +=
  1. | Refl_type_loc : type_loc Refl.refl
type Refl.refl +=
  1. | Refl_type_loc_desc : type_loc_desc Refl.refl
type Refl.sub_gadt_ext +=
  1. | Type_loc_desc__sub_13 : (type_loc_desc__gadt, Clang__.Clang__bindings.clang_ext_typeloc_class__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_loc_desc__sub_3 : (type_loc_desc__gadt, parameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext +=
  1. | Type_loc_desc__sub_0 : (type_loc_desc__gadt, Clang__Clang__ast.builtin_type__gadt) Refl.sub_gadt_ext
val var : ?linkage:linkage_kind -> ?var_init:expr -> ?constexpr:bool -> ?attributes:attribute list -> string -> qual_type -> var_decl_desc
val function_decl : ?linkage:linkage_kind -> ?body:stmt -> ?deleted:bool -> ?constexpr:bool -> ?inline_specified:bool -> ?inlined:bool -> ?nested_name_specifier:nested_name_specifier -> ?attributes:attribute list -> ?has_written_prototype:bool -> function_type -> declaration_name -> function_decl
val function_type : ?calling_conv:calling_conv -> ?parameters:parameters -> ?exception_spec:exception_spec -> ?ref_qualifier:Clang__.Clang__bindings.cxrefqualifierkind -> qual_type -> function_type
val parameters : ?variadic:bool -> parameter list -> parameters
val parameter : ?default:expr -> qual_type -> string -> parameter_desc
val ident_ref : ?nested_name_specifier:nested_name_specifier -> ?template_arguments:template_argument list -> declaration_name -> ident_ref
val identifier_name : ?nested_name_specifier:nested_name_specifier -> ?template_arguments:template_argument list -> string -> ident_ref
val new_instance : ?placement_args:expr list -> ?array_size:expr -> ?init:expr -> ?args:expr list -> qual_type -> expr_desc
val delete : ?global_delete:bool -> ?array_form:bool -> expr -> expr_desc
val enum_decl : ?complete_definition:bool -> ?attributes:attribute list -> string -> enum_constant list -> decl_desc
val if_ : ?init:stmt -> ?condition_variable:var_decl -> ?else_branch:stmt -> expr -> stmt -> stmt_desc
module Options : sig ... end
val parse_file : ?index:Clang__.Clang__bindings.cxindex -> ?command_line_args:string list -> ?unsaved_files:Clang__.Clang__bindings.cxunsavedfile list -> ?clang_options:Clang__.Clang__bindings.Cxtranslationunit_flags.t -> ?options:Options.t -> string -> translation_unit
val parse_file_res : ?index:Clang__.Clang__bindings.cxindex -> ?command_line_args:string list -> ?unsaved_files:Clang__.Clang__bindings.cxunsavedfile list -> ?clang_options:Clang__.Clang__bindings.Cxtranslationunit_flags.t -> ?options:Options.t -> string -> (translation_unit, Clang__.Clang__bindings.cxerrorcode) Stdcompat.result
val parse_string : ?index:Clang__.Clang__bindings.cxindex -> ?filename:string -> ?command_line_args:string list -> ?unsaved_files:Clang__.Clang__bindings.cxunsavedfile list -> ?clang_options:Clang__.Clang__bindings.Cxtranslationunit_flags.t -> ?options:Options.t -> string -> translation_unit
val parse_string_res : ?index:Clang__.Clang__bindings.cxindex -> ?filename:string -> ?command_line_args:string list -> ?unsaved_files:Clang__.Clang__bindings.cxunsavedfile list -> ?clang_options:Clang__.Clang__bindings.Cxtranslationunit_flags.t -> ?options:Options.t -> string -> (translation_unit, Clang__.Clang__bindings.cxerrorcode) Stdcompat.result
val of_cxtranslationunit : ?options:Options.t -> Clang__.Clang__bindings.cxtranslationunit -> translation_unit
val node : ?decoration:decoration -> ?cursor:Clang__.Clang__bindings.cxcursor -> ?location:source_location -> ?qual_type:qual_type -> 'a Clang__.Clang__ast.IdNode.t -> 'a node
val cursor_of_decoration : decoration -> Clang__.Clang__bindings.cxcursor
val cursor_of_node : 'a node -> Clang__.Clang__bindings.cxcursor
val location_of_decoration : decoration -> source_location
val location_of_node : 'a node -> source_location
val tokens_of_node : 'a node -> string array
val seq_of_diagnostics : translation_unit -> Clang__.Clang__bindings.cxdiagnostic Stdcompat.Seq.t
val format_diagnostics : ?pp: ((Stdcompat.Format.formatter -> unit -> unit) -> Stdcompat.Format.formatter -> unit -> unit) -> Clang__.Clang__bindings.cxdiagnosticseverity list -> Stdcompat.Format.formatter -> translation_unit -> unit
val has_severity : Clang__.Clang__bindings.cxdiagnosticseverity list -> translation_unit -> bool
val string_of_elaborated_type_keyword : Clang__.Clang__ast.elaborated_type_keyword -> string
val string_of_unary_operator_kind : Clang__.Clang__ast.unary_operator_kind -> string
val string_of_binary_operator_kind : Clang__.Clang__ast.binary_operator_kind -> string
val literal_of_int : int -> Clang__.Clang__ast.integer_literal
val int64_of_literal_opt : ?signed:bool -> Clang__.Clang__ast.integer_literal -> Stdcompat.Int64.t option
val int64_of_literal : ?signed:bool -> Clang__.Clang__ast.integer_literal -> Stdcompat.Int64.t
val int_of_literal_opt : ?signed:bool -> Clang__.Clang__ast.integer_literal -> int option
val int_of_literal : ?signed:bool -> Clang__.Clang__ast.integer_literal -> int
val string_of_integer_literal : ?signed:bool -> Clang__.Clang__ast.integer_literal -> string
val print_integer_literal : ?signed:bool -> Clang__.Clang__ast.integer_literal -> unit
val output_integer_literal : ?signed:bool -> Stdcompat.out_channel -> Clang__.Clang__ast.integer_literal -> unit
val pp_print_integer_literal : ?signed:bool -> Stdcompat.Format.formatter -> Clang__.Clang__ast.integer_literal -> unit
val literal_of_float : float -> Clang__.Clang__ast.floating_literal
val float_of_literal : Clang__.Clang__ast.floating_literal -> float
val string_of_floating_literal : Clang__.Clang__ast.floating_literal -> string
val print_floating_literal : Clang__.Clang__ast.floating_literal -> unit
val output_floating_literal : Stdcompat.out_channel -> Clang__.Clang__ast.floating_literal -> unit
val pp_print_floating_literal : Stdcompat.Format.formatter -> Clang__.Clang__ast.floating_literal -> unit
val languages_of_ids : Clang__.Clang__bindings.Clang_ext_languageids.t -> Clang__.Clang__ast.languages
val language_of_ids : Clang__.Clang__bindings.Clang_ext_languageids.t -> Clang__.Clang__types.language
val ids_of_languages : Clang__.Clang__ast.languages -> Clang__.Clang__bindings.Clang_ext_languageids.t
val ids_of_language : Clang__.Clang__types.language -> Clang__.Clang__bindings.Clang_ext_languageids.t
val literal_of_string : ?byte_width:int -> ?string_kind:Clang__.Clang__bindings.clang_ext_stringkind -> string -> Clang__.Clang__ast.string_literal
val concrete_of_source_location : Clang__.Clang__types.location_kind -> Clang__.Clang__ast.source_location -> Clang__.Clang__types.concrete_location
val pp_source_location : ?options:Clang__.Clang__types.Display_source_location.t -> ?ranges: (unit -> (Clang__.Clang__ast.source_location * Clang__.Clang__ast.source_location) list) -> Stdcompat.Format.formatter -> Clang__.Clang__ast.source_location -> unit