Module Clang.Ast

AST types.

The module includes Clang__ast which contains the declaration of the abstract syntax tree. Since the abstract syntax tree is a pure type declaration without value definition, the declaration is written in a separate module, written in an implementation file (.ml) without interface file (.mli)).

include module type of sig ... end
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 = Clang__Clang__ast.Common.source_location =
| Clang of Clang__.Clang__bindings.cxsourcelocation
| Concrete of Clang__.Clang__types.concrete_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 = Clang__Clang__ast.Common.integer_literal =
| Int of int
| CXInt of Clang__.Clang__bindings.cxint
and floating_literal = Clang__Clang__ast.Common.floating_literal =
| Float of float
| CXFloat of Clang__.Clang__bindings.cxfloat
and languages = Clang__Clang__ast.Common.languages = {
c : bool;
cxx : bool;
}
and asm_compiler_extension = Clang__Clang__ast.Common.asm_compiler_extension =
| GCC
| MS
and opaque_cxtype = Clang__.Clang__bindings.cxtype
and opaque_type_loc = Clang__.Clang__bindings.clang_ext_typeloc option
type elaborated_type_keyword__arity = [
| `Zero
]
and elaborated_type_keyword__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__structure * Clang__.Clang__bindings.clang_ext_elaboratedtypekeyword__rec_group ] ]
]
and character_kind__arity = [
| `Zero
]
and character_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stringkind__structure * Clang__.Clang__bindings.clang_ext_stringkind__rec_group ] ]
]
and unary_expr_kind__arity = [
| `Zero
]
and unary_expr_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_unaryexpr__structure * Clang__.Clang__bindings.clang_ext_unaryexpr__rec_group ] ]
]
and unary_operator_kind__arity = [
| `Zero
]
and unary_operator_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_unaryoperatorkind__structure * Clang__.Clang__bindings.clang_ext_unaryoperatorkind__rec_group ] ]
]
and binary_operator_kind__arity = [
| `Zero
]
and binary_operator_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_binaryoperatorkind__structure * Clang__.Clang__bindings.clang_ext_binaryoperatorkind__rec_group ] ]
]
and attribute_kind__arity = [
| `Zero
]
and attribute_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_attrkind__structure * Clang__.Clang__bindings.clang_ext_attrkind__rec_group ] ]
]
and builtin_type__arity = [
| `Zero
]
and builtin_type__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxtypekind__structure * Clang__.Clang__bindings.cxtypekind__rec_group ] ]
]
and cxx_access_specifier__arity = [
| `Zero
]
and cxx_access_specifier__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cx_cxxaccessspecifier__structure * Clang__.Clang__bindings.cx_cxxaccessspecifier__rec_group ] ]
]
and calling_conv__arity = [
| `Zero
]
and calling_conv__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcallingconv__structure * Clang__.Clang__bindings.cxcallingconv__rec_group ] ]
]
and linkage_kind__arity = [
| `Zero
]
and linkage_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxlinkagekind__structure * Clang__.Clang__bindings.cxlinkagekind__rec_group ] ]
]
and predefined_identifier_kind__arity = [
| `Zero
]
and predefined_identifier_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__structure * Clang__.Clang__bindings.clang_ext_predefinedexpr_identkind__rec_group ] ]
]
and lambda_capture_default__arity = [
| `Zero
]
and lambda_capture_default__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_lambdacapturedefault__structure * Clang__.Clang__bindings.clang_ext_lambdacapturedefault__rec_group ] ]
]
and lambda_capture_kind__arity = [
| `Zero
]
and lambda_capture_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_lambdacapturekind__structure * Clang__.Clang__bindings.clang_ext_lambdacapturekind__rec_group ] ]
]
and overloaded_operator_kind__arity = [
| `Zero
]
and overloaded_operator_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__structure * Clang__.Clang__bindings.clang_ext_overloadedoperatorkind__rec_group ] ]
]
and string_kind__arity = [
| `Zero
]
and string_kind__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stringkind__structure * Clang__.Clang__bindings.clang_ext_stringkind__rec_group ] ]
]
and exception_specification_type__arity = [
| `Zero
]
and exception_specification_type__structure = [
| `Name of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__structure * Clang__.Clang__bindings.clang_ext_exceptionspecificationtype__rec_group ] ]
]
and integer_literal__arity = [
| `Zero
]
and integer_literal__structure = [
| `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 = [
| `Zero
]
and floating_literal__structure = [
| `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 = [
| `Zero
]
and languages__structure = [
| `Name of [ `Record of [ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit) ]
]
and asm_compiler_extension__arity = [
| `Zero
]
and asm_compiler_extension__structure = [
| `Name of [ `Constr of [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref ]
]
and opaque_cxtype__arity = [
| `Zero
]
and opaque_cxtype__structure = [
| `Name of [ `Opaque of [ `Zero ] ]
]
and opaque_type_loc__arity = [
| `Zero
]
and opaque_type_loc__structure = [
| `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 * (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 = [
| `Constr
| `Int
| `Opaque
]
and integer_literal__gadt = Clang__.Clang__bindings.cxint * unit
and floating_literal__rec_group = elaborated_type_keyword__rec_group
and floating_literal__kinds = [
| `Constr
| `Float
| `Opaque
]
and floating_literal__gadt = Clang__.Clang__bindings.cxfloat * unit
and languages__rec_group = elaborated_type_keyword__rec_group
and languages__kinds = [
| `Bool
| `Record
]
and languages__gadt = unit
and asm_compiler_extension__rec_group = elaborated_type_keyword__rec_group
and asm_compiler_extension__kinds = [
| `Constr
]
and asm_compiler_extension__gadt = unit
and opaque_cxtype__rec_group = elaborated_type_keyword__rec_group
and opaque_cxtype__kinds = [
| `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 = [
| `Opaque
]
and opaque_type_loc__gadt = Clang__.Clang__bindings.clang_ext_typeloc option * unit
type Refl.refl += Refl_elaborated_type_keyword : elaborated_type_keyword Refl.refl
type Refl.sub_gadt_ext += Elaborated_type_keyword__sub_0 : (elaborated_type_keyword__gadtClang__.Clang__bindings.clang_ext_elaboratedtypekeyword__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_character_kind : character_kind Refl.refl
type Refl.sub_gadt_ext += Character_kind__sub_0 : (character_kind__gadtClang__.Clang__bindings.clang_ext_stringkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_unary_expr_kind : unary_expr_kind Refl.refl
type Refl.sub_gadt_ext += Unary_expr_kind__sub_0 : (unary_expr_kind__gadtClang__.Clang__bindings.clang_ext_unaryexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_unary_operator_kind : unary_operator_kind Refl.refl
type Refl.sub_gadt_ext += Unary_operator_kind__sub_0 : (unary_operator_kind__gadtClang__.Clang__bindings.clang_ext_unaryoperatorkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_binary_operator_kind : binary_operator_kind Refl.refl
type Refl.sub_gadt_ext += Binary_operator_kind__sub_0 : (binary_operator_kind__gadtClang__.Clang__bindings.clang_ext_binaryoperatorkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_attribute_kind : attribute_kind Refl.refl
type Refl.sub_gadt_ext += Attribute_kind__sub_0 : (attribute_kind__gadtClang__.Clang__bindings.clang_ext_attrkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_builtin_type : builtin_type Refl.refl
type Refl.sub_gadt_ext += Builtin_type__sub_0 : (builtin_type__gadtClang__.Clang__bindings.cxtypekind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_cxx_access_specifier : cxx_access_specifier Refl.refl
type Refl.sub_gadt_ext += Cxx_access_specifier__sub_0 : (cxx_access_specifier__gadtClang__.Clang__bindings.cx_cxxaccessspecifier__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_calling_conv : calling_conv Refl.refl
type Refl.sub_gadt_ext += Calling_conv__sub_0 : (calling_conv__gadtClang__.Clang__bindings.cxcallingconv__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_linkage_kind : linkage_kind Refl.refl
type Refl.sub_gadt_ext += Linkage_kind__sub_0 : (linkage_kind__gadtClang__.Clang__bindings.cxlinkagekind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_predefined_identifier_kind : predefined_identifier_kind Refl.refl
type Refl.sub_gadt_ext += Predefined_identifier_kind__sub_0 : (predefined_identifier_kind__gadtClang__.Clang__bindings.clang_ext_predefinedexpr_identkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_lambda_capture_default : lambda_capture_default Refl.refl
type Refl.sub_gadt_ext += Lambda_capture_default__sub_0 : (lambda_capture_default__gadtClang__.Clang__bindings.clang_ext_lambdacapturedefault__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_lambda_capture_kind : lambda_capture_kind Refl.refl
type Refl.sub_gadt_ext += Lambda_capture_kind__sub_0 : (lambda_capture_kind__gadtClang__.Clang__bindings.clang_ext_lambdacapturekind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_overloaded_operator_kind : overloaded_operator_kind Refl.refl
type Refl.sub_gadt_ext += Overloaded_operator_kind__sub_0 : (overloaded_operator_kind__gadtClang__.Clang__bindings.clang_ext_overloadedoperatorkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_string_kind : string_kind Refl.refl
type Refl.sub_gadt_ext += String_kind__sub_0 : (string_kind__gadtClang__.Clang__bindings.clang_ext_stringkind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_exception_specification_type : exception_specification_type Refl.refl
type Refl.sub_gadt_ext += Exception_specification_type__sub_0 : (exception_specification_type__gadtClang__.Clang__bindings.clang_ext_exceptionspecificationtype__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_integer_literal : integer_literal Refl.refl
type Refl.refl += Refl_floating_literal : floating_literal Refl.refl
type Refl.refl += Refl_languages : languages Refl.refl
type Refl.refl += Refl_asm_compiler_extension : asm_compiler_extension Refl.refl
type Refl.refl += Refl_opaque_cxtype : opaque_cxtype Refl.refl
type Refl.refl += Refl_opaque_type_loc : opaque_type_loc Refl.refl
val elaborated_type_keyword_refl : (elaborated_type_keywordelaborated_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_kindcharacter_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_kindunary_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_kindunary_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_kindbinary_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_kindattribute_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_typebuiltin_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_specifiercxx_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_convcalling_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_kindlinkage_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_kindpredefined_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_defaultlambda_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_kindlambda_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_kindoverloaded_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_kindstring_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_typeexception_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 integer_literal_refl : (integer_literalinteger_literal__structure, unit, integer_literal__rec_group[> integer_literal__kinds ], unit, unit, unit, integer_literal__gadt) Refl.desc
val floating_literal_refl : (floating_literalfloating_literal__structure, unit, floating_literal__rec_group[> floating_literal__kinds ], unit, unit, unit, floating_literal__gadt) Refl.desc
val languages_refl : (languageslanguages__structure, unit, languages__rec_group[> languages__kinds ], unit, unit, unit, languages__gadt) Refl.desc
val asm_compiler_extension_refl : (asm_compiler_extensionasm_compiler_extension__structure, unit, asm_compiler_extension__rec_group[> asm_compiler_extension__kinds ], unit, unit, unit, asm_compiler_extension__gadt) Refl.desc
val opaque_cxtype_refl : (opaque_cxtypeopaque_cxtype__structure, unit, opaque_cxtype__rec_group[> opaque_cxtype__kinds ], unit, unit, unit, opaque_cxtype__gadt) Refl.desc
val opaque_type_loc_refl : (opaque_type_locopaque_type_loc__structure, unit, opaque_type_loc__rec_group[> opaque_type_loc__kinds ], unit, unit, unit, opaque_type_loc__gadt) Refl.desc
module type NodeS = sig ... end
type decoration = Clang__Clang__ast.Custom(Node).decoration =
| Cursor of Clang__.Clang__bindings.cxcursor
| Custom of {
location : Clang__Clang__ast.source_location option;
qual_type : qual_type option;
}
and opaque_decoration = decoration
and 'a node = 'a Clang__Clang__ast.Custom(Node).node = {
decoration : opaque_decoration;
desc : 'a Node.t;
}
and qual_type = Clang__Clang__ast.Custom(Node).qual_type = {
cxtype : Clang__Clang__ast.opaque_cxtype;
type_loc : Clang__Clang__ast.opaque_type_loc;
const : bool;
volatile : bool;
restrict : bool;
desc : type_desc Node.t;
}
and type_desc = Clang__Clang__ast.Custom(Node).type_desc =
| Pointer of qual_type
| LValueReference of qual_type
| RValueReference of qual_type
| ConstantArray of {
element : qual_type;
size : int;
size_as_expr : expr option;
}
| Vector of {
element : qual_type;
size : int;
}
| IncompleteArray of qual_type
| VariableArray of {
element : qual_type;
size : expr;
}
| Elaborated of {
keyword : Clang__Clang__ast.elaborated_type_keyword;
nested_name_specifier : nested_name_specifier option;
named_type : qual_type;
}
| Enum of ident_ref
| FunctionType of function_type
| Record of ident_ref
| Typedef of ident_ref
| Complex of qual_type
| Attributed of {
modified_type : qual_type;
attribute : attribute;
}
| ParenType of qual_type
| TemplateTypeParm of string
| SubstTemplateTypeParm of string
| TemplateSpecialization of {
name : template_name;
args : template_argument list;
}
| BuiltinType of Clang__Clang__ast.builtin_type
| Auto
| PackExpansion of qual_type
| MemberPointer of {
pointee : qual_type;
class_ : qual_type;
}
| Decltype of expr
| InjectedClassName of qual_type
| UnexposedType of Clang__.Clang__bindings.clang_ext_typekind
| InvalidType
and template_name = Clang__Clang__ast.Custom(Node).template_name =
| NameTemplate of string
| OverloadedTemplate
| QualifiedTemplate
| DependentTemplate
| SubstTemplateTemplateParm
| SubstTemplateTemplateParmPack
| InvalidNameKind
and template_argument = Clang__Clang__ast.Custom(Node).template_argument =
| Type of qual_type
| ArgumentDecl of decl
| NullPtr of qual_type
| TemplateTemplateArgument of template_name
| TemplateExpansion of template_name
| Integral of {
value : Clang__Clang__ast.integer_literal;
qual_type : qual_type;
}
| NonTypeTemplateArgument of qual_type
| ExprTemplateArgument of expr
| Pack of template_argument list
and requirement = Clang__Clang__ast.Custom(Node).requirement =
| Type of qual_type
| Simple of expr_requirement
| Compound of expr_requirement
| Nested of expr
and expr_requirement = Clang__Clang__ast.Custom(Node).expr_requirement = {
expr : expr;
return_type_type_constraint : type_constraint option;
}
and type_constraint = Clang__Clang__ast.Custom(Node).type_constraint = {
parameters : template_parameter_list;
type_constraint : expr;
}
and nested_name_specifier = nested_name_specifier_component list
and nested_name_specifier_component = Clang__Clang__ast.Custom(Node).nested_name_specifier_component =
| Global
| NestedIdentifier of string
| NamespaceName of string
| NamespaceAliasName of string
| TypeSpec of qual_type
| TypeSpecWithTemplate of qual_type
and declaration_name = Clang__Clang__ast.Custom(Node).declaration_name =
| IdentifierName of string
| ConstructorName of qual_type
| DestructorName of qual_type
| ConversionFunctionName of qual_type
| DeductionGuideName of decl
| OperatorName of Clang__Clang__ast.overloaded_operator_kind
| LiteralOperatorName of string
| UsingDirectiveName
and record_decl = Clang__Clang__ast.Custom(Node).record_decl = {
keyword : Clang__Clang__ast.elaborated_type_keyword;
attributes : attribute list;
nested_name_specifier : nested_name_specifier option;
name : string;
bases : base_specifier list;
fields : decl list;
final : bool;
complete_definition : bool;
}
and function_decl = Clang__Clang__ast.Custom(Node).function_decl = {
linkage : Clang__Clang__ast.linkage_kind;
function_type : function_type;
nested_name_specifier : nested_name_specifier option;
name : declaration_name;
body : stmt option;
deleted : bool;
constexpr : bool;
inline_specified : bool;
inlined : bool;
attributes : attribute list;
}
and function_type = Clang__Clang__ast.Custom(Node).function_type = {
calling_conv : Clang__Clang__ast.calling_conv;
result : qual_type;
parameters : parameters option;
exception_spec : exception_spec option;
ref_qualifier : Clang__.Clang__bindings.cxrefqualifierkind;
}
and exception_spec = Clang__Clang__ast.Custom(Node).exception_spec =
| Noexcept of {
expr : expr option;
evaluated : bool option;
}
| Throw of qual_type list
| Other of Clang__Clang__ast.exception_specification_type
and parameters = Clang__Clang__ast.Custom(Node).parameters = {
non_variadic : parameter list;
variadic : bool;
}
and parameter = parameter_desc node
and parameter_desc = Clang__Clang__ast.Custom(Node).parameter_desc = {
qual_type : qual_type;
name : string;
default : expr option;
}
and stmt = stmt_desc node
and stmt_desc = Clang__Clang__ast.Custom(Node).stmt_desc =
| Null
| Compound of stmt list
| For of {
init : stmt option;
condition_variable : var_decl option;
cond : expr option;
inc : stmt option;
body : stmt;
}
| ForRange of {
var : var_decl;
range : expr;
body : stmt;
}
| If of {
init : stmt option;
condition_variable : var_decl option;
cond : expr;
then_branch : stmt;
else_branch : stmt option;
}
| Switch of {
init : stmt option;
condition_variable : var_decl option;
cond : expr;
body : stmt;
}
| Case of {
lhs : expr;
rhs : expr option;
body : stmt;
}
| Default of stmt
| While of {
condition_variable : var_decl option;
cond : expr;
body : stmt;
}
| Do of {
body : stmt;
cond : expr;
}
| Label of {
label : label_ref;
body : stmt;
}
| Goto of label_ref
| IndirectGoto of expr
| Continue
| Break
| Asm of asm
| Return of expr option
| Decl of decl list
| Expr of expr
| Try of {
try_block : stmt;
handlers : catch list;
}
| AttributedStmt of {
attributes : attribute list;
sub_stmts : stmt list;
}
| UnknownStmt of Clang__.Clang__bindings.cxcursorkind * Clang__.Clang__bindings.clang_ext_stmtkind
and catch = Clang__Clang__ast.Custom(Node).catch = {
parameter : (string * qual_type) option;
block : stmt;
}
and asm = Clang__Clang__ast.Custom(Node).asm = {
asm_compiler_extension : Clang__Clang__ast.asm_compiler_extension;
asm_string : string;
asm_inputs : asm_operand list;
asm_outputs : asm_operand list;
}
and asm_operand = Clang__Clang__ast.Custom(Node).asm_operand = {
asm_constraint : string;
asm_expr : expr;
}
and attribute = attribute_desc node
and attribute_desc = (exprqual_typedeclaration_name) Clang__.Attributes.t
and expr = expr_desc node
and expr_desc = Clang__Clang__ast.Custom(Node).expr_desc =
| IntegerLiteral of Clang__Clang__ast.integer_literal
| FloatingLiteral of Clang__Clang__ast.floating_literal
| StringLiteral of string_literal
| CharacterLiteral of {
kind : Clang__Clang__ast.character_kind;
value : int;
}
| ImaginaryLiteral of expr
| BoolLiteral of bool
| NullPtrLiteral
| UnaryOperator of {
kind : Clang__Clang__ast.unary_operator_kind;
operand : expr;
}
| BinaryOperator of {
lhs : expr;
kind : Clang__Clang__ast.binary_operator_kind;
rhs : expr;
}
| DeclRef of ident_ref
| Call of {
callee : expr;
args : expr list;
}
| Cast of {
kind : cast_kind;
qual_type : qual_type;
operand : expr;
}
| Member of {
base : expr option;
arrow : bool;
field : field;
}
| ArraySubscript of {
base : expr;
index : expr;
}
| ConditionalOperator of {
cond : expr;
then_branch : expr option;
else_branch : expr;
}
| Paren of expr
| AddrLabel of string
| InitList of expr list
| CompoundLiteral of {
qual_type : qual_type;
init : expr;
}
| UnaryExpr of {
kind : Clang__Clang__ast.unary_expr_kind;
argument : expr_or_type;
}
| GenericSelection of {
controlling_expr : expr;
assocs : (qual_type option * expr) list;
}
| Predefined of {
kind : Clang__Clang__ast.predefined_identifier_kind;
function_name : string;
}
| ExprWithCleanups of expr
| TemporaryObject of {
qual_type : qual_type;
args : expr list;
}
| MaterializeTemporaryExpr of expr
| BindTemporaryExpr of expr
| Lambda of {
capture_default : Clang__Clang__ast.lambda_capture_default;
captures : lambda_capture list;
is_mutable : bool;
parameters : parameter list option;
result_type : qual_type option;
body : stmt;
}
| This
| New of {
placement_args : expr list;
qual_type : qual_type;
array_size : expr option;
init : expr option;
}
| Delete of {
global_delete : bool;
array_form : bool;
argument : expr;
}
| Typeid of expr_or_type
| PackExpansionExpr of expr
| Fold of {
lhs : expr option;
operator : Clang__Clang__ast.binary_operator_kind;
rhs : expr option;
}
| SizeOfPack of ident_ref
| Construct of {
qual_type : qual_type;
args : expr list;
}
| UnresolvedConstruct of {
qual_type : qual_type;
args : expr list;
}
| ThrowExpr of expr option
| TemplateRef of ident_ref
| OverloadedDeclRef of ident_ref
| StdInitializerList of expr list
| DefaultArg
| UnexposedExpr of Clang__.Clang__bindings.clang_ext_stmtkind
| SubstNonTypeTemplateParm of expr
| ArrayInitLoop of {
common_expr : expr;
sub_expr : expr;
}
| ArrayInitIndex
| NoexceptExpr of expr
| ImplicitValueInit of qual_type
| DesignatedInit of {
designators : designator list;
init : expr;
}
| Requires of {
local_parameters : parameter list;
requirements : requirement list;
}
| UnknownExpr of Clang__.Clang__bindings.cxcursorkind * Clang__.Clang__bindings.clang_ext_stmtkind
and field = Clang__Clang__ast.Custom(Node).field =
| FieldName of ident_ref node
| PseudoDestructor of {
nested_name_specifier : nested_name_specifier option;
qual_type : qual_type;
}
| DependentScopeMember of {
ident_ref : ident_ref;
template_arguments : template_argument list;
}
| UnresolvedMember of ident_ref
and lambda_capture = Clang__Clang__ast.Custom(Node).lambda_capture = {
capture_kind : Clang__Clang__ast.lambda_capture_kind;
implicit : bool;
captured_var_name : string option;
pack_expansion : bool;
}
and cast_kind = Clang__Clang__ast.Custom(Node).cast_kind =
| CStyle
| Implicit
| Functional
| Static
| Dynamic
| Const
and expr_or_type = Clang__Clang__ast.Custom(Node).expr_or_type =
| ArgumentExpr of expr
| ArgumentType of qual_type
and string_literal = Clang__Clang__ast.Custom(Node).string_literal = {
byte_width : int;
bytes : string;
string_kind : Clang__Clang__ast.string_kind;
}
and designator = Clang__Clang__ast.Custom(Node).designator =
| FieldDesignator of string
| ArrayDesignator of expr
| ArrayRangeDesignator of expr * expr
and decl = decl_desc node
and decl_desc = Clang__Clang__ast.Custom(Node).decl_desc =
| TemplateDecl of {
parameters : template_parameter_list;
decl : decl;
}
| Function of function_decl
| TemplatePartialSpecialization of {
parameters : template_parameter_list;
arguments : template_argument list;
decl : decl;
}
| CXXMethod of {
function_decl : function_decl;
type_ref : qual_type;
defaulted : bool;
static : bool;
binding : cxx_method_binding_kind;
const : bool;
}
| Var of var_decl_desc
| EnumDecl of {
name : string;
constants : enum_constant list;
complete_definition : bool;
attributes : attribute list;
}
| RecordDecl of record_decl
| TypedefDecl of {
name : string;
underlying_type : qual_type;
}
| Field of {
name : string;
qual_type : qual_type;
bitwidth : expr option;
init : expr option;
attributes : attribute list;
}
| AccessSpecifier of Clang__Clang__ast.cxx_access_specifier
| Namespace of {
name : string;
declarations : decl list;
inline : bool;
}
| UsingDirective of {
nested_name_specifier : nested_name_specifier option;
namespace : decl;
}
| UsingDeclaration of ident_ref
| Constructor of {
class_name : string;
parameters : parameters;
initializer_list : (string * expr) list;
body : stmt option;
explicit : bool;
defaulted : bool;
deleted : bool;
constexpr : bool;
}
| Destructor of {
class_name : string;
body : stmt option;
defaulted : bool;
deleted : bool;
exception_spec : exception_spec option;
}
| LinkageSpec of {
language : Clang__.Clang__types.language;
decls : decl list;
}
| TemplateTemplateParameter of string
| Friend of friend_decl
| NamespaceAlias of {
alias : ident_ref;
original : ident_ref;
}
| EmptyDecl
| Directive of directive
| StaticAssert of {
constexpr : expr;
message : expr option;
}
| TypeAlias of {
ident_ref : ident_ref;
qual_type : qual_type;
}
| Decomposition of {
bindings : declaration_name list;
init : expr option;
}
| Concept of {
parameters : template_parameter_list;
name : declaration_name;
constraint_expr : expr;
}
| Export of decl list
| UnknownDecl of Clang__.Clang__bindings.cxcursorkind * Clang__.Clang__bindings.clang_ext_declkind
and directive = Clang__Clang__ast.Custom(Node).directive =
| Include of {
program_context : bool;
filename : string;
}
| Ifdef of string
| Ifndef of string
| Endif
and base_specifier = Clang__Clang__ast.Custom(Node).base_specifier = {
qual_type : qual_type;
virtual_base : bool;
access_specifier : Clang__Clang__ast.cxx_access_specifier;
}
and ident_ref = Clang__Clang__ast.Custom(Node).ident_ref = {
nested_name_specifier : nested_name_specifier option;
name : declaration_name;
template_arguments : template_argument list;
}
and friend_decl = Clang__Clang__ast.Custom(Node).friend_decl =
| FriendDecl of decl
| FriendType of qual_type
and label_ref = string
and enum_constant = enum_constant_desc node
and enum_constant_desc = Clang__Clang__ast.Custom(Node).enum_constant_desc = {
constant_name : string;
constant_init : expr option;
}
and var_decl = var_decl_desc node
and var_decl_desc = Clang__Clang__ast.Custom(Node).var_decl_desc = {
linkage : Clang__Clang__ast.linkage_kind;
var_name : string;
var_type : qual_type;
var_init : expr option;
constexpr : bool;
attributes : attribute list;
}
and cxx_method_binding_kind = Clang__Clang__ast.Custom(Node).cxx_method_binding_kind =
| NonVirtual
| Virtual
| PureVirtual
and template_parameter_list = Clang__Clang__ast.Custom(Node).template_parameter_list = {
list : template_parameter list;
requires_clause : expr option;
}
and template_parameter = template_parameter_desc node
and template_parameter_desc = Clang__Clang__ast.Custom(Node).template_parameter_desc = {
parameter_name : string;
parameter_kind : template_parameter_kind;
parameter_pack : bool;
}
and template_parameter_kind = Clang__Clang__ast.Custom(Node).template_parameter_kind =
| Class of {
default : qual_type option;
}
| NonType of {
parameter_type : qual_type;
default : expr option;
}
| Template of {
parameters : template_parameter_list;
default : string option;
}
and translation_unit = translation_unit_desc node
and translation_unit_desc = Clang__Clang__ast.Custom(Node).translation_unit_desc = {
filename : string;
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) Node.t__variable_positive0
and ('present, 'unknown) node__variable_negative0 = ('present'unknown) Node.t__variable_negative0
and ('present, 'unknown) node__variable_direct0 = ('present'unknown) Node.t__variable_direct0
and decoration__arity = [
| `Zero
]
and decoration__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and opaque_decoration__structure = [
| `Name of [ `Opaque of [ `Zero ] ]
]
and node__arity = [
| `Succ of [ `Zero ]
]
and node__structure = [
| `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 [ `SubGADT of [ `RecGroup of Node.t__structure * Node.t__rec_group ] ] ] * unit) ]
]
and qual_type__arity = [
| `Zero
]
and qual_type__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.opaque_cxtype__structure * Clang__Clang__ast.opaque_cxtype__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.opaque_type_loc__structure * Clang__Clang__ast.opaque_type_loc__rec_group ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Node.t__structure * Node.t__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit) * (([ `Present ][ `Absent ]) Node.t__variable_positive0 * unit) * (([ `Present ][ `Absent ]) Node.t__variable_negative0 * unit) * (([ `Present ][ `Absent ]) Node.t__variable_direct0 * unit) * ((unit * unit * unit) * unit) ] ] * unit))))) ]
]
and type_desc__arity = [
| `Zero
]
and type_desc__structure = [
| `Name of [ `Constr of (((([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_typekind__structure * Clang__.Clang__bindings.clang_ext_typekind__rec_group ] ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `Int ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.builtin_type__structure * Clang__Clang__ast.builtin_type__rec_group ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `Int ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.elaborated_type_keyword__structure * Clang__Clang__ast.elaborated_type_keyword__rec_group ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref))) ]
]
and template_name__arity = [
| `Zero
]
and template_name__structure = [
| `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 = [
| `Zero
]
and template_argument__structure = [
| `Name of [ `Constr of ((([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.integer_literal__structure * Clang__Clang__ast.integer_literal__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) ]
]
and requirement__arity = [
| `Zero
]
and requirement__structure = [
| `Name of [ `Constr of ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) ]
]
and expr_requirement__arity = [
| `Zero
]
and expr_requirement__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and type_constraint__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ]
]
and nested_name_specifier__arity = [
| `Zero
]
and nested_name_specifier__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `One 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) ]
]
and nested_name_specifier_component__arity = [
| `Zero
]
and nested_name_specifier_component__structure = [
| `Name of [ `Constr of (([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) ]
]
and declaration_name__arity = [
| `Zero
]
and declaration_name__structure = [
| `Name of [ `Constr of (([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.overloaded_operator_kind__structure * Clang__Clang__ast.overloaded_operator_kind__rec_group ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) ]
]
and record_decl__arity = [
| `Zero
]
and record_decl__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.elaborated_type_keyword__structure * Clang__Clang__ast.elaborated_type_keyword__rec_group ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One 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) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One 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) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One 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) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit))))))) ]
]
and function_decl__arity = [
| `Zero
]
and function_decl__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.linkage_kind__structure * Clang__Clang__ast.linkage_kind__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One 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))))))))) ]
]
and function_type__arity = [
| `Zero
]
and function_type__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.calling_conv__structure * Clang__Clang__ast.calling_conv__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxrefqualifierkind__structure * Clang__.Clang__bindings.cxrefqualifierkind__rec_group ] ] ] * unit)))) ]
]
and exception_spec__arity = [
| `Zero
]
and exception_spec__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `RecGroup of Clang__Clang__ast.exception_specification_type__structure * Clang__Clang__ast.exception_specification_type__rec_group ] ] * 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 [ `Zero of [ `One of [ `One 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 ]
]
and parameters__arity = [
| `Zero
]
and parameters__structure = [
| `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero 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) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit) ]
]
and parameter__arity = [
| `Zero
]
and parameter__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and parameter_desc__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and stmt__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and stmt_desc__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One 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) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit)))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero 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 [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit))) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcursorkind__structure * Clang__.Clang__bindings.cxcursorkind__rec_group ] ] * ([ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stmtkind__structure * Clang__.Clang__bindings.clang_ext_stmtkind__rec_group ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One 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 [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref))) ]
]
and catch__arity = [
| `Zero
]
and catch__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ]
]
and asm__arity = [
| `Zero
]
and asm__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.asm_compiler_extension__structure * Clang__Clang__ast.asm_compiler_extension__rec_group ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero 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) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero 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))) ]
]
and asm_operand__arity = [
| `Zero
]
and asm_operand__structure = [
| `Name of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ]
]
and attribute__arity = [
| `Zero
]
and attribute__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and attribute_desc__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `RecGroup of Clang__.Attributes.t__structure * Clang__.Attributes.t__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit))) * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_positive0 * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_positive1 * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_positive2 * unit))) * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_negative0 * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_negative1 * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_negative2 * unit))) * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_direct0 * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_direct1 * (([ `Present ][ `Absent ]) Clang__.Attributes.t__variable_direct2 * unit))) * ((unit * unit * unit) * ((unit * unit * unit) * ((unit * unit * unit) * unit))) ]
]
and expr__arity = [
| `Zero
]
and expr__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and expr_desc__structure = [
| `Name of [ `Constr of ((((([ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.integer_literal__structure * Clang__Clang__ast.integer_literal__rec_group ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `RecGroup of Clang__Clang__ast.binary_operator_kind__structure * Clang__Clang__ast.binary_operator_kind__rec_group ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero 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) ] ] * ([ `Mono 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 [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.binary_operator_kind__structure * Clang__Clang__ast.binary_operator_kind__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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) ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One 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) ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.lambda_capture_default__structure * Clang__Clang__ast.lambda_capture_default__rec_group ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One 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) ] ] * ([ `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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero 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) * (([ `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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit))))) ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)))) * ((((([ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.floating_literal__structure * Clang__Clang__ast.floating_literal__rec_group ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `One of [ `One of [ `Zero of [ `One of [ `One 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 [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcursorkind__structure * Clang__.Clang__bindings.cxcursorkind__rec_group ] ] * ([ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stmtkind__structure * Clang__.Clang__bindings.clang_ext_stmtkind__rec_group ] ] * unit) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_stmtkind__structure * Clang__.Clang__bindings.clang_ext_stmtkind__rec_group ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `Builtin of [ `Bool ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.predefined_identifier_kind__structure * Clang__Clang__ast.predefined_identifier_kind__rec_group ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref))) * (((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.character_kind__structure * Clang__Clang__ast.character_kind__rec_group ] ] ] * ([ `Mono of [ `Builtin of [ `Int ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.unary_expr_kind__structure * Clang__Clang__ast.unary_expr_kind__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.unary_operator_kind__structure * Clang__Clang__ast.unary_operator_kind__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `One of [ `One of [ `Zero of [ `One of [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One 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 [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero 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) ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)))) ]
]
and field__arity = [
| `Zero
]
and field__structure = [
| `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 ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono 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 [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) ]
]
and lambda_capture__arity = [
| `Zero
]
and lambda_capture__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.lambda_capture_kind__structure * Clang__Clang__ast.lambda_capture_kind__rec_group ] ] ] * ([ `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 = [
| `Zero
]
and cast_kind__structure = [
| `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 = [
| `Zero
]
and expr_or_type__structure = [
| `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref ]
]
and string_literal__arity = [
| `Zero
]
and string_literal__structure = [
| `Name of [ `Record of [ `Mono of [ `Builtin of [ `Int ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.string_kind__structure * Clang__Clang__ast.string_kind__rec_group ] ] ] * unit)) ]
]
and designator__arity = [
| `Zero
]
and designator__structure = [
| `Name of [ `Constr of ([ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref ]
]
and decl__arity = [
| `Zero
]
and decl__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and decl_desc__structure = [
| `Name of [ `Constr of (((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `Builtin of [ `String ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono 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) ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One 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) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.cxcursorkind__structure * Clang__.Clang__bindings.cxcursorkind__rec_group ] ] * ([ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_declkind__structure * Clang__.Clang__bindings.clang_ext_declkind__rec_group ] ] * unit) ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.cxx_access_specifier__structure * Clang__Clang__ast.cxx_access_specifier__rec_group ] ] * 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 [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One 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 [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero 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) ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One 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 [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `Tuple of [ `Builtin of [ `String ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 ] ] ] * unit))))))) ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref) * (([ `Constructor of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero 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) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `RecGroup of Clang__.Clang__types.language__structure * Clang__.Clang__types.language__rec_group ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One 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))) ]
]
and directive__arity = [
| `Zero
]
and directive__structure = [
| `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 = [
| `Zero
]
and base_specifier__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * ([ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.cxx_access_specifier__structure * Clang__Clang__ast.cxx_access_specifier__rec_group ] ] ] * unit)) ]
]
and ident_ref__arity = [
| `Zero
]
and ident_ref__structure = [
| `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `One of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono 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)) ]
]
and friend_decl__arity = [
| `Zero
]
and friend_decl__structure = [
| `Name of [ `Constr of [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * unit ] * unit ] Stdcompat.ref ]
]
and label_ref__arity = [
| `Zero
]
and label_ref__structure = [
| `Name of [ `Builtin of [ `String ] ]
]
and enum_constant__arity = [
| `Zero
]
and enum_constant__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and enum_constant_desc__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and var_decl__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and var_decl_desc__structure = [
| `Name of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.linkage_kind__structure * Clang__Clang__ast.linkage_kind__rec_group ] ] ] * ([ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One 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))))) ]
]
and cxx_method_binding_kind__arity = [
| `Zero
]
and cxx_method_binding_kind__structure = [
| `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 = [
| `Zero
]
and template_parameter_list__structure = [
| `Name of [ `Record of [ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero 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) ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and template_parameter__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and template_parameter_desc__structure = [
| `Name of [ `Record of [ `Mono of [ `Builtin of [ `String ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Builtin of [ `Bool ] ] ] * unit)) ]
]
and template_parameter_kind__arity = [
| `Zero
]
and template_parameter_kind__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] * 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 [ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `One of [ `One of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `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 [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.option__structure * Refl.Builtins.option__rec_group ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `One of [ `Start ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and translation_unit__structure = [
| `Name of [ `Apply of [ `SubGADT of [ `Rec of [ `Zero of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `One of [ `Zero of [ `One of [ `Zero of [ `Zero of [ `Start ] ] ] ] ] ] ] ] ] * 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 = [
| `Zero
]
and translation_unit_desc__structure = [
| `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 ] ] * ([ `SubGADT of [ `Rec of [ `One of [ `Zero of [ `Zero of [ `Zero of [ `One of [ `One 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) ]
]
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 * (template_parameter__arity * template_parameter__structure) Stdcompat.ref)) * (((expr_requirement__arity * expr_requirement__structure) Stdcompat.ref * (friend_decl__arity * friend_decl__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 * (translation_unit_desc__arity * translation_unit_desc__structure) Stdcompat.ref)) * (((declaration_name__arity * declaration_name__structure) Stdcompat.ref * (var_decl__arity * var_decl__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_kind__arity * template_parameter_kind__structure) Stdcompat.ref)) * (((nested_name_specifier__arity * nested_name_specifier__structure) Stdcompat.ref * (enum_constant__arity * enum_constant__structure) Stdcompat.ref) * (attribute_desc__arity * attribute_desc__structure) Stdcompat.ref)) * ((((template_argument__arity * template_argument__structure) Stdcompat.ref * (base_specifier__arity * base_specifier__structure) Stdcompat.ref) * (catch__arity * catch__structure) Stdcompat.ref) * (((function_decl__arity * function_decl__structure) Stdcompat.ref * (cxx_method_binding_kind__arity * cxx_method_binding_kind__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 * (template_parameter_desc__arity * template_parameter_desc__structure) Stdcompat.ref)) * (((type_constraint__arity * type_constraint__structure) Stdcompat.ref * (label_ref__arity * label_ref__structure) Stdcompat.ref) * (attribute__arity * attribute__structure) Stdcompat.ref)) * ((((template_name__arity * template_name__structure) Stdcompat.ref * (directive__arity * directive__structure) Stdcompat.ref) * (stmt_desc__arity * stmt_desc__structure) Stdcompat.ref) * (((record_decl__arity * record_decl__structure) Stdcompat.ref * (var_decl_desc__arity * var_decl_desc__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 * (translation_unit__arity * translation_unit__structure) Stdcompat.ref)) * (((nested_name_specifier_component__arity * nested_name_specifier_component__structure) Stdcompat.ref * (enum_constant_desc__arity * enum_constant_desc__structure) Stdcompat.ref) * (expr__arity * expr__structure) Stdcompat.ref)) * ((((requirement__arity * requirement__structure) Stdcompat.ref * (ident_ref__arity * ident_ref__structure) Stdcompat.ref) * (asm__arity * asm__structure) Stdcompat.ref) * (((function_type__arity * function_type__structure) Stdcompat.ref * (template_parameter_list__arity * template_parameter_list__structure) Stdcompat.ref) * (cast_kind__arity * cast_kind__structure) Stdcompat.ref))))
and decoration__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and decoration__gadt = Clang__.Clang__bindings.cxcursor * (Clang__Clang__ast.source_location option * unit)
and opaque_decoration__rec_group = decoration__rec_group
and opaque_decoration__kinds = [
| `Opaque
]
and opaque_decoration__gadt = decoration * unit
and node__rec_group = decoration__rec_group
and node__kinds = [
| `Lazy
| `Opaque
| `Record
| `Variable
]
and 'a0 node__gadt = unit
and qual_type__rec_group = decoration__rec_group
and qual_type__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and qual_type__gadt = unit
and type_desc__rec_group = decoration__rec_group
and type_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and type_desc__gadt = unit
and template_name__rec_group = decoration__rec_group
and template_name__kinds = [
| `Constr
| `String
]
and template_name__gadt = unit
and template_argument__rec_group = decoration__rec_group
and template_argument__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and template_argument__gadt = unit
and requirement__rec_group = decoration__rec_group
and requirement__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and requirement__gadt = unit
and expr_requirement__rec_group = decoration__rec_group
and expr_requirement__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and expr_requirement__gadt = unit
and type_constraint__rec_group = decoration__rec_group
and type_constraint__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and type_constraint__gadt = unit
and nested_name_specifier__rec_group = decoration__rec_group
and nested_name_specifier__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and nested_name_specifier__gadt = unit
and nested_name_specifier_component__rec_group = decoration__rec_group
and nested_name_specifier_component__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and nested_name_specifier_component__gadt = unit
and declaration_name__rec_group = decoration__rec_group
and declaration_name__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and declaration_name__gadt = unit
and record_decl__rec_group = decoration__rec_group
and record_decl__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and record_decl__gadt = unit
and function_decl__rec_group = decoration__rec_group
and function_decl__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and function_decl__gadt = unit
and function_type__rec_group = decoration__rec_group
and function_type__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and function_type__gadt = unit
and exception_spec__rec_group = decoration__rec_group
and exception_spec__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and exception_spec__gadt = unit
and parameters__rec_group = decoration__rec_group
and parameters__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and parameters__gadt = unit
and parameter__rec_group = decoration__rec_group
and parameter__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and parameter__gadt = unit
and parameter_desc__rec_group = decoration__rec_group
and parameter_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and parameter_desc__gadt = unit
and stmt__rec_group = decoration__rec_group
and stmt__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and stmt__gadt = unit
and stmt_desc__rec_group = decoration__rec_group
and stmt_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and stmt_desc__gadt = unit
and catch__rec_group = decoration__rec_group
and catch__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and catch__gadt = unit
and asm__rec_group = decoration__rec_group
and asm__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and asm__gadt = unit
and asm_operand__rec_group = decoration__rec_group
and asm_operand__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and asm_operand__gadt = unit
and attribute__rec_group = decoration__rec_group
and attribute__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and attribute__gadt = unit
and attribute_desc__rec_group = decoration__rec_group
and attribute_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and attribute_desc__gadt = unit
and expr__rec_group = decoration__rec_group
and expr__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and expr__gadt = unit
and expr_desc__rec_group = decoration__rec_group
and expr_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and expr_desc__gadt = unit
and field__rec_group = decoration__rec_group
and field__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and field__gadt = unit
and lambda_capture__rec_group = decoration__rec_group
and lambda_capture__kinds = [
| `Bool
| `Constr
| `Record
| `String
| `Variable
]
and lambda_capture__gadt = unit
and cast_kind__rec_group = decoration__rec_group
and cast_kind__kinds = [
| `Constr
]
and cast_kind__gadt = unit
and expr_or_type__rec_group = decoration__rec_group
and expr_or_type__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and expr_or_type__gadt = unit
and string_literal__rec_group = decoration__rec_group
and string_literal__kinds = [
| `Constr
| `Int
| `Record
| `String
]
and string_literal__gadt = unit
and designator__rec_group = decoration__rec_group
and designator__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and designator__gadt = unit
and decl__rec_group = decoration__rec_group
and decl__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and decl__gadt = unit
and decl_desc__rec_group = decoration__rec_group
and decl_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and decl_desc__gadt = unit
and directive__rec_group = decoration__rec_group
and directive__kinds = [
| `Bool
| `Constr
| `String
]
and directive__gadt = unit
and base_specifier__rec_group = decoration__rec_group
and base_specifier__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and base_specifier__gadt = unit
and ident_ref__rec_group = decoration__rec_group
and ident_ref__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and ident_ref__gadt = unit
and friend_decl__rec_group = decoration__rec_group
and friend_decl__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and friend_decl__gadt = unit
and label_ref__rec_group = decoration__rec_group
and label_ref__kinds = [
| `String
]
and label_ref__gadt = unit
and enum_constant__rec_group = decoration__rec_group
and enum_constant__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and enum_constant__gadt = unit
and enum_constant_desc__rec_group = decoration__rec_group
and enum_constant_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and enum_constant_desc__gadt = unit
and var_decl__rec_group = decoration__rec_group
and var_decl__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and var_decl__gadt = unit
and var_decl_desc__rec_group = decoration__rec_group
and var_decl_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and var_decl_desc__gadt = unit
and cxx_method_binding_kind__rec_group = decoration__rec_group
and cxx_method_binding_kind__kinds = [
| `Constr
]
and cxx_method_binding_kind__gadt = unit
and template_parameter_list__rec_group = decoration__rec_group
and template_parameter_list__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and template_parameter_list__gadt = unit
and template_parameter__rec_group = decoration__rec_group
and template_parameter__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and template_parameter__gadt = unit
and template_parameter_desc__rec_group = decoration__rec_group
and template_parameter_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and template_parameter_desc__gadt = unit
and template_parameter_kind__rec_group = decoration__rec_group
and template_parameter_kind__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and template_parameter_kind__gadt = unit
and translation_unit__rec_group = decoration__rec_group
and translation_unit__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and translation_unit__gadt = unit
and translation_unit_desc__rec_group = decoration__rec_group
and translation_unit_desc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and translation_unit_desc__gadt = unit
type Refl.refl += Refl_decoration : decoration Refl.refl
type Refl.sub_gadt_ext += Decoration__sub_1 : (decoration__gadtqual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decoration__sub_0 : (decoration__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_opaque_decoration : opaque_decoration Refl.refl
type Refl.refl += Refl_node : 'a0 node Refl.refl
type Refl.sub_gadt_ext += Node__sub_1 : ('a0 node__gadt'a Node.t__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Node__sub_0 : ('a0 node__gadtopaque_decoration__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_qual_type : qual_type Refl.refl
type Refl.sub_gadt_ext += Qual_type__sub_3 : (qual_type__gadttype_desc Node.t__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Qual_type__sub_2 : (qual_type__gadttype_desc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Qual_type__sub_1 : (qual_type__gadtClang__Clang__ast.opaque_type_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Qual_type__sub_0 : (qual_type__gadtClang__Clang__ast.opaque_cxtype__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_type_desc : type_desc Refl.refl
type Refl.sub_gadt_ext += Type_desc__sub_31 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_30 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_29 : (type_desc__gadtnested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_28 : (type_desc__gadtnested_name_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_27 : (type_desc__gadtClang__Clang__ast.elaborated_type_keyword__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_26 : (type_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_25 : (type_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_24 : (type_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_23 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_22 : (type_desc__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_21 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_20 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_19 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_18 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_17 : (type_desc__gadtfunction_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_16 : (type_desc__gadttemplate_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_15 : (type_desc__gadttemplate_argument__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_14 : (type_desc__gadttemplate_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_13 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_12 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_11 : (type_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_10 : (type_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_9 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_8 : (type_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_7 : (type_desc__gadtClang__Clang__ast.builtin_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_6 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_5 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_4 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_3 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_2 : (type_desc__gadtClang__.Clang__bindings.clang_ext_typekind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_1 : (type_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_desc__sub_0 : (type_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_template_name : template_name Refl.refl
type Refl.refl += Refl_template_argument : template_argument Refl.refl
type Refl.sub_gadt_ext += Template_argument__sub_10 : (template_argument__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_9 : (template_argument__gadttemplate_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_8 : (template_argument__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_7 : (template_argument__gadtClang__Clang__ast.integer_literal__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_6 : (template_argument__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_5 : (template_argument__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_4 : (template_argument__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_3 : (template_argument__gadttemplate_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_2 : (template_argument__gadttemplate_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_1 : (template_argument__gadttemplate_argument__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_argument__sub_0 : (template_argument__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_requirement : requirement Refl.refl
type Refl.sub_gadt_ext += Requirement__sub_3 : (requirement__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Requirement__sub_2 : (requirement__gadtexpr_requirement__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Requirement__sub_1 : (requirement__gadtexpr_requirement__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Requirement__sub_0 : (requirement__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_expr_requirement : expr_requirement Refl.refl
type Refl.sub_gadt_ext += Expr_requirement__sub_2 : (expr_requirement__gadttype_constraint Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_requirement__sub_1 : (expr_requirement__gadttype_constraint__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_requirement__sub_0 : (expr_requirement__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_type_constraint : type_constraint Refl.refl
type Refl.sub_gadt_ext += Type_constraint__sub_1 : (type_constraint__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_constraint__sub_0 : (type_constraint__gadttemplate_parameter_list__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_nested_name_specifier : nested_name_specifier Refl.refl
type Refl.sub_gadt_ext += Nested_name_specifier__sub_1 : (nested_name_specifier__gadtnested_name_specifier_component Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Nested_name_specifier__sub_0 : (nested_name_specifier__gadtnested_name_specifier_component__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_nested_name_specifier_component : nested_name_specifier_component Refl.refl
type Refl.sub_gadt_ext += Nested_name_specifier_component__sub_1 : (nested_name_specifier_component__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Nested_name_specifier_component__sub_0 : (nested_name_specifier_component__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_declaration_name : declaration_name Refl.refl
type Refl.sub_gadt_ext += Declaration_name__sub_4 : (declaration_name__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Declaration_name__sub_3 : (declaration_name__gadtClang__Clang__ast.overloaded_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Declaration_name__sub_2 : (declaration_name__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Declaration_name__sub_1 : (declaration_name__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Declaration_name__sub_0 : (declaration_name__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_record_decl : record_decl Refl.refl
type Refl.sub_gadt_ext += Record_decl__sub_8 : (record_decl__gadtdecl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_7 : (record_decl__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_6 : (record_decl__gadtbase_specifier Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_5 : (record_decl__gadtbase_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_4 : (record_decl__gadtnested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_3 : (record_decl__gadtnested_name_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_2 : (record_decl__gadtattribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_1 : (record_decl__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Record_decl__sub_0 : (record_decl__gadtClang__Clang__ast.elaborated_type_keyword__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_function_decl : function_decl Refl.refl
type Refl.sub_gadt_ext += Function_decl__sub_8 : (function_decl__gadtattribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_7 : (function_decl__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_6 : (function_decl__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_5 : (function_decl__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_4 : (function_decl__gadtdeclaration_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_3 : (function_decl__gadtnested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_2 : (function_decl__gadtnested_name_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_1 : (function_decl__gadtfunction_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_decl__sub_0 : (function_decl__gadtClang__Clang__ast.linkage_kind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_function_type : function_type Refl.refl
type Refl.sub_gadt_ext += Function_type__sub_6 : (function_type__gadtClang__.Clang__bindings.cxrefqualifierkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_type__sub_5 : (function_type__gadtexception_spec Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_type__sub_4 : (function_type__gadtexception_spec__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_type__sub_3 : (function_type__gadtparameters Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_type__sub_2 : (function_type__gadtparameters__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_type__sub_1 : (function_type__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Function_type__sub_0 : (function_type__gadtClang__Clang__ast.calling_conv__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_exception_spec : exception_spec Refl.refl
type Refl.sub_gadt_ext += Exception_spec__sub_5 : (exception_spec__gadtqual_type Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Exception_spec__sub_4 : (exception_spec__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Exception_spec__sub_3 : (exception_spec__gadtClang__Clang__ast.exception_specification_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Exception_spec__sub_2 : (exception_spec__gadtbool Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Exception_spec__sub_1 : (exception_spec__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Exception_spec__sub_0 : (exception_spec__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_parameters : parameters Refl.refl
type Refl.sub_gadt_ext += Parameters__sub_1 : (parameters__gadtparameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Parameters__sub_0 : (parameters__gadtparameter__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_parameter : parameter Refl.refl
type Refl.sub_gadt_ext += Parameter__sub_1 : (parameter__gadtparameter_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Parameter__sub_0 : (parameter__gadtparameter_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_parameter_desc : parameter_desc Refl.refl
type Refl.sub_gadt_ext += Parameter_desc__sub_2 : (parameter_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Parameter_desc__sub_1 : (parameter_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Parameter_desc__sub_0 : (parameter_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_stmt : stmt Refl.refl
type Refl.sub_gadt_ext += Stmt__sub_1 : (stmt__gadtstmt_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt__sub_0 : (stmt__gadtstmt_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_stmt_desc : stmt_desc Refl.refl
type Refl.sub_gadt_ext += Stmt_desc__sub_57 : (stmt_desc__gadtasm__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_56 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_55 : (stmt_desc__gadtlabel_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_54 : (stmt_desc__gadtcatch Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_53 : (stmt_desc__gadtcatch__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_52 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_51 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_50 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_49 : (stmt_desc__gadtvar_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_48 : (stmt_desc__gadtClang__.Clang__bindings.clang_ext_stmtkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_47 : (stmt_desc__gadtClang__.Clang__bindings.cxcursorkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_46 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_45 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_44 : (stmt_desc__gadtvar_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_43 : (stmt_desc__gadtvar_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_42 : (stmt_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_41 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_40 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_39 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_38 : (stmt_desc__gadtdecl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_37 : (stmt_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_36 : (stmt_desc__gadtstmt Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_35 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_34 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_33 : (stmt_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_32 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_31 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_30 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_29 : (stmt_desc__gadtlabel_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_28 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_27 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_26 : (stmt_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_25 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_24 : (stmt_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_23 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_22 : (stmt_desc__gadtvar_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_21 : (stmt_desc__gadtvar_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_20 : (stmt_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_19 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_18 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_17 : (stmt_desc__gadtstmt Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_16 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_15 : (stmt_desc__gadtattribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_14 : (stmt_desc__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_13 : (stmt_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_12 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_11 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_10 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_9 : (stmt_desc__gadtvar_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_8 : (stmt_desc__gadtvar_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_7 : (stmt_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_6 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_5 : (stmt_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_4 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_3 : (stmt_desc__gadtvar_decl Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_2 : (stmt_desc__gadtvar_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_1 : (stmt_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Stmt_desc__sub_0 : (stmt_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_catch : catch Refl.refl
type Refl.sub_gadt_ext += Catch__sub_2 : (catch__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Catch__sub_1 : (catch__gadt(string * qual_type) Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Catch__sub_0 : (catch__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_asm : asm Refl.refl
type Refl.sub_gadt_ext += Asm__sub_4 : (asm__gadtasm_operand Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Asm__sub_3 : (asm__gadtasm_operand__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Asm__sub_2 : (asm__gadtasm_operand Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Asm__sub_1 : (asm__gadtasm_operand__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Asm__sub_0 : (asm__gadtClang__Clang__ast.asm_compiler_extension__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_asm_operand : asm_operand Refl.refl
type Refl.sub_gadt_ext += Asm_operand__sub_0 : (asm_operand__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_attribute : attribute Refl.refl
type Refl.sub_gadt_ext += Attribute__sub_1 : (attribute__gadtattribute_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Attribute__sub_0 : (attribute__gadtattribute_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_attribute_desc : attribute_desc Refl.refl
type Refl.sub_gadt_ext += Attribute_desc__sub_3 : (attribute_desc__gadt(exprqual_typedeclaration_name) Clang__.Attributes.t__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Attribute_desc__sub_2 : (attribute_desc__gadtdeclaration_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Attribute_desc__sub_1 : (attribute_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Attribute_desc__sub_0 : (attribute_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_expr : expr Refl.refl
type Refl.sub_gadt_ext += Expr__sub_1 : (expr__gadtexpr_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr__sub_0 : (expr__gadtexpr_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_expr_desc : expr_desc Refl.refl
type Refl.sub_gadt_ext += Expr_desc__sub_96 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_95 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_94 : (expr_desc__gadtdesignator Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_93 : (expr_desc__gadtdesignator__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_92 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_91 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_90 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_89 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_88 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_87 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_86 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_85 : (expr_desc__gadtClang__Clang__ast.unary_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_84 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_83 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_82 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_81 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_80 : (expr_desc__gadtcast_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_79 : (expr_desc__gadtexpr_or_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_78 : (expr_desc__gadtClang__Clang__ast.unary_expr_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_77 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_76 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_75 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_74 : (expr_desc__gadtClang__Clang__ast.character_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_73 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_72 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_71 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_70 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_69 : (expr_desc__gadtClang__Clang__ast.predefined_identifier_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_68 : (expr_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_67 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_66 : (expr_desc__gadtClang__.Clang__bindings.clang_ext_stmtkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_65 : (expr_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_64 : (expr_desc__gadtClang__.Clang__bindings.clang_ext_stmtkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_63 : (expr_desc__gadtClang__.Clang__bindings.cxcursorkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_62 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_61 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_60 : (expr_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_59 : (expr_desc__gadtClang__Clang__ast.floating_literal__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_58 : (expr_desc__gadtexpr_or_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_57 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_56 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_55 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_54 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_53 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_52 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_51 : (expr_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_50 : (expr_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_49 : (expr_desc__gadtqual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_48 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_47 : (expr_desc__gadtparameter list Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_46 : (expr_desc__gadtparameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_45 : (expr_desc__gadtparameter__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_44 : (expr_desc__gadtlambda_capture Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_43 : (expr_desc__gadtlambda_capture__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_42 : (expr_desc__gadtClang__Clang__ast.lambda_capture_default__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_41 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_40 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_39 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_38 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_37 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_36 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_35 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_34 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_33 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_32 : (expr_desc__gadtstring_literal__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_31 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_30 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_29 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_28 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_27 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_26 : (expr_desc__gadtexpr Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_25 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_24 : (expr_desc__gadtfield__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_23 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_22 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_21 : (expr_desc__gadt(qual_type option * expr) Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_20 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_19 : (expr_desc__gadtqual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_18 : (expr_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_17 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_16 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_15 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_14 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_13 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_12 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_11 : (expr_desc__gadtClang__Clang__ast.binary_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_10 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_9 : (expr_desc__gadtrequirement Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_8 : (expr_desc__gadtrequirement__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_7 : (expr_desc__gadtparameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_6 : (expr_desc__gadtparameter__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_5 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_4 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_3 : (expr_desc__gadtClang__Clang__ast.binary_operator_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_2 : (expr_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_1 : (expr_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_desc__sub_0 : (expr_desc__gadtClang__Clang__ast.integer_literal__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_field : field Refl.refl
type Refl.sub_gadt_ext += Field__sub_8 : (field__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_7 : (field__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_6 : (field__gadtnested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_5 : (field__gadtnested_name_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_4 : (field__gadttemplate_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_3 : (field__gadttemplate_argument__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_2 : (field__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_1 : (field__gadtident_ref node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Field__sub_0 : (field__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_lambda_capture : lambda_capture Refl.refl
type Refl.sub_gadt_ext += Lambda_capture__sub_1 : (lambda_capture__gadtstring Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Lambda_capture__sub_0 : (lambda_capture__gadtClang__Clang__ast.lambda_capture_kind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_cast_kind : cast_kind Refl.refl
type Refl.refl += Refl_expr_or_type : expr_or_type Refl.refl
type Refl.sub_gadt_ext += Expr_or_type__sub_1 : (expr_or_type__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Expr_or_type__sub_0 : (expr_or_type__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_string_literal : string_literal Refl.refl
type Refl.sub_gadt_ext += String_literal__sub_0 : (string_literal__gadtClang__Clang__ast.string_kind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_designator : designator Refl.refl
type Refl.sub_gadt_ext += Designator__sub_2 : (designator__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Designator__sub_1 : (designator__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Designator__sub_0 : (designator__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_decl : decl Refl.refl
type Refl.sub_gadt_ext += Decl__sub_1 : (decl__gadtdecl_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl__sub_0 : (decl__gadtdecl_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_decl_desc : decl_desc Refl.refl
type Refl.sub_gadt_ext += Decl_desc__sub_62 : (decl_desc__gadtdecl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_61 : (decl_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_60 : (decl_desc__gadtClang__.Clang__types.language__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_59 : (decl_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_58 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_57 : (decl_desc__gadtdeclaration_name Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_56 : (decl_desc__gadtdeclaration_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_55 : (decl_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_54 : (decl_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_53 : (decl_desc__gadtnested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_52 : (decl_desc__gadtnested_name_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_51 : (decl_desc__gadtcxx_method_binding_kind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_50 : (decl_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_49 : (decl_desc__gadtfunction_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_48 : (decl_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_47 : (decl_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_46 : (decl_desc__gadt(string * expr) Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_45 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_44 : (decl_desc__gadtparameters__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_43 : (decl_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_42 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_41 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_40 : (decl_desc__gadtattribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_39 : (decl_desc__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_38 : (decl_desc__gadtenum_constant Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_37 : (decl_desc__gadtenum_constant__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_36 : (decl_desc__gadtdecl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_35 : (decl_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_34 : (decl_desc__gadtClang__Clang__ast.cxx_access_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_33 : (decl_desc__gadtfriend_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_32 : (decl_desc__gadtfunction_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_31 : (decl_desc__gadtexception_spec Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_30 : (decl_desc__gadtexception_spec__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_29 : (decl_desc__gadtstmt Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_28 : (decl_desc__gadtstmt__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_27 : (decl_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_26 : (decl_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_25 : (decl_desc__gadtrecord_decl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_24 : (decl_desc__gadtClang__.Clang__bindings.clang_ext_declkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_23 : (decl_desc__gadtClang__.Clang__bindings.cxcursorkind__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_22 : (decl_desc__gadtdecl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_21 : (decl_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_20 : (decl_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_19 : (decl_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_18 : (decl_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_17 : (decl_desc__gadttemplate_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_16 : (decl_desc__gadttemplate_argument__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_15 : (decl_desc__gadttemplate_parameter_list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_14 : (decl_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_13 : (decl_desc__gadtdirective__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_12 : (decl_desc__gadtvar_decl_desc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_11 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_10 : (decl_desc__gadtdeclaration_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_9 : (decl_desc__gadttemplate_parameter_list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_8 : (decl_desc__gadtattribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_7 : (decl_desc__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_6 : (decl_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_5 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_4 : (decl_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_3 : (decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_2 : (decl_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_1 : (decl_desc__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Decl_desc__sub_0 : (decl_desc__gadttemplate_parameter_list__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_directive : directive Refl.refl
type Refl.refl += Refl_base_specifier : base_specifier Refl.refl
type Refl.sub_gadt_ext += Base_specifier__sub_1 : (base_specifier__gadtClang__Clang__ast.cxx_access_specifier__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Base_specifier__sub_0 : (base_specifier__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_ident_ref : ident_ref Refl.refl
type Refl.sub_gadt_ext += Ident_ref__sub_4 : (ident_ref__gadttemplate_argument Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Ident_ref__sub_3 : (ident_ref__gadttemplate_argument__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Ident_ref__sub_2 : (ident_ref__gadtdeclaration_name__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Ident_ref__sub_1 : (ident_ref__gadtnested_name_specifier Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Ident_ref__sub_0 : (ident_ref__gadtnested_name_specifier__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_friend_decl : friend_decl Refl.refl
type Refl.sub_gadt_ext += Friend_decl__sub_1 : (friend_decl__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Friend_decl__sub_0 : (friend_decl__gadtdecl__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_label_ref : label_ref Refl.refl
type Refl.refl += Refl_enum_constant : enum_constant Refl.refl
type Refl.sub_gadt_ext += Enum_constant__sub_1 : (enum_constant__gadtenum_constant_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Enum_constant__sub_0 : (enum_constant__gadtenum_constant_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_enum_constant_desc : enum_constant_desc Refl.refl
type Refl.sub_gadt_ext += Enum_constant_desc__sub_1 : (enum_constant_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Enum_constant_desc__sub_0 : (enum_constant_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_var_decl : var_decl Refl.refl
type Refl.sub_gadt_ext += Var_decl__sub_1 : (var_decl__gadtvar_decl_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Var_decl__sub_0 : (var_decl__gadtvar_decl_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_var_decl_desc : var_decl_desc Refl.refl
type Refl.sub_gadt_ext += Var_decl_desc__sub_5 : (var_decl_desc__gadtattribute Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Var_decl_desc__sub_4 : (var_decl_desc__gadtattribute__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Var_decl_desc__sub_3 : (var_decl_desc__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Var_decl_desc__sub_2 : (var_decl_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Var_decl_desc__sub_1 : (var_decl_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Var_decl_desc__sub_0 : (var_decl_desc__gadtClang__Clang__ast.linkage_kind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_cxx_method_binding_kind : cxx_method_binding_kind Refl.refl
type Refl.refl += Refl_template_parameter_list : template_parameter_list Refl.refl
type Refl.sub_gadt_ext += Template_parameter_list__sub_3 : (template_parameter_list__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_list__sub_2 : (template_parameter_list__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_list__sub_1 : (template_parameter_list__gadttemplate_parameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_list__sub_0 : (template_parameter_list__gadttemplate_parameter__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_template_parameter : template_parameter Refl.refl
type Refl.sub_gadt_ext += Template_parameter__sub_1 : (template_parameter__gadttemplate_parameter_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter__sub_0 : (template_parameter__gadttemplate_parameter_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_template_parameter_desc : template_parameter_desc Refl.refl
type Refl.sub_gadt_ext += Template_parameter_desc__sub_0 : (template_parameter_desc__gadttemplate_parameter_kind__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_template_parameter_kind : template_parameter_kind Refl.refl
type Refl.sub_gadt_ext += Template_parameter_kind__sub_6 : (template_parameter_kind__gadtexpr Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_kind__sub_5 : (template_parameter_kind__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_kind__sub_4 : (template_parameter_kind__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_kind__sub_3 : (template_parameter_kind__gadtstring Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_kind__sub_2 : (template_parameter_kind__gadttemplate_parameter_list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_kind__sub_1 : (template_parameter_kind__gadtqual_type Refl.Builtins.option__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Template_parameter_kind__sub_0 : (template_parameter_kind__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_translation_unit : translation_unit Refl.refl
type Refl.sub_gadt_ext += Translation_unit__sub_1 : (translation_unit__gadttranslation_unit_desc node__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Translation_unit__sub_0 : (translation_unit__gadttranslation_unit_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_translation_unit_desc : translation_unit_desc Refl.refl
type Refl.sub_gadt_ext += Translation_unit_desc__sub_1 : (translation_unit_desc__gadtdecl Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Translation_unit_desc__sub_0 : (translation_unit_desc__gadtdecl__gadt) Refl.sub_gadt_ext
val decoration_refl : (decorationdecoration__structure, unit, decoration__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, decoration__gadt) Refl.desc
val opaque_decoration_refl : (opaque_decorationopaque_decoration__structure, unit, opaque_decoration__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, opaque_decoration__gadt) Refl.desc
val node_refl : ('a0 nodenode__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 qual_type_refl : (qual_typequal_type__structure, unit, qual_type__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, qual_type__gadt) Refl.desc
val type_desc_refl : (type_desctype_desc__structure, unit, type_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, type_desc__gadt) Refl.desc
val template_name_refl : (template_nametemplate_name__structure, unit, template_name__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, template_name__gadt) Refl.desc
val template_argument_refl : (template_argumenttemplate_argument__structure, unit, template_argument__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, template_argument__gadt) Refl.desc
val requirement_refl : (requirementrequirement__structure, unit, requirement__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, requirement__gadt) Refl.desc
val expr_requirement_refl : (expr_requirementexpr_requirement__structure, unit, expr_requirement__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, expr_requirement__gadt) Refl.desc
val type_constraint_refl : (type_constrainttype_constraint__structure, unit, type_constraint__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, type_constraint__gadt) Refl.desc
val nested_name_specifier_refl : (nested_name_specifiernested_name_specifier__structure, unit, nested_name_specifier__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, nested_name_specifier__gadt) Refl.desc
val nested_name_specifier_component_refl : (nested_name_specifier_componentnested_name_specifier_component__structure, unit, nested_name_specifier_component__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, nested_name_specifier_component__gadt) Refl.desc
val declaration_name_refl : (declaration_namedeclaration_name__structure, unit, declaration_name__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, declaration_name__gadt) Refl.desc
val record_decl_refl : (record_declrecord_decl__structure, unit, record_decl__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, record_decl__gadt) Refl.desc
val function_decl_refl : (function_declfunction_decl__structure, unit, function_decl__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, function_decl__gadt) Refl.desc
val function_type_refl : (function_typefunction_type__structure, unit, function_type__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, function_type__gadt) Refl.desc
val exception_spec_refl : (exception_specexception_spec__structure, unit, exception_spec__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, exception_spec__gadt) Refl.desc
val parameters_refl : (parametersparameters__structure, unit, parameters__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, parameters__gadt) Refl.desc
val parameter_refl : (parameterparameter__structure, unit, parameter__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, parameter__gadt) Refl.desc
val parameter_desc_refl : (parameter_descparameter_desc__structure, unit, parameter_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, parameter_desc__gadt) Refl.desc
val stmt_refl : (stmtstmt__structure, unit, stmt__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, stmt__gadt) Refl.desc
val stmt_desc_refl : (stmt_descstmt_desc__structure, unit, stmt_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, stmt_desc__gadt) Refl.desc
val catch_refl : (catchcatch__structure, unit, catch__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, catch__gadt) Refl.desc
val asm_refl : (asmasm__structure, unit, asm__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, asm__gadt) Refl.desc
val asm_operand_refl : (asm_operandasm_operand__structure, unit, asm_operand__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, asm_operand__gadt) Refl.desc
val attribute_refl : (attributeattribute__structure, unit, attribute__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, attribute__gadt) Refl.desc
val attribute_desc_refl : (attribute_descattribute_desc__structure, unit, attribute_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, attribute_desc__gadt) Refl.desc
val expr_refl : (exprexpr__structure, unit, expr__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, expr__gadt) Refl.desc
val expr_desc_refl : (expr_descexpr_desc__structure, unit, expr_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, expr_desc__gadt) Refl.desc
val field_refl : (fieldfield__structure, unit, field__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, field__gadt) Refl.desc
val lambda_capture_refl : (lambda_capturelambda_capture__structure, unit, lambda_capture__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, lambda_capture__gadt) Refl.desc
val cast_kind_refl : (cast_kindcast_kind__structure, unit, cast_kind__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, cast_kind__gadt) Refl.desc
val expr_or_type_refl : (expr_or_typeexpr_or_type__structure, unit, expr_or_type__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, expr_or_type__gadt) Refl.desc
val string_literal_refl : (string_literalstring_literal__structure, unit, string_literal__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, string_literal__gadt) Refl.desc
val designator_refl : (designatordesignator__structure, unit, designator__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, designator__gadt) Refl.desc
val decl_refl : (decldecl__structure, unit, decl__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, decl__gadt) Refl.desc
val decl_desc_refl : (decl_descdecl_desc__structure, unit, decl_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, decl_desc__gadt) Refl.desc
val directive_refl : (directivedirective__structure, unit, directive__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, directive__gadt) Refl.desc
val base_specifier_refl : (base_specifierbase_specifier__structure, unit, base_specifier__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, base_specifier__gadt) Refl.desc
val ident_ref_refl : (ident_refident_ref__structure, unit, ident_ref__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, ident_ref__gadt) Refl.desc
val friend_decl_refl : (friend_declfriend_decl__structure, unit, friend_decl__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, friend_decl__gadt) Refl.desc
val label_ref_refl : (label_reflabel_ref__structure, unit, label_ref__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, label_ref__gadt) Refl.desc
val enum_constant_refl : (enum_constantenum_constant__structure, unit, enum_constant__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, enum_constant__gadt) Refl.desc
val enum_constant_desc_refl : (enum_constant_descenum_constant_desc__structure, unit, enum_constant_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, enum_constant_desc__gadt) Refl.desc
val var_decl_refl : (var_declvar_decl__structure, unit, var_decl__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, var_decl__gadt) Refl.desc
val var_decl_desc_refl : (var_decl_descvar_decl_desc__structure, unit, var_decl_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, var_decl_desc__gadt) Refl.desc
val cxx_method_binding_kind_refl : (cxx_method_binding_kindcxx_method_binding_kind__structure, unit, cxx_method_binding_kind__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, cxx_method_binding_kind__gadt) Refl.desc
val template_parameter_list_refl : (template_parameter_listtemplate_parameter_list__structure, unit, template_parameter_list__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, template_parameter_list__gadt) Refl.desc
val template_parameter_refl : (template_parametertemplate_parameter__structure, unit, template_parameter__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, template_parameter__gadt) Refl.desc
val template_parameter_desc_refl : (template_parameter_desctemplate_parameter_desc__structure, unit, template_parameter_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, template_parameter_desc__gadt) Refl.desc
val template_parameter_kind_refl : (template_parameter_kindtemplate_parameter_kind__structure, unit, template_parameter_kind__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, template_parameter_kind__gadt) Refl.desc
val translation_unit_refl : (translation_unittranslation_unit__structure, unit, translation_unit__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, translation_unit__gadt) Refl.desc
val translation_unit_desc_refl : (translation_unit_desctranslation_unit_desc__structure, unit, translation_unit_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, translation_unit_desc__gadt) Refl.desc
type type_loc = Clang__Clang__ast.Custom(Node).type_loc = {
typeloc : Clang__.Clang__bindings.clang_ext_typeloc option;
desc : type_loc_desc;
}
and type_loc_desc = Clang__Clang__ast.Custom(Node).type_loc_desc =
| BuiltinTypeLoc of Clang__Clang__ast.builtin_type
| TypedefTypeLoc of ident_ref
| ConstantArrayTypeLoc of {
size : expr;
element : type_loc;
}
| VariableArrayTypeLoc of {
size : expr;
element : type_loc;
}
| IncompleteArrayTypeLoc of {
element : type_loc;
}
| PointerTypeLoc of {
pointee : type_loc;
}
| BlockPointerTypeLoc of {
pointee : type_loc;
}
| MemberPointerTypeLoc of {
class_ : type_loc;
pointee : type_loc;
}
| FunctionTypeLoc of {
result : type_loc;
parameters : parameter list;
}
| QualifiedTypeLoc of type_loc
| RecordTypeLoc of ident_ref
| EnumTypeLoc of ident_ref
| ElaboratedTypeLoc of qual_type
| UnknownTypeLoc of Clang__.Clang__bindings.clang_ext_typeloc_class
type type_loc__arity = [
| `Zero
]
and type_loc__structure = [
| `Name of [ `Record of [ `Mono of [ `Opaque of [ `Zero ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `One of [ `Start ] ] ] ] ] * unit) ]
]
and type_loc_desc__arity = [
| `Zero
]
and type_loc_desc__structure = [
| `Name of [ `Constr of ((([ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__Clang__ast.builtin_type__structure * Clang__Clang__ast.builtin_type__rec_group ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * ([ `Mono of [ `Apply of [ `SubGADT of [ `RecGroup of Refl.Builtins.list__structure * Refl.Builtins.list__rec_group ] ] * ([ `SubGADT of [ `RecGroup of parameter__structure * parameter__rec_group ] ] * 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 [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of qual_type__structure * qual_type__rec_group ] ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of expr__structure * expr__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of ident_ref__structure * ident_ref__rec_group ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * unit ] * unit ] Stdcompat.ref)) * ((([ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of ident_ref__structure * ident_ref__rec_group ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] * unit ] * unit ] Stdcompat.ref) * ([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * unit ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of Clang__.Clang__bindings.clang_ext_typeloc_class__structure * Clang__.Clang__bindings.clang_ext_typeloc_class__rec_group ] ] * unit ] * unit ] Stdcompat.ref)) * (([ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `RecGroup of expr__structure * expr__rec_group ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref * [ `Constructor of [ `Tuple of [ `SubGADT of [ `RecGroup of ident_ref__structure * ident_ref__rec_group ] ] * unit ] * unit ] Stdcompat.ref) * [ `Constructor of [ `Record of [ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * ([ `Mono of [ `SubGADT of [ `Rec of [ `Zero of [ `Start ] ] ] ] ] * unit) ] * unit ] Stdcompat.ref)) ]
]
and type_loc__rec_group = (type_loc__arity * type_loc__structure) Stdcompat.ref * (type_loc_desc__arity * type_loc_desc__structure) Stdcompat.ref
and type_loc__kinds = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `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 = [
| `Bool
| `Constr
| `Float
| `Int
| `Lazy
| `Opaque
| `Record
| `String
| `Tuple
| `Variable
]
and type_loc_desc__gadt = unit
type Refl.refl += Refl_type_loc : type_loc Refl.refl
type Refl.sub_gadt_ext += Type_loc__sub_0 : (type_loc__gadttype_loc_desc__gadt) Refl.sub_gadt_ext
type Refl.refl += Refl_type_loc_desc : type_loc_desc Refl.refl
type Refl.sub_gadt_ext += Type_loc_desc__sub_18 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_17 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_16 : (type_loc_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_15 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_14 : (type_loc_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_13 : (type_loc_desc__gadtClang__.Clang__bindings.clang_ext_typeloc_class__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_12 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_11 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_10 : (type_loc_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_9 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_8 : (type_loc_desc__gadtident_ref__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_7 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_6 : (type_loc_desc__gadtexpr__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_5 : (type_loc_desc__gadtqual_type__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_4 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_3 : (type_loc_desc__gadtparameter Refl.Builtins.list__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_2 : (type_loc_desc__gadtparameter__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_1 : (type_loc_desc__gadttype_loc__gadt) Refl.sub_gadt_ext
type Refl.sub_gadt_ext += Type_loc_desc__sub_0 : (type_loc_desc__gadtClang__Clang__ast.builtin_type__gadt) Refl.sub_gadt_ext
val type_loc_refl : (type_loctype_loc__structure, unit, type_loc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, type_loc__gadt) Refl.desc
val type_loc_desc_refl : (type_loc_desctype_loc_desc__structure, unit, type_loc_desc__rec_group[> template_parameter_kind__kinds ], unit, unit, unit, type_loc_desc__gadt) Refl.desc
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 -> 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 : module type of sig ... end

Options.t stores flags that change the construction of the abstract syntax tree. Beware that the nodes that are ignored by default can differ from one version of Clang to the other.

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

parse_file ?index ?command_line_args ?unsaved_files ?clang_options ?options filename parses file filename and returns its translation unit. This function is equivalent to Clang.parse_file (where options becomes clang_options), but returns the high-level representation of the translation unit (as obtained by of_cxtranslationunit).

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_unitClang__.Clang__bindings.cxerrorcode) Stdcompat.result

Equivalent to parse_file but returns a result instead of raising Failure _ if parsing fails.

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

parse_string ?index ?filename ?command_line_args ?unsaved_files ?clang_options ?options contents parses string contents and returns its translation unit. This function is equivalent to Clang.parse_string (where options becomes clang_options), but returns the high-level representation of the translation unit (as obtained by of_cxtranslationunit).

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_unitClang__.Clang__bindings.cxerrorcode) Stdcompat.result

Equivalent to parse_string_res but returns a result instead of raising Failure _ if parsing fails.

val of_cxtranslationunit : ?⁠options:Options.t -> Clang__.Clang__bindings.cxtranslationunit -> translation_unit

of_cxtranslationunit ?options tu translates tu into its high-level representation.

val node : ?⁠decoration:decoration -> ?⁠cursor:Clang__.Clang__bindings.cxcursor -> ?⁠location:source_location -> ?⁠qual_type:qual_type -> 'a Node.t -> 'a node

node ?decoration desc returns a node with the given desc value and decoration. decoration can be given by one of the three following forms: (1) a value for ?decoration, or (2) a value for ?cursor, or (3) by either a value for location, or a value for qual_type, or both. These three forms cannot be mixed, otherwise Invalid_arg _ is raised.

val cursor_of_decoration : decoration -> Clang__.Clang__bindings.cxcursor

cursor_of_decoration decoration returns the cursor associated to decoration if any, or the null cursor otherwise (as returned by get_null_cursor).

val cursor_of_node : 'a node -> Clang__.Clang__bindings.cxcursor

cursor_of_node node is equivalent to cursor_of_decoration node.decoration.

val location_of_decoration : decoration -> source_location

location_of_decoration decoration returns the location associated to decoration if any, or the location of the null cursor otherwise (as returned by get_null_cursor).

val location_of_node : 'a node -> source_location

location_of_node node is equivalent to location_of_decoration node.decoration.

val tokens_of_node : 'a node -> string array

tokens_of_node node returns the token at the beginning of node if available.

val concrete_of_source_location : Clang__.Clang__types.location_kind -> source_location -> Clang__.Clang__types.concrete_location

concrete_of_source_location kind location returns the concrete location associated to location. If location is concrete, it is returned directly. If location is libclang's, concrete_of_cxsourcelocation is called.

val seq_of_diagnostics : translation_unit -> Clang__.Clang__bindings.cxdiagnostic Stdcompat.Seq.t

seq_of_diagnostics tu returns the diagnostics (notes, warnings, errors, ...) produced for the given translation unit

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

format_diagnostics ?pp severities fmt tu formats the diagnostics produced for the given translation unit. Only the diagnostics, the severity of which is listed in severities are displayed. If there is a printer given in pp, then this printer is called once if and only if there is at least one diagnostic to display, and pp should call the printer passed in its first argument to display the diagnostics. In the case there is no diagnostic to display, nothing is printed.

val has_severity : Clang__.Clang__bindings.cxdiagnosticseverity list -> translation_unit -> bool

has_severity l tu returns whether the translation unit tu produced a diagnostic, the severity of which belongs to l.

include module type of sig ... end
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