c_src: update
[nit.git] / c_src / nith.types.1.c
similarity index 55%
rename from c_src/nitg.types.1.c
rename to c_src/nith.types.1.c
index 706eeb9..7b4f02e 100644 (file)
@@ -1,187 +1,4 @@
-#include "nitg.types.0.h"
-const int COLOR_array__Arrayparser_nodes__ANodes_FT0 = 0;
-const int COLOR_abstract_collection__Sequence_FT0 = 2;
-const int COLOR_abstract_collection__Collection_FT0 = 12;
-const int COLOR_parser_nodes__ANodes_FT0 = 1;
-const int COLOR_array__ArrayMapKeysarray__ArrayMap_FT0array__ArrayMap_FT1 = 0;
-const int COLOR_array__ArrayMapValuesarray__ArrayMap_FT0array__ArrayMap_FT1 = 1;
-const int COLOR_abstract_collection__MapRead_FT0 = 4;
-const int COLOR_abstract_collection__Map_FT0 = 9;
-const int COLOR_abstract_collection__Map_FT1 = 10;
-const int COLOR_abstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1 = 2;
-const int COLOR_abstract_collection__CoupleMapIteratorarray__ArrayMap_FT0array__ArrayMap_FT1 = 3;
-const int COLOR_abstract_collection__CoupleMap_FT0 = 5;
-const int COLOR_array__ArrayMap_FT0 = 6;
-const int COLOR_array__Arrayabstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1 = 7;
-const int COLOR_hash_collection__HashMapKeyshash_collection__HashMap_FT0hash_collection__HashMap_FT1 = 5;
-const int COLOR_hash_collection__HashMapValueshash_collection__HashMap_FT0hash_collection__HashMap_FT1 = 7;
-const int COLOR_hash_collection__HashMapIteratorhash_collection__HashMap_FT0hash_collection__HashMap_FT1 = 8;
-const int COLOR_hash_collection__HashMapNodehash_collection__HashMap_FT0hash_collection__HashMap_FT1 = 11;
-const int COLOR_array__Arraymodel__MProperty_VTMPROPDEF = 0;
-const int COLOR_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MProperty_VTMPROPDEF = 1;
-const int COLOR_hash_collection__HashMapposet__POSet_FT0poset__POSetElementposet__POSet_FT0 = 2;
-const int COLOR_poset__POSet_FT0 = 3;
-const int COLOR_poset__POSetElementposet__POSet_FT0 = 4;
-const int COLOR_hash_collection__HashSetposet__POSetElement_FT0 = 0;
-const int COLOR_poset__POSetposet__POSetElement_FT0 = 1;
-const int COLOR_poset__POSetElement_FT0 = 2;
-const int COLOR_hash_collection__HashMapmore_collections__HashMap2_FT0hash_collection__HashMapmore_collections__HashMap2_FT1more_collections__HashMap2_FT2 = 0;
-const int COLOR_more_collections__HashMap2_FT0 = 1;
-const int COLOR_more_collections__HashMap2_FT1 = 2;
-const int COLOR_more_collections__HashMap2_FT2 = 3;
-const int COLOR_hash_collection__HashMapmore_collections__HashMap2_FT1more_collections__HashMap2_FT2 = 4;
-const int COLOR_hash_collection__HashMapmore_collections__HashMap3_FT0more_collections__HashMap2more_collections__HashMap3_FT1more_collections__HashMap3_FT2more_collections__HashMap3_FT3 = 0;
-const int COLOR_more_collections__HashMap3_FT0 = 1;
-const int COLOR_more_collections__HashMap3_FT1 = 2;
-const int COLOR_more_collections__HashMap3_FT2 = 3;
-const int COLOR_more_collections__HashMap3_FT3 = 4;
-const int COLOR_more_collections__HashMap2more_collections__HashMap3_FT1more_collections__HashMap3_FT2more_collections__HashMap3_FT3 = 5;
-const int COLOR_hash_collection__HashMaplayout_builders__Layout_FT0kernel__Int = 0;
-const int COLOR_abstract_collection__Maplayout_builders__Layout_FT0kernel__Int = 1;
-const int COLOR_hash_collection__HashMaplayout_builders__PHLayout_FT0kernel__Int = 2;
-const int COLOR_hash_collection__HashMaplayout_builders__PHLayout_FT0abstract_collection__Maplayout_builders__PHLayout_FT1kernel__Int = 3;
-const int COLOR_abstract_collection__Maplayout_builders__PHLayout_FT0kernel__Int = 4;
-const int COLOR_abstract_collection__Maplayout_builders__PHLayout_FT0abstract_collection__Maplayout_builders__PHLayout_FT1kernel__Int = 5;
-const int COLOR_hash_collection__HashSetlayout_builders__TypingColorer_FT0 = 0;
-const int COLOR_hash_collection__HashMaplayout_builders__TypingColorer_FT0kernel__Int = 1;
-const int COLOR_hash_collection__HashMaplayout_builders__TypingColorer_FT0array__Arraylayout_builders__TypingColorer_FT0 = 2;
-const int COLOR_abstract_collection__Setlayout_builders__TypingColorer_FT0 = 3;
-const int COLOR_abstract_collection__Maplayout_builders__TypingColorer_FT0kernel__Int = 4;
-const int COLOR_layout_builders__POSetBuilderlayout_builders__TypingColorer_FT0 = 5;
-const int COLOR_nullable_poset__POSetlayout_builders__TypingColorer_FT0 = 6;
-const int COLOR_layout_builders__Layoutlayout_builders__TypingColorer_FT0 = 7;
-const int COLOR_layout_builders__TypingColorer_FT0 = 8;
-const int COLOR_hash_collection__HashMaplayout_builders__TypingColorer_FT0hash_collection__HashSetlayout_builders__TypingColorer_FT0 = 9;
-const int COLOR_nullable_hash_collection__HashMaplayout_builders__TypingColorer_FT0abstract_collection__Setlayout_builders__TypingColorer_FT0 = 10;
-const int COLOR_abstract_collection__Maplayout_builders__TypingColorer_FT0array__Arraylayout_builders__TypingColorer_FT0 = 11;
-const int COLOR_array__Arraylayout_builders__TypingColorer_FT0 = 12;
-const int COLOR_hash_collection__HashMaplayout_builders__MPropertyColorer_FT0kernel__Int = 0;
-const int COLOR_abstract_collection__Maplayout_builders__MPropertyColorer_FT0kernel__Int = 1;
-const int COLOR_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__MPropertyColorer_FT0 = 2;
-const int COLOR_layout_builders__Layoutlayout_builders__MPropertyColorer_FT0 = 3;
-const int COLOR_abstract_collection__Collectionlayout_builders__MPropertyColorer_FT0 = 4;
-const int COLOR_array__Arrayarray__Array_FT0 = 0;
-const int COLOR_array__NativeArrayarray__Array_FT0 = 1;
-const int COLOR_abstract_collection__SimpleCollection_FT0 = 3;
-const int COLOR_abstract_collection__Collectionarray__Array_FT0 = 4;
-const int COLOR_array__Array_FT0 = 5;
-const int COLOR_kernel__Comparable_VTOTHER = 0;
-const int COLOR_string__StringCharView_VTSELFTYPE = 0;
-const int COLOR_array__Arrayabstract_collection__Sequence_FT0 = 10;
-const int COLOR_abstract_collection__Collectionabstract_collection__Collection_FT0 = 13;
-const int COLOR_abstract_collection__ContainerIteratorabstract_collection__Container_FT0 = 2;
-const int COLOR_abstract_collection__Container_FT0 = 3;
-const int COLOR_abstract_collection__Containerabstract_collection__ContainerIterator_FT0 = 1;
-const int COLOR_abstract_collection__RemovableCollection_FT0 = 8;
-const int COLOR_abstract_collection__Collectionabstract_collection__SimpleCollection_FT0 = 11;
-const int COLOR_abstract_collection__Collectionabstract_collection__Set_FT0 = 4;
-const int COLOR_abstract_collection__MapRead_FT1 = 13;
-const int COLOR_abstract_collection__Mapabstract_collection__Map_FT0abstract_collection__Map_FT1 = 12;
-const int COLOR_abstract_collection__MapIteratorabstract_collection__MapKeysIterator_FT0abstract_collection__MapKeysIterator_FT1 = 1;
-const int COLOR_abstract_collection__MapIteratorabstract_collection__MapValuesIterator_FT0abstract_collection__MapValuesIterator_FT1 = 1;
-const int COLOR_abstract_collection__SequenceRead_FT0 = 14;
-const int COLOR_abstract_collection__Collectionabstract_collection__Sequence_FT0 = 9;
-const int COLOR_abstract_collection__Iteratorabstract_collection__Coupleabstract_collection__CoupleMapIterator_FT0abstract_collection__CoupleMapIterator_FT1 = 0;
-const int COLOR_abstract_collection__Couple_FT0 = 0;
-const int COLOR_abstract_collection__Couple_FT1 = 1;
-const int COLOR_range__IteratorRangerange__Range_FT0 = 0;
-const int COLOR_range__Range_FT0 = 1;
-const int COLOR_range__IteratorRange_FT0 = 1;
-const int COLOR_range__Rangerange__IteratorRange_FT0 = 2;
-const int COLOR_list__Listlist__List_FT0 = 0;
-const int COLOR_list__ListNodelist__List_FT0 = 1;
-const int COLOR_list__ListIteratorlist__List_FT0 = 4;
-const int COLOR_abstract_collection__Collectionlist__List_FT0 = 5;
-const int COLOR_list__List_FT0 = 6;
-const int COLOR_nullable_list__ListNodelist__List_FT0 = 7;
-const int COLOR_list__ListIterator_FT0 = 1;
-const int COLOR_list__Listlist__ListIterator_FT0 = 2;
-const int COLOR_list__ListNode_FT0 = 0;
-const int COLOR_nullable_list__ListNodelist__ListNode_FT0 = 1;
-const int COLOR_array__AbstractArrayRead_FT0 = 15;
-const int COLOR_array__Arrayarray__AbstractArrayRead_FT0 = 16;
-const int COLOR_array__AbstractArrayarray__AbstractArrayRead_FT0 = 17;
-const int COLOR_array__ArrayIteratorarray__AbstractArrayRead_FT0 = 18;
-const int COLOR_array__AbstractArray_FT0 = 7;
-const int COLOR_array__AbstractArrayReadarray__ArrayIterator_FT0 = 1;
-const int COLOR_array__ArraySetIteratorarray__ArraySet_FT0 = 0;
-const int COLOR_array__Arrayarray__ArraySet_FT0 = 1;
-const int COLOR_array__ArrayIteratorarray__ArraySetIterator_FT0 = 1;
-const int COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1 = 0;
-const int COLOR_abstract_collection__MapKeysIteratorarray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1 = 1;
-const int COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1 = 0;
-const int COLOR_abstract_collection__MapValuesIteratorarray__ArrayMapValues_FT0array__ArrayMapValues_FT1 = 1;
-const int COLOR_array__Arrayabstract_collection__Iterator_FT0 = 0;
-const int COLOR_array__NativeArrayarray__ArrayCapable_FT0 = 6;
-const int COLOR_array__NativeArray_FT0 = 0;
-const int COLOR_array__NativeArrayarray__NativeArray_FT0 = 1;
-const int COLOR_sorter__AbstractSorter_FT0 = 0;
-const int COLOR_array__Arraysorter__AbstractSorter_FT0 = 1;
-const int COLOR_hash_collection__HashCollection_FT0 = 14;
-const int COLOR_nullable_hash_collection__HashCollection_FT1 = 15;
-const int COLOR_hash_collection__HashCollection_FT1 = 16;
-const int COLOR_nullable_hash_collection__HashCollection_FT0 = 17;
-const int COLOR_nullable_hash_collection__HashNode_VTN = 2;
-const int COLOR_hash_collection__HashNode_FT0 = 3;
-const int COLOR_hash_collection__HashMaphash_collection__HashMapKeys_FT0hash_collection__HashMapKeys_FT1 = 0;
-const int COLOR_abstract_collection__MapKeysIteratorhash_collection__HashMapKeys_FT0hash_collection__HashMapKeys_FT1 = 1;
-const int COLOR_hash_collection__HashMaphash_collection__HashMapValues_FT0hash_collection__HashMapValues_FT1 = 0;
-const int COLOR_abstract_collection__MapValuesIteratorhash_collection__HashMapValues_FT0hash_collection__HashMapValues_FT1 = 1;
-const int COLOR_hash_collection__HashMapNode_FT0 = 0;
-const int COLOR_hash_collection__HashMapNode_FT1 = 1;
-const int COLOR_hash_collection__HashMaphash_collection__HashMapIterator_FT0hash_collection__HashMapIterator_FT1 = 0;
-const int COLOR_hash_collection__HashSetNodehash_collection__HashSet_FT0 = 0;
-const int COLOR_hash_collection__HashSetIteratorhash_collection__HashSet_FT0 = 1;
-const int COLOR_abstract_collection__Collectionhash_collection__HashSet_FT0 = 2;
-const int COLOR_hash_collection__HashSetNode_FT0 = 0;
-const int COLOR_hash_collection__HashSethash_collection__HashSetIterator_FT0 = 1;
-const int COLOR_model__MPropDef_VTMPROPERTY = 0;
-const int COLOR_model__MPropDef_VTMPROPDEF = 2;
-const int COLOR_more_collections__MultiHashMap_FT0 = 0;
-const int COLOR_more_collections__MultiHashMap_FT1 = 1;
-const int COLOR_array__Arraymore_collections__MultiHashMap_FT1 = 2;
-const int COLOR_array__NativeArraymore_collections__MultiHashMap_FT1 = 3;
-const int COLOR_nullable_opts__Option_VTVALUE = 0;
-const int COLOR_opts__Option_VTVALUE = 1;
-const int COLOR_nullable_parser_nodes__APropdef_VTMPROPDEF = 0;
-const int COLOR_array__Arrayordered_tree__OrderedTree_FT0 = -1;
-const int COLOR_hash_collection__HashMapordered_tree__OrderedTree_FT0array__Arrayordered_tree__OrderedTree_FT0 = -1;
-const int COLOR_nullable_ordered_tree__OrderedTree_FT0 = -1;
-const int COLOR_ordered_tree__OrderedTree_FT0 = -1;
-const int COLOR_array__NativeArrayordered_tree__OrderedTree_FT0 = -1;
-const int COLOR_sorter__AbstractSorterordered_tree__OrderedTree_FT0 = -1;
-const int COLOR_abstract_compiler__AbstractCompiler_VTVISITOR = 0;
-const int COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER = 0;
-const int COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR = 1;
-const int COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER = 0;
-const int COLOR_abstract_compiler__Frame_VTVISITOR = 0;
-const int COLOR_model__MPropDef_VTVISITOR = 1;
-const int COLOR_abstract_collection__Setlayout_builders__TypingLayoutBuilder_FT0 = 13;
-const int COLOR_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutBuilder_FT0 = 5;
-const int COLOR_abstract_collection__Setlayout_builders__POSetBuilder_FT0 = 0;
-const int COLOR_layout_builders__POSetBuilderlayout_builders__TypingBMizer_FT0 = 0;
-const int COLOR_nullable_poset__POSetlayout_builders__TypingBMizer_FT0 = 1;
-const int COLOR_abstract_collection__Setlayout_builders__TypingBMizer_FT0 = 2;
-const int COLOR_layout_builders__Layoutlayout_builders__TypingBMizer_FT0 = 3;
-const int COLOR_hash_collection__HashMaplayout_builders__TypingBMizer_FT0kernel__Int = 4;
-const int COLOR_layout_builders__Layoutlayout_builders__MPropertyBMizer_FT0 = -1;
-const int COLOR_hash_collection__HashMaplayout_builders__MPropertyBMizer_FT0kernel__Int = -1;
-const int COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT0abstract_collection__Setlayout_builders__PerfectHasher_FT1 = 7;
-const int COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT1kernel__Int = 8;
-const int COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT0kernel__Int = 9;
-const int COLOR_abstract_collection__Setlayout_builders__PerfectHasher_FT1 = 10;
-const int COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT0kernel__Int = 11;
-const int COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT0abstract_collection__Maplayout_builders__PerfectHasher_FT1kernel__Int = 12;
-const int COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT1kernel__Int = 14;
-const int COLOR_layout_builders__POSetBuilderlayout_builders__TypingHasher_FT0 = 0;
-const int COLOR_nullable_poset__POSetlayout_builders__TypingHasher_FT0 = 1;
-const int COLOR_abstract_collection__Setlayout_builders__TypingHasher_FT0 = 2;
-const int COLOR_layout_builders__PHLayoutlayout_builders__TypingHasher_FT0layout_builders__TypingHasher_FT0 = 3;
-const int COLOR_hash_collection__HashMaplayout_builders__TypingHasher_FT0kernel__Int = 4;
-const int COLOR_hash_collection__HashMaplayout_builders__TypingHasher_FT0abstract_collection__Setlayout_builders__TypingHasher_FT0 = 5;
-const int COLOR_hash_collection__HashSetlayout_builders__TypingHasher_FT0 = 6;
-const int COLOR_layout_builders__PHLayoutmodel__MClasslayout_builders__MPropertyHasher_FT0 = -1;
-const int COLOR_hash_collection__HashMaplayout_builders__MPropertyHasher_FT0kernel__Int = -1;
+#include "nith.types.0.h"
 /* runtime type Sys */
 const struct type type_kernel__Sys = {
 -1, /*CAST DEAD*/
@@ -193,7 +10,7 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-86, /* Sys */
+74, /* Sys */
 },
 };
 /* runtime type Object */
@@ -218,43 +35,61 @@ const struct type type_nullable_kernel__Object = {
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type Bool */
-const struct type type_kernel__Bool = {
-632,
-"Bool", /* class_name_string */
-3,
+/* runtime type Stdin */
+const struct type type_file__Stdin = {
+-1, /*CAST DEAD*/
+"Stdin", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-2, /* nullable Bool */
-632, /* Bool */
+75, /* IFStream */
+580, /* Stdin */
 },
 };
-/* runtime type nullable Bool */
-const struct type type_nullable_kernel__Bool = {
-2,
-"nullable Bool", /* class_name_string */
+/* runtime type IFStream */
+const struct type type_file__IFStream = {
+-1, /*CAST DEAD*/
+"IFStream", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+75, /* IFStream */
+},
+};
+/* runtime type Bool */
+const struct type type_kernel__Bool = {
+76,
+"Bool", /* class_name_string */
 2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+76, /* Bool */
+},
 };
 /* runtime type Int */
 const struct type type_kernel__Int = {
-633,
+77,
 "Int", /* class_name_string */
-3,
+2,
 0,
 &resolution_table_kernel__Int,
-4,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-3, /* nullable Int */
-633, /* Int */
+77, /* Int */
 },
 };
 const struct types resolution_table_kernel__Int = {
@@ -263,18 +98,53 @@ const struct types resolution_table_kernel__Int = {
 &type_kernel__Int, /* OTHER: Int */
 }
 };
-/* runtime type nullable Int */
-const struct type type_nullable_kernel__Int = {
+/* runtime type Stdout */
+const struct type type_file__Stdout = {
+-1, /*CAST DEAD*/
+"Stdout", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+78, /* OFStream */
+581, /* Stdout */
+},
+};
+/* runtime type OFStream */
+const struct type type_file__OFStream = {
+-1, /*CAST DEAD*/
+"OFStream", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
 3,
-"nullable Int", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+{
+0, /* nullable Object */
+1, /* Object */
+78, /* OFStream */
+},
+};
+/* runtime type Stderr */
+const struct type type_file__Stderr = {
+-1, /*CAST DEAD*/
+"Stderr", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+78, /* OFStream */
+582, /* Stderr */
+},
 };
 /* runtime type Float */
 const struct type type_kernel__Float = {
-87,
+79,
 "Float", /* class_name_string */
 2,
 0,
@@ -283,7 +153,7 @@ const struct type type_kernel__Float = {
 {
 0, /* nullable Object */
 1, /* Object */
-87, /* Float */
+79, /* Float */
 },
 };
 const struct types resolution_table_kernel__Float = {
@@ -294,7 +164,7 @@ const struct types resolution_table_kernel__Float = {
 };
 /* runtime type Char */
 const struct type type_kernel__Char = {
-88,
+80,
 "Char", /* class_name_string */
 2,
 0,
@@ -303,7 +173,7 @@ const struct type type_kernel__Char = {
 {
 0, /* nullable Object */
 1, /* Object */
-88, /* Char */
+80, /* Char */
 },
 };
 const struct types resolution_table_kernel__Char = {
@@ -312,10 +182,25 @@ const struct types resolution_table_kernel__Char = {
 &type_kernel__Char, /* OTHER: Char */
 }
 };
-/* runtime type ToolContext */
-const struct type type_toolcontext__ToolContext = {
+/* runtime type NativeFile */
+const struct type type_file__NativeFile = {
 -1, /*CAST DEAD*/
-"ToolContext", /* class_name_string */
+"NativeFile", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+81, /* Pointer */
+583, /* NativeFile */
+},
+};
+/* runtime type Pointer */
+const struct type type_kernel__Pointer = {
+-1, /*CAST DEAD*/
+"Pointer", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -323,7 +208,7 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-89, /* ToolContext */
+81, /* Pointer */
 },
 };
 /* runtime type NativeString */
@@ -333,61 +218,72 @@ const struct type type_string__NativeString = {
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+81, /* Pointer */
+584, /* NativeString */
+},
+};
+/* runtime type ToolContext */
+const struct type type_toolcontext__ToolContext = {
+-1, /*CAST DEAD*/
+"ToolContext", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-90, /* NativeString */
+82, /* ToolContext */
 },
 };
 /* runtime type Array[Message] */
 const struct type type_array__Arraytoolcontext__Message = {
-2655,
+2015,
 "Array[Message]", /* class_name_string */
-6,
+10,
 0,
 &resolution_table_array__Arraytoolcontext__Message,
-10,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-634, /* Collection[Message] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2234, /* AbstractArrayRead[Message] */
-2655, /* Array[Message] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+585, /* Collection[Message] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1642, /* AbstractArrayRead[Message] */
+1459, /* Array[Object] */
+2015, /* Array[Message] */
 },
 };
 const struct types resolution_table_array__Arraytoolcontext__Message = {
 0, /* dummy */
 {
-&type_array__Arraytoolcontext__Message, /* Array[Array#0]: Array[Message] */
-&type_array__NativeArraytoolcontext__Message, /* NativeArray[Array#0]: NativeArray[Message] */
 &type_toolcontext__Message, /* Sequence#0: Message */
 &type_toolcontext__Message, /* SimpleCollection#0: Message */
-&type_abstract_collection__Collectiontoolcontext__Message, /* Collection[Array#0]: Collection[Message] */
-&type_toolcontext__Message, /* Array#0: Message */
+&type_array__NativeArraytoolcontext__Message, /* NativeArray[Array#0]: NativeArray[Message] */
+&type_array__Arraytoolcontext__Message, /* Array[Array#0]: Array[Message] */
 &type_array__NativeArraytoolcontext__Message, /* NativeArray[ArrayCapable#0]: NativeArray[Message] */
-&type_toolcontext__Message, /* AbstractArray#0: Message */
 &type_toolcontext__Message, /* RemovableCollection#0: Message */
 &type_abstract_collection__Collectiontoolcontext__Message, /* Collection[Sequence#0]: Collection[Message] */
-&type_array__Arraytoolcontext__Message, /* Array[Sequence#0]: Array[Message] */
 &type_abstract_collection__Collectiontoolcontext__Message, /* Collection[SimpleCollection#0]: Collection[Message] */
 &type_toolcontext__Message, /* Collection#0: Message */
 &type_abstract_collection__Collectiontoolcontext__Message, /* Collection[Collection#0]: Collection[Message] */
 &type_toolcontext__Message, /* SequenceRead#0: Message */
 &type_toolcontext__Message, /* AbstractArrayRead#0: Message */
 &type_array__Arraytoolcontext__Message, /* Array[AbstractArrayRead#0]: Array[Message] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Message] not a live type) */
 &type_array__ArrayIteratortoolcontext__Message, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Message] */
 }
 };
 /* runtime type Array[Object] */
 const struct type type_array__Arraykernel__Object = {
-2029,
+1459,
 "Array[Object]", /* class_name_string */
 9,
 0,
@@ -397,42 +293,37 @@ const struct type type_array__Arraykernel__Object = {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-1838, /* AbstractArrayRead[Object] */
+1294, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+1459, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arraykernel__Object = {
 0, /* dummy */
 {
-&type_array__Arraykernel__Object, /* Array[Array#0]: Array[Object] */
-&type_array__NativeArraykernel__Object, /* NativeArray[Array#0]: NativeArray[Object] */
 &type_kernel__Object, /* Sequence#0: Object */
 &type_kernel__Object, /* SimpleCollection#0: Object */
-&type_abstract_collection__Collectionkernel__Object, /* Collection[Array#0]: Collection[Object] */
-&type_kernel__Object, /* Array#0: Object */
+&type_array__NativeArraykernel__Object, /* NativeArray[Array#0]: NativeArray[Object] */
+&type_array__Arraykernel__Object, /* Array[Array#0]: Array[Object] */
 &type_array__NativeArraykernel__Object, /* NativeArray[ArrayCapable#0]: NativeArray[Object] */
-&type_kernel__Object, /* AbstractArray#0: Object */
 &type_kernel__Object, /* RemovableCollection#0: Object */
 &type_abstract_collection__Collectionkernel__Object, /* Collection[Sequence#0]: Collection[Object] */
-&type_array__Arraykernel__Object, /* Array[Sequence#0]: Array[Object] */
 &type_abstract_collection__Collectionkernel__Object, /* Collection[SimpleCollection#0]: Collection[Object] */
 &type_kernel__Object, /* Collection#0: Object */
 &type_abstract_collection__Collectionkernel__Object, /* Collection[Collection#0]: Collection[Object] */
 &type_kernel__Object, /* SequenceRead#0: Object */
 &type_kernel__Object, /* AbstractArrayRead#0: Object */
 &type_array__Arraykernel__Object, /* Array[AbstractArrayRead#0]: Array[Object] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Object] not a live type) */
 &type_array__ArrayIteratorkernel__Object, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Object] */
 }
 };
 /* runtime type SequenceRead[nullable Object] */
 const struct type type_abstract_collection__SequenceReadnullable_kernel__Object = {
-91,
+83,
 "SequenceRead[nullable Object]", /* class_name_string */
 3,
 0,
@@ -441,16 +332,16 @@ NULL, /*DEAD*/
 };
 /* runtime type Collection[Message] */
 const struct type type_abstract_collection__Collectiontoolcontext__Message = {
-634,
+585,
 "Collection[Message]", /* class_name_string */
-2,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type Collection[Object] */
 const struct type type_abstract_collection__Collectionkernel__Object = {
-92,
+84,
 "Collection[Object]", /* class_name_string */
 4,
 0,
@@ -459,16 +350,16 @@ NULL, /*DEAD*/
 };
 /* runtime type AbstractArrayRead[Message] */
 const struct type type_array__AbstractArrayReadtoolcontext__Message = {
-2234,
+1642,
 "AbstractArrayRead[Message]", /* class_name_string */
-5,
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[Object] */
 const struct type type_array__AbstractArrayReadkernel__Object = {
-1838,
+1294,
 "AbstractArrayRead[Object]", /* class_name_string */
 7,
 0,
@@ -486,14 +377,14 @@ const struct type type_sorter__ComparableSortertoolcontext__Message = {
 {
 0, /* nullable Object */
 1, /* Object */
-93, /* ComparableSorter[Message] */
+85, /* ComparableSorter[Message] */
 },
 };
 const struct types resolution_table_sorter__ComparableSortertoolcontext__Message = {
 0, /* dummy */
 {
-&type_toolcontext__Message, /* AbstractSorter#0: Message */
-&type_array__Arraytoolcontext__Message, /* Array[AbstractSorter#0]: Array[Message] */
+&type_toolcontext__Message, /* Comparator#0: Message */
+&type_array__Arraytoolcontext__Message, /* Array[Comparator#0]: Array[Message] */
 }
 };
 /* runtime type OptionContext */
@@ -507,7 +398,7 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-94, /* OptionContext */
+86, /* OptionContext */
 },
 };
 /* runtime type OptionCount */
@@ -521,26 +412,147 @@ const struct type type_opts__OptionCount = {
 {
 0, /* nullable Object */
 1, /* Object */
-95, /* Option */
-635, /* OptionCount */
+87, /* Option */
+586, /* OptionCount */
 },
 };
 const struct types resolution_table_opts__OptionCount = {
 0, /* dummy */
 {
-&type_nullable_kernel__Int, /* nullable VALUE: nullable Int */
 &type_kernel__Int, /* VALUE: Int */
 }
 };
 /* runtime type Option */
 const struct type type_opts__Option = {
-95,
+87,
 "Option", /* class_name_string */
 2,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
+/* runtime type Array[String] */
+const struct type type_array__Arraystring__String = {
+2143,
+"Array[String]", /* class_name_string */
+13,
+0,
+&resolution_table_array__Arraystring__String,
+14,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+587, /* Collection[Streamable] */
+1295, /* Collection[String] */
+1294, /* AbstractArrayRead[Object] */
+-1, /* empty */
+1459, /* Array[Object] */
+1643, /* AbstractArrayRead[Streamable] */
+2016, /* Array[Streamable] */
+2017, /* AbstractArrayRead[String] */
+2143, /* Array[String] */
+},
+};
+const struct types resolution_table_array__Arraystring__String = {
+0, /* dummy */
+{
+&type_string__String, /* Sequence#0: String */
+&type_string__String, /* SimpleCollection#0: String */
+&type_array__NativeArraystring__String, /* NativeArray[Array#0]: NativeArray[String] */
+&type_array__Arraystring__String, /* Array[Array#0]: Array[String] */
+&type_array__NativeArraystring__String, /* NativeArray[ArrayCapable#0]: NativeArray[String] */
+&type_string__String, /* RemovableCollection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Sequence#0]: Collection[String] */
+&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_string__String, /* SequenceRead#0: String */
+&type_string__String, /* AbstractArrayRead#0: String */
+&type_array__Arraystring__String, /* Array[AbstractArrayRead#0]: Array[String] */
+&type_array__ArrayIteratorstring__String, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[String] */
+}
+};
+/* runtime type Array[Streamable] */
+const struct type type_array__Arraystream__Streamable = {
+-1, /*CAST DEAD*/
+"Array[Streamable]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arraystream__Streamable,
+12,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+587, /* Collection[Streamable] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+-1, /* empty */
+1459, /* Array[Object] */
+1643, /* AbstractArrayRead[Streamable] */
+2016, /* Array[Streamable] */
+},
+};
+const struct types resolution_table_array__Arraystream__Streamable = {
+0, /* dummy */
+{
+&type_stream__Streamable, /* Sequence#0: Streamable */
+&type_stream__Streamable, /* SimpleCollection#0: Streamable */
+&type_array__NativeArraystream__Streamable, /* NativeArray[Array#0]: NativeArray[Streamable] */
+&type_array__Arraystream__Streamable, /* Array[Array#0]: Array[Streamable] */
+&type_array__NativeArraystream__Streamable, /* NativeArray[ArrayCapable#0]: NativeArray[Streamable] */
+&type_stream__Streamable, /* RemovableCollection#0: Streamable */
+&type_abstract_collection__Collectionstream__Streamable, /* Collection[Sequence#0]: Collection[Streamable] */
+&type_abstract_collection__Collectionstream__Streamable, /* Collection[SimpleCollection#0]: Collection[Streamable] */
+&type_stream__Streamable, /* Collection#0: Streamable */
+&type_abstract_collection__Collectionstream__Streamable, /* Collection[Collection#0]: Collection[Streamable] */
+&type_stream__Streamable, /* SequenceRead#0: Streamable */
+&type_stream__Streamable, /* AbstractArrayRead#0: Streamable */
+&type_array__Arraystream__Streamable, /* Array[AbstractArrayRead#0]: Array[Streamable] */
+&type_array__ArrayIteratorstream__Streamable, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Streamable] */
+}
+};
+/* runtime type Collection[String] */
+const struct type type_abstract_collection__Collectionstring__String = {
+1295,
+"Collection[String]", /* class_name_string */
+6,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Collection[Streamable] */
+const struct type type_abstract_collection__Collectionstream__Streamable = {
+587,
+"Collection[Streamable]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[String] */
+const struct type type_array__AbstractArrayReadstring__String = {
+2017,
+"AbstractArrayRead[String]", /* class_name_string */
+12,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[Streamable] */
+const struct type type_array__AbstractArrayReadstream__Streamable = {
+1643,
+"AbstractArrayRead[Streamable]", /* class_name_string */
+10,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
 /* runtime type OptionBool */
 const struct type type_opts__OptionBool = {
 -1, /*CAST DEAD*/
@@ -552,14 +564,13 @@ const struct type type_opts__OptionBool = {
 {
 0, /* nullable Object */
 1, /* Object */
-95, /* Option */
-636, /* OptionBool */
+87, /* Option */
+588, /* OptionBool */
 },
 };
 const struct types resolution_table_opts__OptionBool = {
 0, /* dummy */
 {
-&type_nullable_kernel__Bool, /* nullable VALUE: nullable Bool */
 &type_kernel__Bool, /* VALUE: Bool */
 }
 };
@@ -574,21 +585,20 @@ const struct type type_opts__OptionString = {
 {
 0, /* nullable Object */
 1, /* Object */
-95, /* Option */
-637, /* OptionParameter */
-1839, /* OptionString */
+87, /* Option */
+589, /* OptionParameter */
+1296, /* OptionString */
 },
 };
 const struct types resolution_table_opts__OptionString = {
 0, /* dummy */
 {
-&type_nullable_string__String, /* nullable VALUE: nullable String */
 &type_nullable_string__String, /* VALUE: nullable String */
 }
 };
 /* runtime type OptionParameter */
 const struct type type_opts__OptionParameter = {
-637,
+589,
 "OptionParameter", /* class_name_string */
 3,
 0,
@@ -597,32 +607,30 @@ NULL, /*DEAD*/
 };
 /* runtime type POSet[Phase] */
 const struct type type_poset__POSetphase__Phase = {
-1840,
+1297,
 "POSet[Phase]", /* class_name_string */
-3,
+6,
 0,
 &resolution_table_poset__POSetphase__Phase,
-5,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-638, /* Collection[Phase] */
-1840, /* POSet[Phase] */
-92, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+590, /* Collection[Phase] */
+1297, /* POSet[Phase] */
 },
 };
 const struct types resolution_table_poset__POSetphase__Phase = {
 0, /* dummy */
 {
-&type_phase__Phase, /* AbstractSorter#0: Phase */
-&type_array__Arrayphase__Phase, /* Array[AbstractSorter#0]: Array[Phase] */
 &type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[Phase, POSetElement[Phase]] */
+&type_array__Arrayphase__Phase, /* Array[Comparator#0]: Array[Phase] */
 &type_phase__Phase, /* POSet#0: Phase */
 &type_poset__POSetElementphase__Phase, /* POSetElement[POSet#0]: POSetElement[Phase] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_abstract_collection__Collectionphase__Phase, /* Collection[POSet#0]: Collection[Phase] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -632,46 +640,34 @@ NULL, /* empty */
 };
 /* runtime type Collection[Phase] */
 const struct type type_abstract_collection__Collectionphase__Phase = {
-638,
+590,
 "Collection[Phase]", /* class_name_string */
-2,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type SimpleMiscAnalysisPhase */
-const struct type type_simple_misc_analysis__SimpleMiscAnalysisPhase = {
+/* runtime type OptionArray */
+const struct type type_opts__OptionArray = {
 -1, /*CAST DEAD*/
-"SimpleMiscAnalysisPhase", /* class_name_string */
+"OptionArray", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-NULL, /*NO RESOLUTIONS*/
+&resolution_table_opts__OptionArray,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1841, /* SimpleMiscAnalysisPhase */
+87, /* Option */
+589, /* OptionParameter */
+1298, /* OptionArray */
 },
 };
-/* runtime type Phase */
-const struct type type_phase__Phase = {
-639,
-"Phase", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable Phase */
-const struct type type_nullable_phase__Phase = {
-4,
-"nullable Phase", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+const struct types resolution_table_opts__OptionArray = {
+0, /* dummy */
+{
+&type_array__Arraystring__String, /* VALUE: Array[String] */
+}
 };
 /* runtime type LiteralPhase */
 const struct type type_literal__LiteralPhase = {
@@ -684,11 +680,29 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1842, /* LiteralPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1299, /* LiteralPhase */
 },
 };
+/* runtime type Phase */
+const struct type type_phase__Phase = {
+591,
+"Phase", /* class_name_string */
+3,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type nullable Phase */
+const struct type type_nullable_phase__Phase = {
+2,
+"nullable Phase", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
 /* runtime type ScopePhase */
 const struct type type_scope__ScopePhase = {
 -1, /*CAST DEAD*/
@@ -700,9 +714,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1843, /* ScopePhase */
+2, /* nullable Phase */
+591, /* Phase */
+1300, /* ScopePhase */
 },
 };
 /* runtime type FlowPhase */
@@ -716,81 +730,61 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1844, /* FlowPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1301, /* FlowPhase */
 },
 };
 /* runtime type Array[Phase] */
 const struct type type_array__Arrayphase__Phase = {
-2656,
+2018,
 "Array[Phase]", /* class_name_string */
-6,
+10,
 0,
 &resolution_table_array__Arrayphase__Phase,
-10,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-638, /* Collection[Phase] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2235, /* AbstractArrayRead[Phase] */
-2656, /* Array[Phase] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+590, /* Collection[Phase] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1644, /* AbstractArrayRead[Phase] */
+1459, /* Array[Object] */
+2018, /* Array[Phase] */
 },
 };
 const struct types resolution_table_array__Arrayphase__Phase = {
 0, /* dummy */
 {
-&type_array__Arrayphase__Phase, /* Array[Array#0]: Array[Phase] */
-&type_array__NativeArrayphase__Phase, /* NativeArray[Array#0]: NativeArray[Phase] */
 &type_phase__Phase, /* Sequence#0: Phase */
 &type_phase__Phase, /* SimpleCollection#0: Phase */
-&type_abstract_collection__Collectionphase__Phase, /* Collection[Array#0]: Collection[Phase] */
-&type_phase__Phase, /* Array#0: Phase */
+&type_array__NativeArrayphase__Phase, /* NativeArray[Array#0]: NativeArray[Phase] */
+&type_array__Arrayphase__Phase, /* Array[Array#0]: Array[Phase] */
 &type_array__NativeArrayphase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[Phase] */
-&type_phase__Phase, /* AbstractArray#0: Phase */
 &type_phase__Phase, /* RemovableCollection#0: Phase */
 &type_abstract_collection__Collectionphase__Phase, /* Collection[Sequence#0]: Collection[Phase] */
-&type_array__Arrayphase__Phase, /* Array[Sequence#0]: Array[Phase] */
 &type_abstract_collection__Collectionphase__Phase, /* Collection[SimpleCollection#0]: Collection[Phase] */
 &type_phase__Phase, /* Collection#0: Phase */
 &type_abstract_collection__Collectionphase__Phase, /* Collection[Collection#0]: Collection[Phase] */
 &type_phase__Phase, /* SequenceRead#0: Phase */
 &type_phase__Phase, /* AbstractArrayRead#0: Phase */
 &type_array__Arrayphase__Phase, /* Array[AbstractArrayRead#0]: Array[Phase] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Phase] not a live type) */
 &type_array__ArrayIteratorphase__Phase, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Phase] */
 }
 };
 /* runtime type AbstractArrayRead[Phase] */
 const struct type type_array__AbstractArrayReadphase__Phase = {
-2235,
+1644,
 "AbstractArrayRead[Phase]", /* class_name_string */
-5,
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type SerializationPhase */
-const struct type type_serialization_phase__SerializationPhase = {
--1, /*CAST DEAD*/
-"SerializationPhase", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1845, /* SerializationPhase */
-},
-};
 /* runtime type LocalVarInitPhase */
 const struct type type_local_var_init__LocalVarInitPhase = {
 -1, /*CAST DEAD*/
@@ -802,34 +796,11 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1846, /* LocalVarInitPhase */
-},
-};
-/* runtime type OptionArray */
-const struct type type_opts__OptionArray = {
--1, /*CAST DEAD*/
-"OptionArray", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_opts__OptionArray,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-95, /* Option */
-637, /* OptionParameter */
-1847, /* OptionArray */
+2, /* nullable Phase */
+591, /* Phase */
+1302, /* LocalVarInitPhase */
 },
 };
-const struct types resolution_table_opts__OptionArray = {
-0, /* dummy */
-{
-&type_nullable_array__Arraystring__String, /* nullable VALUE: nullable Array[String] */
-&type_array__Arraystring__String, /* VALUE: Array[String] */
-}
-};
 /* runtime type ModelizeClassPhase */
 const struct type type_modelize_class__ModelizeClassPhase = {
 -1, /*CAST DEAD*/
@@ -841,9 +812,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1848, /* ModelizeClassPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1303, /* ModelizeClassPhase */
 },
 };
 /* runtime type ModelizePropertyPhase */
@@ -857,25 +828,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1849, /* ModelizePropertyPhase */
-},
-};
-/* runtime type CachedPhase */
-const struct type type_cached__CachedPhase = {
--1, /*CAST DEAD*/
-"CachedPhase", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1850, /* CachedPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1304, /* ModelizePropertyPhase */
 },
 };
 /* runtime type PlatformPhase */
@@ -889,9 +844,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1851, /* PlatformPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1305, /* PlatformPhase */
 },
 };
 /* runtime type TypingPhase */
@@ -905,9 +860,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1852, /* TypingPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1306, /* TypingPhase */
 },
 };
 /* runtime type AutoSuperInitPhase */
@@ -921,25 +876,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1853, /* AutoSuperInitPhase */
-},
-};
-/* runtime type DivByZeroPhase */
-const struct type type_div_by_zero__DivByZeroPhase = {
--1, /*CAST DEAD*/
-"DivByZeroPhase", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1854, /* DivByZeroPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1307, /* AutoSuperInitPhase */
 },
 };
 /* runtime type TransformPhase */
@@ -953,208 +892,15 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1855, /* TransformPhase */
-},
-};
-/* runtime type VerifyNitniCallbacksPhase */
-const struct type type_nitni_callbacks__VerifyNitniCallbacksPhase = {
--1, /*CAST DEAD*/
-"VerifyNitniCallbacksPhase", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1856, /* VerifyNitniCallbacksPhase */
-},
-};
-/* runtime type FFILanguageAssignationPhase */
-const struct type type_ffi_base__FFILanguageAssignationPhase = {
--1, /*CAST DEAD*/
-"FFILanguageAssignationPhase", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1857, /* FFILanguageAssignationPhase */
-},
-};
-/* runtime type Array[FFILanguage] */
-const struct type type_array__Arrayffi_base__FFILanguage = {
-2657,
-"Array[FFILanguage]", /* class_name_string */
-6,
-0,
-&resolution_table_array__Arrayffi_base__FFILanguage,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-640, /* Collection[FFILanguage] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2236, /* AbstractArrayRead[FFILanguage] */
-2657, /* Array[FFILanguage] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayffi_base__FFILanguage = {
-0, /* dummy */
-{
-&type_array__Arrayffi_base__FFILanguage, /* Array[Array#0]: Array[FFILanguage] */
-&type_array__NativeArrayffi_base__FFILanguage, /* NativeArray[Array#0]: NativeArray[FFILanguage] */
-&type_ffi_base__FFILanguage, /* Sequence#0: FFILanguage */
-&type_ffi_base__FFILanguage, /* SimpleCollection#0: FFILanguage */
-&type_abstract_collection__Collectionffi_base__FFILanguage, /* Collection[Array#0]: Collection[FFILanguage] */
-&type_ffi_base__FFILanguage, /* Array#0: FFILanguage */
-&type_array__NativeArrayffi_base__FFILanguage, /* NativeArray[ArrayCapable#0]: NativeArray[FFILanguage] */
-&type_ffi_base__FFILanguage, /* AbstractArray#0: FFILanguage */
-&type_ffi_base__FFILanguage, /* RemovableCollection#0: FFILanguage */
-&type_abstract_collection__Collectionffi_base__FFILanguage, /* Collection[Sequence#0]: Collection[FFILanguage] */
-&type_array__Arrayffi_base__FFILanguage, /* Array[Sequence#0]: Array[FFILanguage] */
-&type_abstract_collection__Collectionffi_base__FFILanguage, /* Collection[SimpleCollection#0]: Collection[FFILanguage] */
-&type_ffi_base__FFILanguage, /* Collection#0: FFILanguage */
-&type_abstract_collection__Collectionffi_base__FFILanguage, /* Collection[Collection#0]: Collection[FFILanguage] */
-&type_ffi_base__FFILanguage, /* SequenceRead#0: FFILanguage */
-&type_ffi_base__FFILanguage, /* AbstractArrayRead#0: FFILanguage */
-&type_array__Arrayffi_base__FFILanguage, /* Array[AbstractArrayRead#0]: Array[FFILanguage] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[FFILanguage] not a live type) */
-&type_array__ArrayIteratorffi_base__FFILanguage, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[FFILanguage] */
-}
-};
-/* runtime type Collection[FFILanguage] */
-const struct type type_abstract_collection__Collectionffi_base__FFILanguage = {
-640,
-"Collection[FFILanguage]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[FFILanguage] */
-const struct type type_array__AbstractArrayReadffi_base__FFILanguage = {
-2236,
-"AbstractArrayRead[FFILanguage]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type CLanguage */
-const struct type type_c__CLanguage = {
--1, /*CAST DEAD*/
-"CLanguage", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-5, /* nullable FFILanguage */
-641, /* FFILanguage */
-1858, /* CLanguage */
-},
-};
-/* runtime type FFILanguage */
-const struct type type_ffi_base__FFILanguage = {
-641,
-"FFILanguage", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable FFILanguage */
-const struct type type_nullable_ffi_base__FFILanguage = {
-5,
-"nullable FFILanguage", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type CPPLanguage */
-const struct type type_cpp__CPPLanguage = {
--1, /*CAST DEAD*/
-"CPPLanguage", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-5, /* nullable FFILanguage */
-641, /* FFILanguage */
-1859, /* CPPLanguage */
-},
-};
-/* runtime type ExternClassesTypingPhaseAst */
-const struct type type_extern_classes__ExternClassesTypingPhaseAst = {
--1, /*CAST DEAD*/
-"ExternClassesTypingPhaseAst", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1860, /* ExternClassesTypingPhaseAst */
-},
-};
-/* runtime type ExternClassesTypingPhaseModel */
-const struct type type_extern_classes__ExternClassesTypingPhaseModel = {
--1, /*CAST DEAD*/
-"ExternClassesTypingPhaseModel", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1861, /* ExternClassesTypingPhaseModel */
-},
-};
-/* runtime type HeaderDependancyPhase */
-const struct type type_header_dependency__HeaderDependancyPhase = {
--1, /*CAST DEAD*/
-"HeaderDependancyPhase", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1862, /* HeaderDependancyPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1308, /* TransformPhase */
 },
 };
-/* runtime type PkgconfigPhase */
-const struct type type_pkgconfig__PkgconfigPhase = {
+/* runtime type SeparateCompilerPhase */
+const struct type type_separate_compiler__SeparateCompilerPhase = {
 -1, /*CAST DEAD*/
-"PkgconfigPhase", /* class_name_string */
+"SeparateCompilerPhase", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -1162,15 +908,15 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1863, /* PkgconfigPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1309, /* SeparateCompilerPhase */
 },
 };
-/* runtime type CCompilerOptionsPhase */
-const struct type type_c_compiler_options__CCompilerOptionsPhase = {
+/* runtime type ErasureCompilerPhase */
+const struct type type_separate_erasure_compiler__ErasureCompilerPhase = {
 -1, /*CAST DEAD*/
-"CCompilerOptionsPhase", /* class_name_string */
+"ErasureCompilerPhase", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -1178,9 +924,9 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Phase */
-639, /* Phase */
-1864, /* CCompilerOptionsPhase */
+2, /* nullable Phase */
+591, /* Phase */
+1310, /* ErasureCompilerPhase */
 },
 };
 /* runtime type Model */
@@ -1194,68 +940,64 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-96, /* Model */
+88, /* Model */
 },
 };
 /* runtime type Array[MProject] */
 const struct type type_array__Arraymproject__MProject = {
-2658,
+2019,
 "Array[MProject]", /* class_name_string */
-6,
+10,
 0,
 &resolution_table_array__Arraymproject__MProject,
-10,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-642, /* Collection[MProject] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2237, /* AbstractArrayRead[MProject] */
-2658, /* Array[MProject] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+592, /* Collection[MProject] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1645, /* AbstractArrayRead[MProject] */
+1459, /* Array[Object] */
+2019, /* Array[MProject] */
 },
 };
 const struct types resolution_table_array__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_array__Arraymproject__MProject, /* Array[Array#0]: Array[MProject] */
-&type_array__NativeArraymproject__MProject, /* NativeArray[Array#0]: NativeArray[MProject] */
 &type_mproject__MProject, /* Sequence#0: MProject */
 &type_mproject__MProject, /* SimpleCollection#0: MProject */
-&type_abstract_collection__Collectionmproject__MProject, /* Collection[Array#0]: Collection[MProject] */
-&type_mproject__MProject, /* Array#0: MProject */
+&type_array__NativeArraymproject__MProject, /* NativeArray[Array#0]: NativeArray[MProject] */
+&type_array__Arraymproject__MProject, /* Array[Array#0]: Array[MProject] */
 &type_array__NativeArraymproject__MProject, /* NativeArray[ArrayCapable#0]: NativeArray[MProject] */
-&type_mproject__MProject, /* AbstractArray#0: MProject */
 &type_mproject__MProject, /* RemovableCollection#0: MProject */
 &type_abstract_collection__Collectionmproject__MProject, /* Collection[Sequence#0]: Collection[MProject] */
-&type_array__Arraymproject__MProject, /* Array[Sequence#0]: Array[MProject] */
 &type_abstract_collection__Collectionmproject__MProject, /* Collection[SimpleCollection#0]: Collection[MProject] */
 &type_mproject__MProject, /* Collection#0: MProject */
 &type_abstract_collection__Collectionmproject__MProject, /* Collection[Collection#0]: Collection[MProject] */
 &type_mproject__MProject, /* SequenceRead#0: MProject */
 &type_mproject__MProject, /* AbstractArrayRead#0: MProject */
 &type_array__Arraymproject__MProject, /* Array[AbstractArrayRead#0]: Array[MProject] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MProject] not a live type) */
 &type_array__ArrayIteratormproject__MProject, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MProject] */
 }
 };
 /* runtime type Collection[MProject] */
 const struct type type_abstract_collection__Collectionmproject__MProject = {
-642,
+592,
 "Collection[MProject]", /* class_name_string */
-2,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[MProject] */
 const struct type type_array__AbstractArrayReadmproject__MProject = {
-2237,
+1645,
 "AbstractArrayRead[MProject]", /* class_name_string */
-5,
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
@@ -1271,8 +1013,8 @@ const struct type type_more_collections__MultiHashMapstring__Stringmproject__MPr
 {
 0, /* nullable Object */
 1, /* Object */
-97, /* HashMap[String, Array[MProject]] */
-643, /* MultiHashMap[String, MProject] */
+89, /* HashMap[String, Array[MProject]] */
+593, /* MultiHashMap[String, MProject] */
 },
 };
 const struct types resolution_table_more_collections__MultiHashMapstring__Stringmproject__MProject = {
@@ -1281,17 +1023,14 @@ const struct types resolution_table_more_collections__MultiHashMapstring__String
 &type_string__String, /* MultiHashMap#0: String */
 &type_mproject__MProject, /* MultiHashMap#1: MProject */
 &type_array__Arraymproject__MProject, /* Array[MultiHashMap#1]: Array[MProject] */
-&type_array__NativeArraymproject__MProject, /* NativeArray[MultiHashMap#1]: NativeArray[MProject] */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringarray__Arraymproject__MProject, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MProject]] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymproject__MProject, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Array[MProject]]] */
+&type_hash_collection__HashMapKeysstring__Stringarray__Arraymproject__MProject, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MProject]] */
 &type_hash_collection__HashMapValuesstring__Stringarray__Arraymproject__MProject, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Array[MProject]] */
 &type_hash_collection__HashMapIteratorstring__Stringarray__Arraymproject__MProject, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Array[MProject]] */
 &type_string__String, /* Map#0: String */
 &type_array__Arraymproject__MProject, /* Map#1: Array[MProject] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymproject__MProject, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Array[MProject]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MProject]] not a live type) */
-&type_array__Arraymproject__MProject, /* MapRead#1: Array[MProject] */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymproject__MProject, /* nullable HashCollection#1: nullable HashMapNode[String, Array[MProject]] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymproject__MProject, /* HashCollection#1: HashMapNode[String, Array[MProject]] */
@@ -1300,7 +1039,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MProject]] not a live type)
 };
 /* runtime type HashMap[String, Array[MProject]] */
 const struct type type_hash_collection__HashMapstring__Stringarray__Arraymproject__MProject = {
-97,
+89,
 "HashMap[String, Array[MProject]]", /* class_name_string */
 2,
 0,
@@ -1309,95 +1048,89 @@ NULL, /*DEAD*/
 };
 /* runtime type Array[MModule] */
 const struct type type_array__Arraymmodule__MModule = {
-2659,
+2020,
 "Array[MModule]", /* class_name_string */
-6,
+10,
 0,
 &resolution_table_array__Arraymmodule__MModule,
-10,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-644, /* Collection[MModule] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2238, /* AbstractArrayRead[MModule] */
-2659, /* Array[MModule] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+594, /* Collection[MModule] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1646, /* AbstractArrayRead[MModule] */
+1459, /* Array[Object] */
+2020, /* Array[MModule] */
 },
 };
 const struct types resolution_table_array__Arraymmodule__MModule = {
 0, /* dummy */
 {
-&type_array__Arraymmodule__MModule, /* Array[Array#0]: Array[MModule] */
-&type_array__NativeArraymmodule__MModule, /* NativeArray[Array#0]: NativeArray[MModule] */
 &type_mmodule__MModule, /* Sequence#0: MModule */
 &type_mmodule__MModule, /* SimpleCollection#0: MModule */
-&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Array#0]: Collection[MModule] */
-&type_mmodule__MModule, /* Array#0: MModule */
+&type_array__NativeArraymmodule__MModule, /* NativeArray[Array#0]: NativeArray[MModule] */
+&type_array__Arraymmodule__MModule, /* Array[Array#0]: Array[MModule] */
 &type_array__NativeArraymmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[MModule] */
-&type_mmodule__MModule, /* AbstractArray#0: MModule */
 &type_mmodule__MModule, /* RemovableCollection#0: MModule */
 &type_abstract_collection__Collectionmmodule__MModule, /* Collection[Sequence#0]: Collection[MModule] */
-&type_array__Arraymmodule__MModule, /* Array[Sequence#0]: Array[MModule] */
 &type_abstract_collection__Collectionmmodule__MModule, /* Collection[SimpleCollection#0]: Collection[MModule] */
 &type_mmodule__MModule, /* Collection#0: MModule */
 &type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 &type_mmodule__MModule, /* SequenceRead#0: MModule */
 &type_mmodule__MModule, /* AbstractArrayRead#0: MModule */
 &type_array__Arraymmodule__MModule, /* Array[AbstractArrayRead#0]: Array[MModule] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MModule] not a live type) */
 &type_array__ArrayIteratormmodule__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MModule] */
 }
 };
 /* runtime type Collection[MModule] */
 const struct type type_abstract_collection__Collectionmmodule__MModule = {
-644,
+594,
 "Collection[MModule]", /* class_name_string */
-2,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[MModule] */
 const struct type type_array__AbstractArrayReadmmodule__MModule = {
-2238,
+1646,
 "AbstractArrayRead[MModule]", /* class_name_string */
-5,
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type POSet[MModule] */
 const struct type type_poset__POSetmmodule__MModule = {
-1865,
+1311,
 "POSet[MModule]", /* class_name_string */
-3,
+6,
 0,
 &resolution_table_poset__POSetmmodule__MModule,
-5,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-644, /* Collection[MModule] */
-1865, /* POSet[MModule] */
-92, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+594, /* Collection[MModule] */
+1311, /* POSet[MModule] */
 },
 };
 const struct types resolution_table_poset__POSetmmodule__MModule = {
 0, /* dummy */
 {
-&type_mmodule__MModule, /* AbstractSorter#0: MModule */
-&type_array__Arraymmodule__MModule, /* Array[AbstractSorter#0]: Array[MModule] */
 &type_hash_collection__HashMapmmodule__MModuleposet__POSetElementmmodule__MModule, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MModule, POSetElement[MModule]] */
+&type_array__Arraymmodule__MModule, /* Array[Comparator#0]: Array[MModule] */
 &type_mmodule__MModule, /* POSet#0: MModule */
 &type_poset__POSetElementmmodule__MModule, /* POSetElement[POSet#0]: POSetElement[MModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[POSet#0]: Collection[MModule] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -1416,8 +1149,8 @@ const struct type type_more_collections__MultiHashMapstring__Stringmmodule__MMod
 {
 0, /* nullable Object */
 1, /* Object */
-98, /* HashMap[String, Array[MModule]] */
-645, /* MultiHashMap[String, MModule] */
+90, /* HashMap[String, Array[MModule]] */
+595, /* MultiHashMap[String, MModule] */
 },
 };
 const struct types resolution_table_more_collections__MultiHashMapstring__Stringmmodule__MModule = {
@@ -1426,17 +1159,14 @@ const struct types resolution_table_more_collections__MultiHashMapstring__String
 &type_string__String, /* MultiHashMap#0: String */
 &type_mmodule__MModule, /* MultiHashMap#1: MModule */
 &type_array__Arraymmodule__MModule, /* Array[MultiHashMap#1]: Array[MModule] */
-&type_array__NativeArraymmodule__MModule, /* NativeArray[MultiHashMap#1]: NativeArray[MModule] */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringarray__Arraymmodule__MModule, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MModule]] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Array[MModule]]] */
+&type_hash_collection__HashMapKeysstring__Stringarray__Arraymmodule__MModule, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MModule]] */
 &type_hash_collection__HashMapValuesstring__Stringarray__Arraymmodule__MModule, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Array[MModule]] */
 &type_hash_collection__HashMapIteratorstring__Stringarray__Arraymmodule__MModule, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Array[MModule]] */
 &type_string__String, /* Map#0: String */
 &type_array__Arraymmodule__MModule, /* Map#1: Array[MModule] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymmodule__MModule, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Array[MModule]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MModule]] not a live type) */
-&type_array__Arraymmodule__MModule, /* MapRead#1: Array[MModule] */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymmodule__MModule, /* nullable HashCollection#1: nullable HashMapNode[String, Array[MModule]] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymmodule__MModule, /* HashCollection#1: HashMapNode[String, Array[MModule]] */
@@ -1445,7 +1175,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MModule]] not a live type)
 };
 /* runtime type HashMap[String, Array[MModule]] */
 const struct type type_hash_collection__HashMapstring__Stringarray__Arraymmodule__MModule = {
-98,
+90,
 "HashMap[String, Array[MModule]]", /* class_name_string */
 2,
 0,
@@ -1454,7 +1184,7 @@ NULL, /*DEAD*/
 };
 /* runtime type Array[MClass] */
 const struct type type_array__Arraymodel__MClass = {
-2801,
+2144,
 "Array[MClass]", /* class_name_string */
 11,
 0,
@@ -1463,45 +1193,40 @@ const struct type type_array__Arraymodel__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-1867, /* AbstractArrayRead[nullable MClass] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-99, /* Collection[nullable MClass] */
-1866, /* Collection[MClass] */
-1838, /* AbstractArrayRead[Object] */
-2030, /* Array[nullable MClass] */
-2029, /* Array[Object] */
-2660, /* AbstractArrayRead[MClass] */
-2801, /* Array[MClass] */
+91, /* Collection[nullable MClass] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+1312, /* Collection[MClass] */
+1313, /* AbstractArrayRead[nullable MClass] */
+1294, /* AbstractArrayRead[Object] */
+1460, /* Array[nullable MClass] */
+1459, /* Array[Object] */
+2021, /* AbstractArrayRead[MClass] */
+2144, /* Array[MClass] */
 },
 };
 const struct types resolution_table_array__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MClass, /* Array[Array#0]: Array[MClass] */
-&type_array__NativeArraymodel__MClass, /* NativeArray[Array#0]: NativeArray[MClass] */
 &type_model__MClass, /* Sequence#0: MClass */
 &type_model__MClass, /* SimpleCollection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Array#0]: Collection[MClass] */
-&type_model__MClass, /* Array#0: MClass */
+&type_array__NativeArraymodel__MClass, /* NativeArray[Array#0]: NativeArray[MClass] */
+&type_array__Arraymodel__MClass, /* Array[Array#0]: Array[MClass] */
 &type_array__NativeArraymodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[MClass] */
-&type_model__MClass, /* AbstractArray#0: MClass */
 &type_model__MClass, /* RemovableCollection#0: MClass */
 &type_abstract_collection__Collectionmodel__MClass, /* Collection[Sequence#0]: Collection[MClass] */
-&type_array__Arraymodel__MClass, /* Array[Sequence#0]: Array[MClass] */
 &type_abstract_collection__Collectionmodel__MClass, /* Collection[SimpleCollection#0]: Collection[MClass] */
 &type_model__MClass, /* Collection#0: MClass */
 &type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 &type_model__MClass, /* SequenceRead#0: MClass */
 &type_model__MClass, /* AbstractArrayRead#0: MClass */
 &type_array__Arraymodel__MClass, /* Array[AbstractArrayRead#0]: Array[MClass] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MClass] not a live type) */
 &type_array__ArrayIteratormodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MClass] */
 }
 };
 /* runtime type Array[nullable MClass] */
 const struct type type_array__Arraynullable_model__MClass = {
-2030,
+1460,
 "Array[nullable MClass]", /* class_name_string */
 8,
 0,
@@ -1510,60 +1235,55 @@ const struct type type_array__Arraynullable_model__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-1867, /* AbstractArrayRead[nullable MClass] */
-91, /* SequenceRead[nullable Object] */
+91, /* Collection[nullable MClass] */
+83, /* SequenceRead[nullable Object] */
 -1, /* empty */
-99, /* Collection[nullable MClass] */
 -1, /* empty */
+1313, /* AbstractArrayRead[nullable MClass] */
 -1, /* empty */
-2030, /* Array[nullable MClass] */
+1460, /* Array[nullable MClass] */
 },
 };
 const struct types resolution_table_array__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MClass, /* Array[Array#0]: Array[nullable MClass] */
-&type_array__NativeArraynullable_model__MClass, /* NativeArray[Array#0]: NativeArray[nullable MClass] */
 &type_nullable_model__MClass, /* Sequence#0: nullable MClass */
 &type_nullable_model__MClass, /* SimpleCollection#0: nullable MClass */
-&type_abstract_collection__Collectionnullable_model__MClass, /* Collection[Array#0]: Collection[nullable MClass] */
-&type_nullable_model__MClass, /* Array#0: nullable MClass */
+&type_array__NativeArraynullable_model__MClass, /* NativeArray[Array#0]: NativeArray[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* Array[Array#0]: Array[nullable MClass] */
 &type_array__NativeArraynullable_model__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable MClass] */
-&type_nullable_model__MClass, /* AbstractArray#0: nullable MClass */
 &type_nullable_model__MClass, /* RemovableCollection#0: nullable MClass */
 &type_abstract_collection__Collectionnullable_model__MClass, /* Collection[Sequence#0]: Collection[nullable MClass] */
-&type_array__Arraynullable_model__MClass, /* Array[Sequence#0]: Array[nullable MClass] */
 &type_abstract_collection__Collectionnullable_model__MClass, /* Collection[SimpleCollection#0]: Collection[nullable MClass] */
 &type_nullable_model__MClass, /* Collection#0: nullable MClass */
 &type_abstract_collection__Collectionnullable_model__MClass, /* Collection[Collection#0]: Collection[nullable MClass] */
 &type_nullable_model__MClass, /* SequenceRead#0: nullable MClass */
 &type_nullable_model__MClass, /* AbstractArrayRead#0: nullable MClass */
 &type_array__Arraynullable_model__MClass, /* Array[AbstractArrayRead#0]: Array[nullable MClass] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable MClass] not a live type) */
 &type_array__ArrayIteratornullable_model__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable MClass] */
 }
 };
 /* runtime type Collection[MClass] */
 const struct type type_abstract_collection__Collectionmodel__MClass = {
-1866,
+1312,
 "Collection[MClass]", /* class_name_string */
-6,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type Collection[nullable MClass] */
 const struct type type_abstract_collection__Collectionnullable_model__MClass = {
-99,
+91,
 "Collection[nullable MClass]", /* class_name_string */
-5,
+2,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[MClass] */
 const struct type type_array__AbstractArrayReadmodel__MClass = {
-2660,
+2021,
 "AbstractArrayRead[MClass]", /* class_name_string */
 10,
 0,
@@ -1572,16 +1292,16 @@ NULL, /*DEAD*/
 };
 /* runtime type AbstractArrayRead[nullable MClass] */
 const struct type type_array__AbstractArrayReadnullable_model__MClass = {
-1867,
+1313,
 "AbstractArrayRead[nullable MClass]", /* class_name_string */
-2,
+6,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type Array[MProperty] */
 const struct type type_array__Arraymodel__MProperty = {
-2837,
+2176,
 "Array[MProperty]", /* class_name_string */
 16,
 0,
@@ -1590,143 +1310,129 @@ const struct type type_array__Arraymodel__MProperty = {
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* Collection[nullable MProperty] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-1868, /* AbstractArrayRead[nullable MProperty] */
-646, /* Collection[PropertyLayoutElement] */
-1838, /* AbstractArrayRead[Object] */
-2031, /* Array[nullable MProperty] */
-2029, /* Array[Object] */
-2032, /* Collection[MProperty] */
-2239, /* AbstractArrayRead[PropertyLayoutElement] */
+92, /* Collection[nullable MProperty] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+1314, /* AbstractArrayRead[nullable MProperty] */
+596, /* Collection[PropertyLayoutElement] */
+1294, /* AbstractArrayRead[Object] */
+1461, /* Array[nullable MProperty] */
+1459, /* Array[Object] */
+1462, /* Collection[MProperty] */
 -1, /* empty */
-2661, /* Array[PropertyLayoutElement] */
-2773, /* AbstractArrayRead[MProperty] */
+1647, /* AbstractArrayRead[PropertyLayoutElement] */
+2119, /* AbstractArrayRead[MProperty] */
+2022, /* Array[PropertyLayoutElement] */
 -1, /* empty */
-2837, /* Array[MProperty] */
+2176, /* Array[MProperty] */
 },
 };
 const struct types resolution_table_array__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MProperty, /* Array[Array#0]: Array[MProperty] */
-&type_array__NativeArraymodel__MProperty, /* NativeArray[Array#0]: NativeArray[MProperty] */
 &type_model__MProperty, /* Sequence#0: MProperty */
 &type_model__MProperty, /* SimpleCollection#0: MProperty */
-&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Array#0]: Collection[MProperty] */
-&type_model__MProperty, /* Array#0: MProperty */
+&type_array__NativeArraymodel__MProperty, /* NativeArray[Array#0]: NativeArray[MProperty] */
+&type_array__Arraymodel__MProperty, /* Array[Array#0]: Array[MProperty] */
 &type_array__NativeArraymodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[MProperty] */
-&type_model__MProperty, /* AbstractArray#0: MProperty */
 &type_model__MProperty, /* RemovableCollection#0: MProperty */
 &type_abstract_collection__Collectionmodel__MProperty, /* Collection[Sequence#0]: Collection[MProperty] */
-&type_array__Arraymodel__MProperty, /* Array[Sequence#0]: Array[MProperty] */
 &type_abstract_collection__Collectionmodel__MProperty, /* Collection[SimpleCollection#0]: Collection[MProperty] */
 &type_model__MProperty, /* Collection#0: MProperty */
 &type_abstract_collection__Collectionmodel__MProperty, /* Collection[Collection#0]: Collection[MProperty] */
 &type_model__MProperty, /* SequenceRead#0: MProperty */
 &type_model__MProperty, /* AbstractArrayRead#0: MProperty */
 &type_array__Arraymodel__MProperty, /* Array[AbstractArrayRead#0]: Array[MProperty] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MProperty] not a live type) */
 &type_array__ArrayIteratormodel__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MProperty] */
 }
 };
 /* runtime type Array[PropertyLayoutElement] */
-const struct type type_array__Arraylayout_builders__PropertyLayoutElement = {
-2661,
+const struct type type_array__Arrayseparate_compiler__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
 "Array[PropertyLayoutElement]", /* class_name_string */
-13,
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraylayout_builders__PropertyLayoutElement,
-14,
+&resolution_table_array__Arrayseparate_compiler__PropertyLayoutElement,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
 -1, /* empty */
-646, /* Collection[PropertyLayoutElement] */
-1838, /* AbstractArrayRead[Object] */
+596, /* Collection[PropertyLayoutElement] */
+1294, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+1459, /* Array[Object] */
 -1, /* empty */
-2239, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
-2661, /* Array[PropertyLayoutElement] */
+1647, /* AbstractArrayRead[PropertyLayoutElement] */
+-1, /* empty */
+2022, /* Array[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_array__Arraylayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_array__Arrayseparate_compiler__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Array#0]: Array[PropertyLayoutElement] */
-&type_array__NativeArraylayout_builders__PropertyLayoutElement, /* NativeArray[Array#0]: NativeArray[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* Sequence#0: PropertyLayoutElement */
-&type_layout_builders__PropertyLayoutElement, /* SimpleCollection#0: PropertyLayoutElement */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Array#0]: Collection[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* Array#0: PropertyLayoutElement */
-&type_array__NativeArraylayout_builders__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* AbstractArray#0: PropertyLayoutElement */
-&type_layout_builders__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Sequence#0]: Collection[PropertyLayoutElement] */
-&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Sequence#0]: Array[PropertyLayoutElement] */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[SimpleCollection#0]: Collection[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* SequenceRead#0: PropertyLayoutElement */
-&type_layout_builders__PropertyLayoutElement, /* AbstractArrayRead#0: PropertyLayoutElement */
-&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[AbstractArrayRead#0]: Array[PropertyLayoutElement] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[PropertyLayoutElement] not a live type) */
-&type_array__ArrayIteratorlayout_builders__PropertyLayoutElement, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[PropertyLayoutElement] */
+&type_separate_compiler__PropertyLayoutElement, /* Sequence#0: PropertyLayoutElement */
+&type_separate_compiler__PropertyLayoutElement, /* SimpleCollection#0: PropertyLayoutElement */
+&type_array__NativeArrayseparate_compiler__PropertyLayoutElement, /* NativeArray[Array#0]: NativeArray[PropertyLayoutElement] */
+&type_array__Arrayseparate_compiler__PropertyLayoutElement, /* Array[Array#0]: Array[PropertyLayoutElement] */
+&type_array__NativeArrayseparate_compiler__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[PropertyLayoutElement] */
+&type_separate_compiler__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[Sequence#0]: Collection[PropertyLayoutElement] */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[SimpleCollection#0]: Collection[PropertyLayoutElement] */
+&type_separate_compiler__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
+&type_separate_compiler__PropertyLayoutElement, /* SequenceRead#0: PropertyLayoutElement */
+&type_separate_compiler__PropertyLayoutElement, /* AbstractArrayRead#0: PropertyLayoutElement */
+&type_array__Arrayseparate_compiler__PropertyLayoutElement, /* Array[AbstractArrayRead#0]: Array[PropertyLayoutElement] */
+&type_array__ArrayIteratorseparate_compiler__PropertyLayoutElement, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[PropertyLayoutElement] */
 }
 };
 /* runtime type Array[nullable MProperty] */
 const struct type type_array__Arraynullable_model__MProperty = {
-2031,
+-1, /*CAST DEAD*/
 "Array[nullable MProperty]", /* class_name_string */
-8,
+-1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arraynullable_model__MProperty,
 9,
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* Collection[nullable MProperty] */
-91, /* SequenceRead[nullable Object] */
+92, /* Collection[nullable MProperty] */
+83, /* SequenceRead[nullable Object] */
 -1, /* empty */
-1868, /* AbstractArrayRead[nullable MProperty] */
+1314, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
-2031, /* Array[nullable MProperty] */
+1461, /* Array[nullable MProperty] */
 },
 };
 const struct types resolution_table_array__Arraynullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MProperty, /* Array[Array#0]: Array[nullable MProperty] */
-&type_array__NativeArraynullable_model__MProperty, /* NativeArray[Array#0]: NativeArray[nullable MProperty] */
 &type_nullable_model__MProperty, /* Sequence#0: nullable MProperty */
 &type_nullable_model__MProperty, /* SimpleCollection#0: nullable MProperty */
-&type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[Array#0]: Collection[nullable MProperty] */
-&type_nullable_model__MProperty, /* Array#0: nullable MProperty */
+&type_array__NativeArraynullable_model__MProperty, /* NativeArray[Array#0]: NativeArray[nullable MProperty] */
+&type_array__Arraynullable_model__MProperty, /* Array[Array#0]: Array[nullable MProperty] */
 &type_array__NativeArraynullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable MProperty] */
-&type_nullable_model__MProperty, /* AbstractArray#0: nullable MProperty */
 &type_nullable_model__MProperty, /* RemovableCollection#0: nullable MProperty */
 &type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[Sequence#0]: Collection[nullable MProperty] */
-&type_array__Arraynullable_model__MProperty, /* Array[Sequence#0]: Array[nullable MProperty] */
 &type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[SimpleCollection#0]: Collection[nullable MProperty] */
 &type_nullable_model__MProperty, /* Collection#0: nullable MProperty */
 &type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[Collection#0]: Collection[nullable MProperty] */
 &type_nullable_model__MProperty, /* SequenceRead#0: nullable MProperty */
 &type_nullable_model__MProperty, /* AbstractArrayRead#0: nullable MProperty */
 &type_array__Arraynullable_model__MProperty, /* Array[AbstractArrayRead#0]: Array[nullable MProperty] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable MProperty] not a live type) */
 &type_array__ArrayIteratornullable_model__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable MProperty] */
 }
 };
 /* runtime type Collection[MProperty] */
 const struct type type_abstract_collection__Collectionmodel__MProperty = {
-2032,
+1462,
 "Collection[MProperty]", /* class_name_string */
 10,
 0,
@@ -1734,8 +1440,8 @@ NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type Collection[PropertyLayoutElement] */
-const struct type type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement = {
-646,
+const struct type type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement = {
+596,
 "Collection[PropertyLayoutElement]", /* class_name_string */
 6,
 0,
@@ -1744,7 +1450,7 @@ NULL, /*DEAD*/
 };
 /* runtime type Collection[nullable MProperty] */
 const struct type type_abstract_collection__Collectionnullable_model__MProperty = {
-100,
+92,
 "Collection[nullable MProperty]", /* class_name_string */
 2,
 0,
@@ -1753,25 +1459,25 @@ NULL, /*DEAD*/
 };
 /* runtime type AbstractArrayRead[MProperty] */
 const struct type type_array__AbstractArrayReadmodel__MProperty = {
-2773,
+2119,
 "AbstractArrayRead[MProperty]", /* class_name_string */
-14,
+13,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[PropertyLayoutElement] */
-const struct type type_array__AbstractArrayReadlayout_builders__PropertyLayoutElement = {
-2239,
+const struct type type_array__AbstractArrayReadseparate_compiler__PropertyLayoutElement = {
+1647,
 "AbstractArrayRead[PropertyLayoutElement]", /* class_name_string */
-11,
+12,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[nullable MProperty] */
 const struct type type_array__AbstractArrayReadnullable_model__MProperty = {
-1868,
+1314,
 "AbstractArrayRead[nullable MProperty]", /* class_name_string */
 5,
 0,
@@ -1780,32 +1486,30 @@ NULL, /*DEAD*/
 };
 /* runtime type POSet[MClassDef] */
 const struct type type_poset__POSetmodel__MClassDef = {
-1869,
+1315,
 "POSet[MClassDef]", /* class_name_string */
-3,
+6,
 0,
 &resolution_table_poset__POSetmodel__MClassDef,
-5,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-647, /* Collection[MClassDef] */
-1869, /* POSet[MClassDef] */
-92, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+597, /* Collection[MClassDef] */
+1315, /* POSet[MClassDef] */
 },
 };
 const struct types resolution_table_poset__POSetmodel__MClassDef = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* AbstractSorter#0: MClassDef */
-&type_array__Arraymodel__MClassDef, /* Array[AbstractSorter#0]: Array[MClassDef] */
 &type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MClassDef, POSetElement[MClassDef]] */
+&type_array__Arraymodel__MClassDef, /* Array[Comparator#0]: Array[MClassDef] */
 &type_model__MClassDef, /* POSet#0: MClassDef */
 &type_poset__POSetElementmodel__MClassDef, /* POSetElement[POSet#0]: POSetElement[MClassDef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[POSet#0]: Collection[MClassDef] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -1815,48 +1519,44 @@ NULL, /* empty */
 };
 /* runtime type Collection[MClassDef] */
 const struct type type_abstract_collection__Collectionmodel__MClassDef = {
-647,
+597,
 "Collection[MClassDef]", /* class_name_string */
-2,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type POSet[MClassType] */
 const struct type type_poset__POSetmodel__MClassType = {
-2758,
+1863,
 "POSet[MClassType]", /* class_name_string */
-7,
+11,
 0,
 &resolution_table_poset__POSetmodel__MClassType,
 12,
 {
 0, /* nullable Object */
 1, /* Object */
-6, /* nullable POSet[MType] */
-2487, /* POSet[MType] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-2758, /* POSet[MClassType] */
 -1, /* empty */
 -1, /* empty */
-2033, /* Collection[MType] */
-2240, /* Collection[MClassType] */
+84, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+1316, /* Collection[MType] */
+1463, /* POSet[MType] */
+-1, /* empty */
+-1, /* empty */
+1464, /* Collection[MClassType] */
+1863, /* POSet[MClassType] */
 },
 };
 const struct types resolution_table_poset__POSetmodel__MClassType = {
 0, /* dummy */
 {
-&type_model__MClassType, /* AbstractSorter#0: MClassType */
-&type_array__Arraymodel__MClassType, /* Array[AbstractSorter#0]: Array[MClassType] */
 &type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MClassType, POSetElement[MClassType]] */
+&type_array__Arraymodel__MClassType, /* Array[Comparator#0]: Array[MClassType] */
 &type_model__MClassType, /* POSet#0: MClassType */
 &type_poset__POSetElementmodel__MClassType, /* POSetElement[POSet#0]: POSetElement[MClassType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[POSet#0]: Collection[MClassType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -1866,38 +1566,31 @@ NULL, /* empty */
 };
 /* runtime type POSet[MType] */
 const struct type type_poset__POSetmodel__MType = {
-2487,
+1463,
 "POSet[MType]", /* class_name_string */
-3,
+7,
 0,
 &resolution_table_poset__POSetmodel__MType,
-11,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-6, /* nullable POSet[MType] */
-2487, /* POSet[MType] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
-2033, /* Collection[MType] */
+84, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+1316, /* Collection[MType] */
+1463, /* POSet[MType] */
 },
 };
 const struct types resolution_table_poset__POSetmodel__MType = {
 0, /* dummy */
 {
-&type_model__MType, /* AbstractSorter#0: MType */
-&type_array__Arraymodel__MType, /* Array[AbstractSorter#0]: Array[MType] */
 &type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MType, POSetElement[MType]] */
+&type_array__Arraymodel__MType, /* Array[Comparator#0]: Array[MType] */
 &type_model__MType, /* POSet#0: MType */
 &type_poset__POSetElementmodel__MType, /* POSetElement[POSet#0]: POSetElement[MType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[POSet#0]: Collection[MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -1905,28 +1598,19 @@ NULL, /* empty */
 &type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type Collection[MType] */
-const struct type type_abstract_collection__Collectionmodel__MType = {
-2033,
-"Collection[MType]", /* class_name_string */
-10,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
 /* runtime type Collection[MClassType] */
 const struct type type_abstract_collection__Collectionmodel__MClassType = {
-2240,
+1464,
 "Collection[MClassType]", /* class_name_string */
-11,
+10,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type Collection[NitniCallback] */
-const struct type type_abstract_collection__Collectionnitni_callbacks__NitniCallback = {
-648,
-"Collection[NitniCallback]", /* class_name_string */
+/* runtime type Collection[MType] */
+const struct type type_abstract_collection__Collectionmodel__MType = {
+1316,
+"Collection[MType]", /* class_name_string */
 6,
 0,
 NULL, /*DEAD*/
@@ -1934,22 +1618,13 @@ NULL, /*DEAD*/
 };
 /* runtime type Collection[nullable MType] */
 const struct type type_abstract_collection__Collectionnullable_model__MType = {
-101,
+93,
 "Collection[nullable MType]", /* class_name_string */
 5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type nullable POSet[MType] */
-const struct type type_nullable_poset__POSetmodel__MType = {
-6,
-"nullable POSet[MType]", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
 /* runtime type MultiHashMap[String, MClass] */
 const struct type type_more_collections__MultiHashMapstring__Stringmodel__MClass = {
 -1, /*CAST DEAD*/
@@ -1961,8 +1636,8 @@ const struct type type_more_collections__MultiHashMapstring__Stringmodel__MClass
 {
 0, /* nullable Object */
 1, /* Object */
-102, /* HashMap[String, Array[MClass]] */
-649, /* MultiHashMap[String, MClass] */
+94, /* HashMap[String, Array[MClass]] */
+598, /* MultiHashMap[String, MClass] */
 },
 };
 const struct types resolution_table_more_collections__MultiHashMapstring__Stringmodel__MClass = {
@@ -1971,17 +1646,14 @@ const struct types resolution_table_more_collections__MultiHashMapstring__String
 &type_string__String, /* MultiHashMap#0: String */
 &type_model__MClass, /* MultiHashMap#1: MClass */
 &type_array__Arraymodel__MClass, /* Array[MultiHashMap#1]: Array[MClass] */
-&type_array__NativeArraymodel__MClass, /* NativeArray[MultiHashMap#1]: NativeArray[MClass] */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MClass]] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Array[MClass]]] */
+&type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MClass]] */
 &type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Array[MClass]] */
 &type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Array[MClass]] */
 &type_string__String, /* Map#0: String */
 &type_array__Arraymodel__MClass, /* Map#1: Array[MClass] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Array[MClass]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MClass]] not a live type) */
-&type_array__Arraymodel__MClass, /* MapRead#1: Array[MClass] */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* nullable HashCollection#1: nullable HashMapNode[String, Array[MClass]] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* HashCollection#1: HashMapNode[String, Array[MClass]] */
@@ -1990,7 +1662,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MClass]] not a live type) *
 };
 /* runtime type HashMap[String, Array[MClass]] */
 const struct type type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass = {
-102,
+94,
 "HashMap[String, Array[MClass]]", /* class_name_string */
 2,
 0,
@@ -2008,8 +1680,8 @@ const struct type type_more_collections__MultiHashMapstring__Stringmodel__MPrope
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* HashMap[String, Array[MProperty]] */
-650, /* MultiHashMap[String, MProperty] */
+95, /* HashMap[String, Array[MProperty]] */
+599, /* MultiHashMap[String, MProperty] */
 },
 };
 const struct types resolution_table_more_collections__MultiHashMapstring__Stringmodel__MProperty = {
@@ -2018,17 +1690,14 @@ const struct types resolution_table_more_collections__MultiHashMapstring__String
 &type_string__String, /* MultiHashMap#0: String */
 &type_model__MProperty, /* MultiHashMap#1: MProperty */
 &type_array__Arraymodel__MProperty, /* Array[MultiHashMap#1]: Array[MProperty] */
-&type_array__NativeArraymodel__MProperty, /* NativeArray[MultiHashMap#1]: NativeArray[MProperty] */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MProperty]] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
+&type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Array[MProperty]] */
 &type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Array[MProperty]] */
 &type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Array[MProperty]] */
 &type_string__String, /* Map#0: String */
 &type_array__Arraymodel__MProperty, /* Map#1: Array[MProperty] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Array[MProperty]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MProperty]] not a live type) */
-&type_array__Arraymodel__MProperty, /* MapRead#1: Array[MProperty] */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* nullable HashCollection#1: nullable HashMapNode[String, Array[MProperty]] */
 &type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* HashCollection#1: HashMapNode[String, Array[MProperty]] */
@@ -2037,7 +1706,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, Array[MProperty]] not a live type
 };
 /* runtime type HashMap[String, Array[MProperty]] */
 const struct type type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty = {
-103,
+95,
 "HashMap[String, Array[MProperty]]", /* class_name_string */
 2,
 0,
@@ -2046,53 +1715,34 @@ NULL, /*DEAD*/
 };
 /* runtime type MNullType */
 const struct type type_model__MNullType = {
-2241,
+1317,
 "MNullType", /* class_name_string */
 5,
 0,
 NULL, /*NO RESOLUTIONS*/
-7,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-7, /* nullable NitniCallback */
-104, /* nullable MType */
-651, /* NitniCallback */
-2241, /* MNullType */
-2034, /* MType */
+3, /* nullable MType */
+-1, /* empty */
+600, /* MType */
+1317, /* MNullType */
 },
 };
 /* runtime type MType */
 const struct type type_model__MType = {
-2034,
+600,
 "MType", /* class_name_string */
-6,
+4,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type nullable MType */
 const struct type type_nullable_model__MType = {
-104,
-"nullable MType", /* class_name_string */
 3,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type NitniCallback */
-const struct type type_nitni_callbacks__NitniCallback = {
-651,
-"NitniCallback", /* class_name_string */
-4,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable NitniCallback */
-const struct type type_nullable_nitni_callbacks__NitniCallback = {
-7,
-"nullable NitniCallback", /* class_name_string */
+"nullable MType", /* class_name_string */
 2,
 1,
 NULL, /*DEAD*/
@@ -2109,7 +1759,7 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-105, /* ModelBuilder */
+96, /* ModelBuilder */
 },
 };
 /* runtime type HashMap3[MModule, MType, String, nullable MProperty] */
@@ -2123,7 +1773,7 @@ const struct type type_more_collections__HashMap3mmodule__MModulemodel__MTypestr
 {
 0, /* nullable Object */
 1, /* Object */
-106, /* HashMap3[MModule, MType, String, nullable MProperty] */
+97, /* HashMap3[MModule, MType, String, nullable MProperty] */
 },
 };
 const struct types resolution_table_more_collections__HashMap3mmodule__MModulemodel__MTypestring__Stringnullable_model__MProperty = {
@@ -2137,148 +1787,9 @@ const struct types resolution_table_more_collections__HashMap3mmodule__MModulemo
 &type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap2[HashMap3#1, HashMap3#2, HashMap3#3]: HashMap2[MType, String, nullable MProperty] */
 }
 };
-/* runtime type Array[String] */
-const struct type type_array__Arraystring__String = {
-2821,
-"Array[String]", /* class_name_string */
-12,
-0,
-&resolution_table_array__Arraystring__String,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-8, /* nullable Array[String] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-652, /* Collection[Streamable] */
-1870, /* Collection[String] */
-1838, /* AbstractArrayRead[Object] */
-2242, /* AbstractArrayRead[Streamable] */
-2029, /* Array[Object] */
-2662, /* Array[Streamable] */
-2663, /* AbstractArrayRead[String] */
-2821, /* Array[String] */
-},
-};
-const struct types resolution_table_array__Arraystring__String = {
-0, /* dummy */
-{
-&type_array__Arraystring__String, /* Array[Array#0]: Array[String] */
-&type_array__NativeArraystring__String, /* NativeArray[Array#0]: NativeArray[String] */
-&type_string__String, /* Sequence#0: String */
-&type_string__String, /* SimpleCollection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Array#0]: Collection[String] */
-&type_string__String, /* Array#0: String */
-&type_array__NativeArraystring__String, /* NativeArray[ArrayCapable#0]: NativeArray[String] */
-&type_string__String, /* AbstractArray#0: String */
-&type_string__String, /* RemovableCollection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Sequence#0]: Collection[String] */
-&type_array__Arraystring__String, /* Array[Sequence#0]: Array[String] */
-&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
-&type_string__String, /* SequenceRead#0: String */
-&type_string__String, /* AbstractArrayRead#0: String */
-&type_array__Arraystring__String, /* Array[AbstractArrayRead#0]: Array[String] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[String] not a live type) */
-&type_array__ArrayIteratorstring__String, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[String] */
-}
-};
-/* runtime type Array[Streamable] */
-const struct type type_array__Arraystream__Streamable = {
-2662,
-"Array[Streamable]", /* class_name_string */
-10,
-0,
-&resolution_table_array__Arraystream__Streamable,
-11,
-{
-0, /* nullable Object */
-1, /* Object */
--1, /* empty */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-652, /* Collection[Streamable] */
--1, /* empty */
-1838, /* AbstractArrayRead[Object] */
-2242, /* AbstractArrayRead[Streamable] */
-2029, /* Array[Object] */
-2662, /* Array[Streamable] */
-},
-};
-const struct types resolution_table_array__Arraystream__Streamable = {
-0, /* dummy */
-{
-&type_array__Arraystream__Streamable, /* Array[Array#0]: Array[Streamable] */
-&type_array__NativeArraystream__Streamable, /* NativeArray[Array#0]: NativeArray[Streamable] */
-&type_stream__Streamable, /* Sequence#0: Streamable */
-&type_stream__Streamable, /* SimpleCollection#0: Streamable */
-&type_abstract_collection__Collectionstream__Streamable, /* Collection[Array#0]: Collection[Streamable] */
-&type_stream__Streamable, /* Array#0: Streamable */
-&type_array__NativeArraystream__Streamable, /* NativeArray[ArrayCapable#0]: NativeArray[Streamable] */
-&type_stream__Streamable, /* AbstractArray#0: Streamable */
-&type_stream__Streamable, /* RemovableCollection#0: Streamable */
-&type_abstract_collection__Collectionstream__Streamable, /* Collection[Sequence#0]: Collection[Streamable] */
-&type_array__Arraystream__Streamable, /* Array[Sequence#0]: Array[Streamable] */
-&type_abstract_collection__Collectionstream__Streamable, /* Collection[SimpleCollection#0]: Collection[Streamable] */
-&type_stream__Streamable, /* Collection#0: Streamable */
-&type_abstract_collection__Collectionstream__Streamable, /* Collection[Collection#0]: Collection[Streamable] */
-&type_stream__Streamable, /* SequenceRead#0: Streamable */
-&type_stream__Streamable, /* AbstractArrayRead#0: Streamable */
-&type_array__Arraystream__Streamable, /* Array[AbstractArrayRead#0]: Array[Streamable] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Streamable] not a live type) */
-&type_array__ArrayIteratorstream__Streamable, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Streamable] */
-}
-};
-/* runtime type nullable Array[String] */
-const struct type type_nullable_array__Arraystring__String = {
-8,
-"nullable Array[String]", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[String] */
-const struct type type_abstract_collection__Collectionstring__String = {
-1870,
-"Collection[String]", /* class_name_string */
-6,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[Streamable] */
-const struct type type_abstract_collection__Collectionstream__Streamable = {
-652,
-"Collection[Streamable]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[String] */
-const struct type type_array__AbstractArrayReadstring__String = {
-2663,
-"AbstractArrayRead[String]", /* class_name_string */
-11,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[Streamable] */
-const struct type type_array__AbstractArrayReadstream__Streamable = {
-2242,
-"AbstractArrayRead[Streamable]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
 /* runtime type HashMap[String, nullable ModulePath] */
 const struct type type_hash_collection__HashMapstring__Stringnullable_modelbuilder__ModulePath = {
-107,
+98,
 "HashMap[String, nullable ModulePath]", /* class_name_string */
 2,
 0,
@@ -2287,7 +1798,7 @@ const struct type type_hash_collection__HashMapstring__Stringnullable_modelbuild
 {
 0, /* nullable Object */
 1, /* Object */
-107, /* HashMap[String, nullable ModulePath] */
+98, /* HashMap[String, nullable ModulePath] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_modelbuilder__ModulePath = {
@@ -2296,17 +1807,14 @@ const struct types resolution_table_hash_collection__HashMapstring__Stringnullab
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringnullable_modelbuilder__ModulePath, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable ModulePath] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_modelbuilder__ModulePath, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, nullable ModulePath]] */
+&type_hash_collection__HashMapKeysstring__Stringnullable_modelbuilder__ModulePath, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable ModulePath] */
 &type_hash_collection__HashMapValuesstring__Stringnullable_modelbuilder__ModulePath, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, nullable ModulePath] */
 &type_hash_collection__HashMapIteratorstring__Stringnullable_modelbuilder__ModulePath, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, nullable ModulePath] */
 &type_string__String, /* Map#0: String */
 &type_nullable_modelbuilder__ModulePath, /* Map#1: nullable ModulePath */
 &type_hash_collection__HashMapNodestring__Stringnullable_modelbuilder__ModulePath, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, nullable ModulePath] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable ModulePath] not a live type) */
-&type_nullable_modelbuilder__ModulePath, /* MapRead#1: nullable ModulePath */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringnullable_modelbuilder__ModulePath, /* nullable HashCollection#1: nullable HashMapNode[String, nullable ModulePath] */
 &type_hash_collection__HashMapNodestring__Stringnullable_modelbuilder__ModulePath, /* HashCollection#1: HashMapNode[String, nullable ModulePath] */
@@ -2315,7 +1823,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable ModulePath] not a live t
 };
 /* runtime type HashMap[String, nullable MGroup] */
 const struct type type_hash_collection__HashMapstring__Stringnullable_mproject__MGroup = {
-108,
+99,
 "HashMap[String, nullable MGroup]", /* class_name_string */
 2,
 0,
@@ -2324,7 +1832,7 @@ const struct type type_hash_collection__HashMapstring__Stringnullable_mproject__
 {
 0, /* nullable Object */
 1, /* Object */
-108, /* HashMap[String, nullable MGroup] */
+99, /* HashMap[String, nullable MGroup] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_mproject__MGroup = {
@@ -2333,17 +1841,14 @@ const struct types resolution_table_hash_collection__HashMapstring__Stringnullab
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringnullable_mproject__MGroup, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable MGroup] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_mproject__MGroup, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, nullable MGroup]] */
+&type_hash_collection__HashMapKeysstring__Stringnullable_mproject__MGroup, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable MGroup] */
 &type_hash_collection__HashMapValuesstring__Stringnullable_mproject__MGroup, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, nullable MGroup] */
 &type_hash_collection__HashMapIteratorstring__Stringnullable_mproject__MGroup, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, nullable MGroup] */
 &type_string__String, /* Map#0: String */
 &type_nullable_mproject__MGroup, /* Map#1: nullable MGroup */
 &type_hash_collection__HashMapNodestring__Stringnullable_mproject__MGroup, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, nullable MGroup] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable MGroup] not a live type) */
-&type_nullable_mproject__MGroup, /* MapRead#1: nullable MGroup */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringnullable_mproject__MGroup, /* nullable HashCollection#1: nullable HashMapNode[String, nullable MGroup] */
 &type_hash_collection__HashMapNodestring__Stringnullable_mproject__MGroup, /* HashCollection#1: HashMapNode[String, nullable MGroup] */
@@ -2352,163 +1857,152 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable MGroup] not a live type)
 };
 /* runtime type Array[AModule] */
 const struct type type_array__Arrayparser_nodes__AModule = {
-2838,
+-1, /*CAST DEAD*/
 "Array[AModule]", /* class_name_string */
-13,
+-1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayparser_nodes__AModule,
-15,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2035, /* Collection[AModule] */
-1838, /* AbstractArrayRead[Object] */
-2243, /* AbstractArrayRead[ANode] */
-2029, /* Array[Object] */
-2774, /* AbstractArrayRead[AModule] */
-2664, /* Array[ANode] */
-2665, /* AbstractArrayRead[Prod] */
-2838, /* Array[AModule] */
-2802, /* Array[Prod] */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1318, /* Collection[Prod] */
+1294, /* AbstractArrayRead[Object] */
+1465, /* Collection[AModule] */
+1459, /* Array[Object] */
+1648, /* AbstractArrayRead[ANode] */
+-1, /* empty */
+2023, /* Array[ANode] */
+2024, /* AbstractArrayRead[Prod] */
+2120, /* AbstractArrayRead[AModule] */
+2145, /* Array[Prod] */
+2177, /* Array[AModule] */
 },
 };
 const struct types resolution_table_array__Arrayparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AModule, /* Array[Array#0]: Array[AModule] */
-&type_array__NativeArrayparser_nodes__AModule, /* NativeArray[Array#0]: NativeArray[AModule] */
 &type_parser_nodes__AModule, /* Sequence#0: AModule */
 &type_parser_nodes__AModule, /* SimpleCollection#0: AModule */
-&type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Array#0]: Collection[AModule] */
-&type_parser_nodes__AModule, /* Array#0: AModule */
+&type_array__NativeArrayparser_nodes__AModule, /* NativeArray[Array#0]: NativeArray[AModule] */
+&type_array__Arrayparser_nodes__AModule, /* Array[Array#0]: Array[AModule] */
 &type_array__NativeArrayparser_nodes__AModule, /* NativeArray[ArrayCapable#0]: NativeArray[AModule] */
-&type_parser_nodes__AModule, /* AbstractArray#0: AModule */
 &type_parser_nodes__AModule, /* RemovableCollection#0: AModule */
 &type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Sequence#0]: Collection[AModule] */
-&type_array__Arrayparser_nodes__AModule, /* Array[Sequence#0]: Array[AModule] */
 &type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[SimpleCollection#0]: Collection[AModule] */
 &type_parser_nodes__AModule, /* Collection#0: AModule */
 &type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Collection#0]: Collection[AModule] */
 &type_parser_nodes__AModule, /* SequenceRead#0: AModule */
 &type_parser_nodes__AModule, /* AbstractArrayRead#0: AModule */
 &type_array__Arrayparser_nodes__AModule, /* Array[AbstractArrayRead#0]: Array[AModule] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AModule] not a live type) */
 &type_array__ArrayIteratorparser_nodes__AModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AModule] */
 }
 };
 /* runtime type Array[Prod] */
 const struct type type_array__Arrayparser_nodes__Prod = {
-2802,
+-1, /*CAST DEAD*/
 "Array[Prod]", /* class_name_string */
-14,
+-1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayparser_nodes__Prod,
-15,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
 -1, /* empty */
-1838, /* AbstractArrayRead[Object] */
-2243, /* AbstractArrayRead[ANode] */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1318, /* Collection[Prod] */
+1294, /* AbstractArrayRead[Object] */
+-1, /* empty */
+1459, /* Array[Object] */
+1648, /* AbstractArrayRead[ANode] */
 -1, /* empty */
-2664, /* Array[ANode] */
-2665, /* AbstractArrayRead[Prod] */
+2023, /* Array[ANode] */
+2024, /* AbstractArrayRead[Prod] */
 -1, /* empty */
-2802, /* Array[Prod] */
+2145, /* Array[Prod] */
 },
 };
 const struct types resolution_table_array__Arrayparser_nodes__Prod = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__Prod, /* Array[Array#0]: Array[Prod] */
-&type_array__NativeArrayparser_nodes__Prod, /* NativeArray[Array#0]: NativeArray[Prod] */
 &type_parser_nodes__Prod, /* Sequence#0: Prod */
 &type_parser_nodes__Prod, /* SimpleCollection#0: Prod */
-&type_abstract_collection__Collectionparser_nodes__Prod, /* Collection[Array#0]: Collection[Prod] */
-&type_parser_nodes__Prod, /* Array#0: Prod */
+&type_array__NativeArrayparser_nodes__Prod, /* NativeArray[Array#0]: NativeArray[Prod] */
+&type_array__Arrayparser_nodes__Prod, /* Array[Array#0]: Array[Prod] */
 &type_array__NativeArrayparser_nodes__Prod, /* NativeArray[ArrayCapable#0]: NativeArray[Prod] */
-&type_parser_nodes__Prod, /* AbstractArray#0: Prod */
 &type_parser_nodes__Prod, /* RemovableCollection#0: Prod */
 &type_abstract_collection__Collectionparser_nodes__Prod, /* Collection[Sequence#0]: Collection[Prod] */
-&type_array__Arrayparser_nodes__Prod, /* Array[Sequence#0]: Array[Prod] */
 &type_abstract_collection__Collectionparser_nodes__Prod, /* Collection[SimpleCollection#0]: Collection[Prod] */
 &type_parser_nodes__Prod, /* Collection#0: Prod */
 &type_abstract_collection__Collectionparser_nodes__Prod, /* Collection[Collection#0]: Collection[Prod] */
 &type_parser_nodes__Prod, /* SequenceRead#0: Prod */
 &type_parser_nodes__Prod, /* AbstractArrayRead#0: Prod */
 &type_array__Arrayparser_nodes__Prod, /* Array[AbstractArrayRead#0]: Array[Prod] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Prod] not a live type) */
 &type_array__ArrayIteratorparser_nodes__Prod, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Prod] */
 }
 };
 /* runtime type Array[ANode] */
 const struct type type_array__Arrayparser_nodes__ANode = {
-2664,
+-1, /*CAST DEAD*/
 "Array[ANode]", /* class_name_string */
-11,
+-1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayparser_nodes__ANode,
-12,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
 -1, /* empty */
-1838, /* AbstractArrayRead[Object] */
-2243, /* AbstractArrayRead[ANode] */
-2029, /* Array[Object] */
+1459, /* Array[Object] */
+1648, /* AbstractArrayRead[ANode] */
 -1, /* empty */
-2664, /* Array[ANode] */
+2023, /* Array[ANode] */
 },
 };
 const struct types resolution_table_array__Arrayparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__ANode, /* Array[Array#0]: Array[ANode] */
-&type_array__NativeArrayparser_nodes__ANode, /* NativeArray[Array#0]: NativeArray[ANode] */
 &type_parser_nodes__ANode, /* Sequence#0: ANode */
 &type_parser_nodes__ANode, /* SimpleCollection#0: ANode */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Array#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* Array#0: ANode */
+&type_array__NativeArrayparser_nodes__ANode, /* NativeArray[Array#0]: NativeArray[ANode] */
+&type_array__Arrayparser_nodes__ANode, /* Array[Array#0]: Array[ANode] */
 &type_array__NativeArrayparser_nodes__ANode, /* NativeArray[ArrayCapable#0]: NativeArray[ANode] */
-&type_parser_nodes__ANode, /* AbstractArray#0: ANode */
 &type_parser_nodes__ANode, /* RemovableCollection#0: ANode */
 &type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Sequence#0]: Collection[ANode] */
-&type_array__Arrayparser_nodes__ANode, /* Array[Sequence#0]: Array[ANode] */
 &type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[SimpleCollection#0]: Collection[ANode] */
 &type_parser_nodes__ANode, /* Collection#0: ANode */
 &type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Collection#0]: Collection[ANode] */
 &type_parser_nodes__ANode, /* SequenceRead#0: ANode */
 &type_parser_nodes__ANode, /* AbstractArrayRead#0: ANode */
 &type_array__Arrayparser_nodes__ANode, /* Array[AbstractArrayRead#0]: Array[ANode] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ANode] not a live type) */
 &type_array__ArrayIteratorparser_nodes__ANode, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ANode] */
 }
 };
 /* runtime type Collection[AModule] */
 const struct type type_abstract_collection__Collectionparser_nodes__AModule = {
-2035,
+1465,
 "Collection[AModule]", /* class_name_string */
-6,
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type Collection[ANode] */
 const struct type type_abstract_collection__Collectionparser_nodes__ANode = {
-653,
+601,
 "Collection[ANode]", /* class_name_string */
 5,
 0,
@@ -2517,43 +2011,43 @@ NULL, /*DEAD*/
 };
 /* runtime type Collection[Prod] */
 const struct type type_abstract_collection__Collectionparser_nodes__Prod = {
-1871,
+1318,
 "Collection[Prod]", /* class_name_string */
-2,
+6,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[AModule] */
 const struct type type_array__AbstractArrayReadparser_nodes__AModule = {
-2774,
+2120,
 "AbstractArrayRead[AModule]", /* class_name_string */
-10,
+14,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[Prod] */
 const struct type type_array__AbstractArrayReadparser_nodes__Prod = {
-2665,
+2024,
 "AbstractArrayRead[Prod]", /* class_name_string */
-12,
+13,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[ANode] */
 const struct type type_array__AbstractArrayReadparser_nodes__ANode = {
-2243,
+1648,
 "AbstractArrayRead[ANode]", /* class_name_string */
-8,
+10,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type HashMap[MModule, AModule] */
 const struct type type_hash_collection__HashMapmmodule__MModuleparser_nodes__AModule = {
-109,
+100,
 "HashMap[MModule, AModule]", /* class_name_string */
 2,
 0,
@@ -2562,7 +2056,7 @@ const struct type type_hash_collection__HashMapmmodule__MModuleparser_nodes__AMo
 {
 0, /* nullable Object */
 1, /* Object */
-109, /* HashMap[MModule, AModule] */
+100, /* HashMap[MModule, AModule] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapmmodule__MModuleparser_nodes__AModule = {
@@ -2571,17 +2065,14 @@ const struct types resolution_table_hash_collection__HashMapmmodule__MModulepars
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_mmodule__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapKeysmmodule__MModuleparser_nodes__AModule, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, AModule] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleparser_nodes__AModule, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, AModule]] */
+&type_hash_collection__HashMapKeysmmodule__MModuleparser_nodes__AModule, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, AModule] */
 &type_hash_collection__HashMapValuesmmodule__MModuleparser_nodes__AModule, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, AModule] */
 &type_hash_collection__HashMapIteratormmodule__MModuleparser_nodes__AModule, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, AModule] */
 &type_mmodule__MModule, /* Map#0: MModule */
 &type_parser_nodes__AModule, /* Map#1: AModule */
 &type_hash_collection__HashMapNodemmodule__MModuleparser_nodes__AModule, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, AModule] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, AModule] not a live type) */
-&type_parser_nodes__AModule, /* MapRead#1: AModule */
 &type_mmodule__MModule, /* HashCollection#0: MModule */
 &type_nullable_hash_collection__HashMapNodemmodule__MModuleparser_nodes__AModule, /* nullable HashCollection#1: nullable HashMapNode[MModule, AModule] */
 &type_hash_collection__HashMapNodemmodule__MModuleparser_nodes__AModule, /* HashCollection#1: HashMapNode[MModule, AModule] */
@@ -2590,7 +2081,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, AModule] not a live type) */
 };
 /* runtime type HashMap[MClassDef, AClassdef] */
 const struct type type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef = {
-110,
+101,
 "HashMap[MClassDef, AClassdef]", /* class_name_string */
 2,
 0,
@@ -2599,7 +2090,7 @@ const struct type type_hash_collection__HashMapmodel__MClassDefparser_nodes__ACl
 {
 0, /* nullable Object */
 1, /* Object */
-110, /* HashMap[MClassDef, AClassdef] */
+101, /* HashMap[MClassDef, AClassdef] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef = {
@@ -2608,17 +2099,14 @@ const struct types resolution_table_hash_collection__HashMapmodel__MClassDefpars
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_model__MClassDef, /* MapRead#0: MClassDef */
-&type_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassDef, AClassdef] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
+&type_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassDef, AClassdef] */
 &type_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassDef, AClassdef] */
 &type_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassDef, AClassdef] */
 &type_model__MClassDef, /* Map#0: MClassDef */
 &type_parser_nodes__AClassdef, /* Map#1: AClassdef */
 &type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassDef, AClassdef] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClassDef, AClassdef] not a live type) */
-&type_parser_nodes__AClassdef, /* MapRead#1: AClassdef */
 &type_model__MClassDef, /* HashCollection#0: MClassDef */
 &type_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* nullable HashCollection#1: nullable HashMapNode[MClassDef, AClassdef] */
 &type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* HashCollection#1: HashMapNode[MClassDef, AClassdef] */
@@ -2627,7 +2115,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[MClassDef, AClassdef] not a live type) */
 };
 /* runtime type HashMap[MPropDef, APropdef] */
 const struct type type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef = {
-111,
+102,
 "HashMap[MPropDef, APropdef]", /* class_name_string */
 2,
 0,
@@ -2636,7 +2124,7 @@ const struct type type_hash_collection__HashMapmodel__MPropDefparser_nodes__APro
 {
 0, /* nullable Object */
 1, /* Object */
-111, /* HashMap[MPropDef, APropdef] */
+102, /* HashMap[MPropDef, APropdef] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef = {
@@ -2645,330 +2133,81 @@ const struct types resolution_table_hash_collection__HashMapmodel__MPropDefparse
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_model__MPropDef, /* MapRead#0: MPropDef */
-&type_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MPropDef, APropdef] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
+&type_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MPropDef, APropdef] */
 &type_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MPropDef, APropdef] */
 &type_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MPropDef, APropdef] */
 &type_model__MPropDef, /* Map#0: MPropDef */
 &type_parser_nodes__APropdef, /* Map#1: APropdef */
 &type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MPropDef, APropdef] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MPropDef, APropdef] not a live type) */
-&type_parser_nodes__APropdef, /* MapRead#1: APropdef */
 &type_model__MPropDef, /* HashCollection#0: MPropDef */
 &type_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* nullable HashCollection#1: nullable HashMapNode[MPropDef, APropdef] */
 &type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* HashCollection#1: HashMapNode[MPropDef, APropdef] */
 &type_nullable_model__MPropDef, /* nullable HashCollection#0: nullable MPropDef */
 }
 };
-/* runtime type MModule */
-const struct type type_mmodule__MModule = {
-654,
-"MModule", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-9, /* nullable MModule */
-654, /* MModule */
-},
-};
-/* runtime type nullable MModule */
-const struct type type_nullable_mmodule__MModule = {
-9,
-"nullable MModule", /* class_name_string */
+/* runtime type NativeArray[Object] */
+const struct type type_array__NativeArraykernel__Object = {
+103,
+"NativeArray[Object]", /* class_name_string */
 2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashSet[MModule] */
-const struct type type_hash_collection__HashSetmmodule__MModule = {
-2244,
-"HashSet[MModule]", /* class_name_string */
-5,
 0,
-&resolution_table_hash_collection__HashSetmmodule__MModule,
-8,
+&resolution_table_array__NativeArraykernel__Object,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-644, /* Collection[MModule] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2244, /* HashSet[MModule] */
--1, /* empty */
-1872, /* HashSet[Object] */
+103, /* NativeArray[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmmodule__MModule = {
+const struct types resolution_table_array__NativeArraykernel__Object = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodemmodule__MModule, /* HashSetNode[HashSet#0]: HashSetNode[MModule] */
-&type_hash_collection__HashSetIteratormmodule__MModule, /* HashSetIterator[HashSet#0]: HashSetIterator[MModule] */
-&type_abstract_collection__Collectionmmodule__MModule, /* Collection[HashSet#0]: Collection[MModule] */
-&type_mmodule__MModule, /* SimpleCollection#0: MModule */
-&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Set#0]: Collection[MModule] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MModule]] */
-NULL, /* empty */
-&type_mmodule__MModule, /* RemovableCollection#0: MModule */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmmodule__MModule, /* Collection[SimpleCollection#0]: Collection[MModule] */
-&type_mmodule__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
-&type_mmodule__MModule, /* HashCollection#0: MModule */
-&type_nullable_hash_collection__HashSetNodemmodule__MModule, /* nullable HashCollection#1: nullable HashSetNode[MModule] */
-&type_hash_collection__HashSetNodemmodule__MModule, /* HashCollection#1: HashSetNode[MModule] */
-&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
+&type_kernel__Object, /* NativeArray#0: Object */
+&type_array__NativeArraykernel__Object, /* NativeArray[NativeArray#0]: NativeArray[Object] */
 }
 };
-/* runtime type HashSet[Object] */
-const struct type type_hash_collection__HashSetkernel__Object = {
-1872,
-"HashSet[Object]", /* class_name_string */
+/* runtime type FlatString */
+const struct type type_string__FlatString = {
+1864,
+"FlatString", /* class_name_string */
 7,
 0,
-&resolution_table_hash_collection__HashSetkernel__Object,
+&resolution_table_string__FlatString,
 8,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-655, /* Set[Object] */
-92, /* Collection[Object] */
--1, /* empty */
--1, /* empty */
-1872, /* HashSet[Object] */
-},
-};
-const struct types resolution_table_hash_collection__HashSetkernel__Object = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetNodekernel__Object, /* HashSetNode[HashSet#0]: HashSetNode[Object] */
-&type_hash_collection__HashSetIteratorkernel__Object, /* HashSetIterator[HashSet#0]: HashSetIterator[Object] */
-&type_abstract_collection__Collectionkernel__Object, /* Collection[HashSet#0]: Collection[Object] */
-&type_kernel__Object, /* SimpleCollection#0: Object */
-&type_abstract_collection__Collectionkernel__Object, /* Collection[Set#0]: Collection[Object] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Object]] */
-NULL, /* empty */
-&type_kernel__Object, /* RemovableCollection#0: Object */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionkernel__Object, /* Collection[SimpleCollection#0]: Collection[Object] */
-&type_kernel__Object, /* Collection#0: Object */
-&type_abstract_collection__Collectionkernel__Object, /* Collection[Collection#0]: Collection[Object] */
-&type_kernel__Object, /* HashCollection#0: Object */
-&type_nullable_hash_collection__HashSetNodekernel__Object, /* nullable HashCollection#1: nullable HashSetNode[Object] */
-&type_hash_collection__HashSetNodekernel__Object, /* HashCollection#1: HashSetNode[Object] */
-&type_nullable_kernel__Object, /* nullable HashCollection#0: nullable Object */
-}
-};
-/* runtime type Set[Object] */
-const struct type type_abstract_collection__Setkernel__Object = {
-655,
-"Set[Object]", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[MClassDef] */
-const struct type type_array__Arraymodel__MClassDef = {
-2666,
-"Array[MClassDef]", /* class_name_string */
-6,
-0,
-&resolution_table_array__Arraymodel__MClassDef,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-647, /* Collection[MClassDef] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2245, /* AbstractArrayRead[MClassDef] */
-2666, /* Array[MClassDef] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MClassDef = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MClassDef, /* Array[Array#0]: Array[MClassDef] */
-&type_array__NativeArraymodel__MClassDef, /* NativeArray[Array#0]: NativeArray[MClassDef] */
-&type_model__MClassDef, /* Sequence#0: MClassDef */
-&type_model__MClassDef, /* SimpleCollection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Array#0]: Collection[MClassDef] */
-&type_model__MClassDef, /* Array#0: MClassDef */
-&type_array__NativeArraymodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[MClassDef] */
-&type_model__MClassDef, /* AbstractArray#0: MClassDef */
-&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Sequence#0]: Collection[MClassDef] */
-&type_array__Arraymodel__MClassDef, /* Array[Sequence#0]: Array[MClassDef] */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[SimpleCollection#0]: Collection[MClassDef] */
-&type_model__MClassDef, /* Collection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
-&type_model__MClassDef, /* SequenceRead#0: MClassDef */
-&type_model__MClassDef, /* AbstractArrayRead#0: MClassDef */
-&type_array__Arraymodel__MClassDef, /* Array[AbstractArrayRead#0]: Array[MClassDef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MClassDef] not a live type) */
-&type_array__ArrayIteratormodel__MClassDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MClassDef] */
-}
-};
-/* runtime type AbstractArrayRead[MClassDef] */
-const struct type type_array__AbstractArrayReadmodel__MClassDef = {
-2245,
-"AbstractArrayRead[MClassDef]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMap[MClass, Set[MProperty]] */
-const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty = {
-1873,
-"HashMap[MClass, Set[MProperty]]", /* class_name_string */
-5,
-0,
-&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-112, /* Map[MClass, Set[PropertyLayoutElement]] */
-656, /* HashMap[MClass, Set[PropertyLayoutElement]] */
--1, /* empty */
-1873, /* HashMap[MClass, Set[MProperty]] */
+4, /* nullable String */
+104, /* Streamable */
+602, /* Text */
+1319, /* FlatText */
+1466, /* String */
+1864, /* FlatString */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_string__FlatString = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MProperty]] */
-&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MProperty]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_abstract_collection__Setmodel__MProperty, /* Map#1: Set[MProperty] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MProperty]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, Set[MProperty]] not a live type) */
-&type_abstract_collection__Setmodel__MProperty, /* MapRead#1: Set[MProperty] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[MProperty]] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* HashCollection#1: HashMapNode[MClass, Set[MProperty]] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+&type_string__Text, /* OTHER: Text */
+&type_string__String, /* SELFTYPE: String */
+&type_array__Arraystring__String, /* Array[SELFTYPE]: Array[String] */
 }
 };
-/* runtime type HashMap[MClass, Set[PropertyLayoutElement]] */
-const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-656,
-"HashMap[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+/* runtime type Text */
+const struct type type_string__Text = {
+602,
+"Text", /* class_name_string */
 4,
-{
-0, /* nullable Object */
-1, /* Object */
-112, /* Map[MClass, Set[PropertyLayoutElement]] */
-656, /* HashMap[MClass, Set[PropertyLayoutElement]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[PropertyLayoutElement]] */
-&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Map#1: Set[PropertyLayoutElement] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Map[Map#0, Map#1]: Map[MClass, Set[PropertyLayoutElement]] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapRead#1: Set[PropertyLayoutElement] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashCollection#1: HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
-}
-};
-/* runtime type Map[MClass, Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-112,
-"Map[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
-2,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type String */
-const struct type type_string__String = {
-2759,
-"String", /* class_name_string */
-9,
-0,
-&resolution_table_string__String,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-10, /* nullable String */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-113, /* Streamable */
-657, /* Collection[Char] */
-1838, /* AbstractArrayRead[Object] */
-2246, /* AbstractArrayRead[Char] */
-2759, /* String */
-},
-};
-const struct types resolution_table_string__String = {
-0, /* dummy */
-{
-&type_string__String, /* OTHER: String */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Char, /* Collection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Collection#0]: Collection[Char] */
-&type_kernel__Char, /* SequenceRead#0: Char */
-&type_kernel__Char, /* AbstractArrayRead#0: Char */
-&type_array__Arraykernel__Char, /* Array[AbstractArrayRead#0]: Array[Char] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Char] not a live type) */
-&type_array__ArrayIteratorkernel__Char, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Char] */
-}
-};
-/* runtime type Streamable */
-const struct type type_stream__Streamable = {
-113,
-"Streamable", /* class_name_string */
+/* runtime type FlatText */
+const struct type type_string__FlatText = {
+1319,
+"FlatText", /* class_name_string */
 5,
 0,
 NULL, /*DEAD*/
@@ -2976,27 +2215,27 @@ NULL, /*DEAD*/
 };
 /* runtime type nullable String */
 const struct type type_nullable_string__String = {
-10,
+4,
 "nullable String", /* class_name_string */
 2,
 1,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type Collection[Char] */
-const struct type type_abstract_collection__Collectionkernel__Char = {
-657,
-"Collection[Char]", /* class_name_string */
+/* runtime type String */
+const struct type type_string__String = {
+1466,
+"String", /* class_name_string */
 6,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type AbstractArrayRead[Char] */
-const struct type type_array__AbstractArrayReadkernel__Char = {
-2246,
-"AbstractArrayRead[Char]", /* class_name_string */
-8,
+/* runtime type Streamable */
+const struct type type_stream__Streamable = {
+104,
+"Streamable", /* class_name_string */
+3,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
@@ -3012,23 +2251,19 @@ const struct type type_string__FlatStringCharView = {
 {
 0, /* nullable Object */
 1, /* Object */
-2036, /* FlatStringCharView */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
 -1, /* empty */
-657, /* Collection[Char] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+603, /* Collection[Char] */
+1467, /* FlatStringCharView */
 },
 };
 const struct types resolution_table_string__FlatStringCharView = {
 0, /* dummy */
 {
-&type_string__String, /* SELFTYPE: String */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
+&type_string__FlatString, /* SELFTYPE: FlatString */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -3039,72 +2274,137 @@ NULL, /* empty */
 &type_kernel__Char, /* SequenceRead#0: Char */
 }
 };
-/* runtime type Array[Option] */
-const struct type type_array__Arrayopts__Option = {
-2667,
-"Array[Option]", /* class_name_string */
-6,
+/* runtime type Collection[Char] */
+const struct type type_abstract_collection__Collectionkernel__Char = {
+603,
+"Collection[Char]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type FlatBuffer */
+const struct type type_string__FlatBuffer = {
+1468,
+"FlatBuffer", /* class_name_string */
+6,
+0,
+&resolution_table_string__FlatBuffer,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+104, /* Streamable */
+602, /* Text */
+1319, /* FlatText */
+1468, /* FlatBuffer */
+},
+};
+const struct types resolution_table_string__FlatBuffer = {
+0, /* dummy */
+{
+&type_string__Text, /* OTHER: Text */
+&type_string__FlatBuffer, /* SELFTYPE: FlatBuffer */
+&type_array__Arraystring__FlatBuffer, /* Array[SELFTYPE]: Array[FlatBuffer] */
+}
+};
+/* runtime type FlatBufferCharView */
+const struct type type_string__FlatBufferCharView = {
+-1, /*CAST DEAD*/
+"FlatBufferCharView", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_string__FlatBufferCharView,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+603, /* Collection[Char] */
+1469, /* FlatBufferCharView */
+},
+};
+const struct types resolution_table_string__FlatBufferCharView = {
+0, /* dummy */
+{
+&type_kernel__Char, /* Sequence#0: Char */
+&type_kernel__Char, /* SimpleCollection#0: Char */
+&type_string__FlatBuffer, /* SELFTYPE: FlatBuffer */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Char, /* RemovableCollection#0: Char */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[Sequence#0]: Collection[Char] */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[SimpleCollection#0]: Collection[Char] */
+&type_kernel__Char, /* Collection#0: Char */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[Collection#0]: Collection[Char] */
+&type_kernel__Char, /* SequenceRead#0: Char */
+}
+};
+/* runtime type Array[Option] */
+const struct type type_array__Arrayopts__Option = {
+-1, /*CAST DEAD*/
+"Array[Option]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayopts__Option,
-10,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-658, /* Collection[Option] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2247, /* AbstractArrayRead[Option] */
-2667, /* Array[Option] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+604, /* Collection[Option] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1649, /* AbstractArrayRead[Option] */
+1459, /* Array[Object] */
+2025, /* Array[Option] */
 },
 };
 const struct types resolution_table_array__Arrayopts__Option = {
 0, /* dummy */
 {
-&type_array__Arrayopts__Option, /* Array[Array#0]: Array[Option] */
-&type_array__NativeArrayopts__Option, /* NativeArray[Array#0]: NativeArray[Option] */
 &type_opts__Option, /* Sequence#0: Option */
 &type_opts__Option, /* SimpleCollection#0: Option */
-&type_abstract_collection__Collectionopts__Option, /* Collection[Array#0]: Collection[Option] */
-&type_opts__Option, /* Array#0: Option */
+&type_array__NativeArrayopts__Option, /* NativeArray[Array#0]: NativeArray[Option] */
+&type_array__Arrayopts__Option, /* Array[Array#0]: Array[Option] */
 &type_array__NativeArrayopts__Option, /* NativeArray[ArrayCapable#0]: NativeArray[Option] */
-&type_opts__Option, /* AbstractArray#0: Option */
 &type_opts__Option, /* RemovableCollection#0: Option */
 &type_abstract_collection__Collectionopts__Option, /* Collection[Sequence#0]: Collection[Option] */
-&type_array__Arrayopts__Option, /* Array[Sequence#0]: Array[Option] */
 &type_abstract_collection__Collectionopts__Option, /* Collection[SimpleCollection#0]: Collection[Option] */
 &type_opts__Option, /* Collection#0: Option */
 &type_abstract_collection__Collectionopts__Option, /* Collection[Collection#0]: Collection[Option] */
 &type_opts__Option, /* SequenceRead#0: Option */
 &type_opts__Option, /* AbstractArrayRead#0: Option */
 &type_array__Arrayopts__Option, /* Array[AbstractArrayRead#0]: Array[Option] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Option] not a live type) */
 &type_array__ArrayIteratoropts__Option, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Option] */
 }
 };
 /* runtime type Collection[Option] */
 const struct type type_abstract_collection__Collectionopts__Option = {
-658,
+604,
 "Collection[Option]", /* class_name_string */
-2,
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type AbstractArrayRead[Option] */
 const struct type type_array__AbstractArrayReadopts__Option = {
-2247,
+1649,
 "AbstractArrayRead[Option]", /* class_name_string */
-5,
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
 /* runtime type HashMap[String, Option] */
 const struct type type_hash_collection__HashMapstring__Stringopts__Option = {
-114,
+105,
 "HashMap[String, Option]", /* class_name_string */
 2,
 0,
@@ -3113,7 +2413,7 @@ const struct type type_hash_collection__HashMapstring__Stringopts__Option = {
 {
 0, /* nullable Object */
 1, /* Object */
-114, /* HashMap[String, Option] */
+105, /* HashMap[String, Option] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapstring__Stringopts__Option = {
@@ -3122,17 +2422,14 @@ const struct types resolution_table_hash_collection__HashMapstring__Stringopts__
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringopts__Option, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Option] */
 &type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Option]] */
+&type_hash_collection__HashMapKeysstring__Stringopts__Option, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Option] */
 &type_hash_collection__HashMapValuesstring__Stringopts__Option, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Option] */
 &type_hash_collection__HashMapIteratorstring__Stringopts__Option, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Option] */
 &type_string__String, /* Map#0: String */
 &type_opts__Option, /* Map#1: Option */
 &type_hash_collection__HashMapNodestring__Stringopts__Option, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Option] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Option] not a live type) */
-&type_opts__Option, /* MapRead#1: Option */
 &type_string__String, /* HashCollection#0: String */
 &type_nullable_hash_collection__HashMapNodestring__Stringopts__Option, /* nullable HashCollection#1: nullable HashMapNode[String, Option] */
 &type_hash_collection__HashMapNodestring__Stringopts__Option, /* HashCollection#1: HashMapNode[String, Option] */
@@ -3141,7 +2438,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[String, Option] not a live type) */
 };
 /* runtime type NativeArray[String] */
 const struct type type_array__NativeArraystring__String = {
-1874,
+1320,
 "NativeArray[String]", /* class_name_string */
 4,
 0,
@@ -3150,9 +2447,9 @@ const struct type type_array__NativeArraystring__String = {
 {
 0, /* nullable Object */
 1, /* Object */
-115, /* NativeArray[Object] */
-659, /* NativeArray[Streamable] */
-1874, /* NativeArray[String] */
+103, /* NativeArray[Object] */
+605, /* NativeArray[Streamable] */
+1320, /* NativeArray[String] */
 },
 };
 const struct types resolution_table_array__NativeArraystring__String = {
@@ -3162,30 +2459,9 @@ const struct types resolution_table_array__NativeArraystring__String = {
 &type_array__NativeArraystring__String, /* NativeArray[NativeArray#0]: NativeArray[String] */
 }
 };
-/* runtime type NativeArray[Object] */
-const struct type type_array__NativeArraykernel__Object = {
-115,
-"NativeArray[Object]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraykernel__Object,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-115, /* NativeArray[Object] */
-},
-};
-const struct types resolution_table_array__NativeArraykernel__Object = {
-0, /* dummy */
-{
-&type_kernel__Object, /* NativeArray#0: Object */
-&type_array__NativeArraykernel__Object, /* NativeArray[NativeArray#0]: NativeArray[Object] */
-}
-};
 /* runtime type NativeArray[Streamable] */
 const struct type type_array__NativeArraystream__Streamable = {
-659,
+605,
 "NativeArray[Streamable]", /* class_name_string */
 3,
 0,
@@ -3194,8 +2470,8 @@ const struct type type_array__NativeArraystream__Streamable = {
 {
 0, /* nullable Object */
 1, /* Object */
-115, /* NativeArray[Object] */
-659, /* NativeArray[Streamable] */
+103, /* NativeArray[Object] */
+605, /* NativeArray[Streamable] */
 },
 };
 const struct types resolution_table_array__NativeArraystream__Streamable = {
@@ -3207,7 +2483,7 @@ const struct types resolution_table_array__NativeArraystream__Streamable = {
 };
 /* runtime type NativeArray[Option] */
 const struct type type_array__NativeArrayopts__Option = {
-660,
+606,
 "NativeArray[Option]", /* class_name_string */
 3,
 0,
@@ -3216,8 +2492,8 @@ const struct type type_array__NativeArrayopts__Option = {
 {
 0, /* nullable Object */
 1, /* Object */
-115, /* NativeArray[Object] */
-660, /* NativeArray[Option] */
+103, /* NativeArray[Object] */
+606, /* NativeArray[Option] */
 },
 };
 const struct types resolution_table_array__NativeArrayopts__Option = {
@@ -3227,751 +2503,671 @@ const struct types resolution_table_array__NativeArrayopts__Option = {
 &type_array__NativeArrayopts__Option, /* NativeArray[NativeArray#0]: NativeArray[Option] */
 }
 };
-/* runtime type Buffer */
-const struct type type_string__Buffer = {
-2488,
-"Buffer", /* class_name_string */
-2,
+/* runtime type ArraySet[MModule] */
+const struct type type_array__ArraySetmmodule__MModule = {
+-1, /*CAST DEAD*/
+"ArraySet[MModule]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_string__Buffer,
+&resolution_table_array__ArraySetmmodule__MModule,
 9,
 {
 0, /* nullable Object */
 1, /* Object */
-2488, /* Buffer */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
 -1, /* empty */
-657, /* Collection[Char] */
-1838, /* AbstractArrayRead[Object] */
-2246, /* AbstractArrayRead[Char] */
+-1, /* empty */
+84, /* Collection[Object] */
+594, /* Collection[MModule] */
+-1, /* empty */
+607, /* Set[Object] */
+1470, /* ArraySet[MModule] */
 },
 };
-const struct types resolution_table_string__Buffer = {
+const struct types resolution_table_array__ArraySetmmodule__MModule = {
 0, /* dummy */
 {
-&type_string__String, /* OTHER: String */
-NULL, /* empty */
-&type_kernel__Char, /* Sequence#0: Char */
-&type_kernel__Char, /* SimpleCollection#0: Char */
-NULL, /* empty */
+&type_array__ArraySetIteratormmodule__MModule, /* ArraySetIterator[ArraySet#0]: ArraySetIterator[MModule] */
+&type_mmodule__MModule, /* SimpleCollection#0: MModule */
+&type_array__Arraymmodule__MModule, /* Array[ArraySet#0]: Array[MModule] */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Set#0]: Collection[MModule] */
 NULL, /* empty */
+&type_mmodule__MModule, /* RemovableCollection#0: MModule */
 NULL, /* empty */
-&type_kernel__Char, /* AbstractArray#0: Char */
-&type_kernel__Char, /* RemovableCollection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Sequence#0]: Collection[Char] */
-&type_array__Arraykernel__Char, /* Array[Sequence#0]: Array[Char] */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[SimpleCollection#0]: Collection[Char] */
-&type_kernel__Char, /* Collection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Collection#0]: Collection[Char] */
-&type_kernel__Char, /* SequenceRead#0: Char */
-&type_kernel__Char, /* AbstractArrayRead#0: Char */
-&type_array__Arraykernel__Char, /* Array[AbstractArrayRead#0]: Array[Char] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Char] not a live type) */
-&type_array__ArrayIteratorkernel__Char, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Char] */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[SimpleCollection#0]: Collection[MModule] */
+&type_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type FlatBufferCharView */
-const struct type type_string__FlatBufferCharView = {
--1, /*CAST DEAD*/
-"FlatBufferCharView", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_string__FlatBufferCharView,
+/* runtime type Set[Object] */
+const struct type type_abstract_collection__Setkernel__Object = {
+607,
+"Set[Object]", /* class_name_string */
 7,
-{
-0, /* nullable Object */
-1, /* Object */
-2037, /* FlatBufferCharView */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
--1, /* empty */
-657, /* Collection[Char] */
-},
-};
-const struct types resolution_table_string__FlatBufferCharView = {
-0, /* dummy */
-{
-&type_string__Buffer, /* SELFTYPE: Buffer */
-NULL, /* empty */
-&type_kernel__Char, /* Sequence#0: Char */
-&type_kernel__Char, /* SimpleCollection#0: Char */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Char, /* RemovableCollection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Sequence#0]: Collection[Char] */
-&type_array__Arraykernel__Char, /* Array[Sequence#0]: Array[Char] */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[SimpleCollection#0]: Collection[Char] */
-&type_kernel__Char, /* Collection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Collection#0]: Collection[Char] */
-&type_kernel__Char, /* SequenceRead#0: Char */
-}
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type Range[Int] */
-const struct type type_range__Rangekernel__Int = {
-1875,
-"Range[Int]", /* class_name_string */
-2,
+/* runtime type MModule */
+const struct type type_mmodule__MModule = {
+608,
+"MModule", /* class_name_string */
+3,
 0,
-&resolution_table_range__Rangekernel__Int,
-6,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1875, /* Range[Int] */
--1, /* empty */
-92, /* Collection[Object] */
-661, /* Collection[Int] */
+5, /* nullable MModule */
+608, /* MModule */
 },
 };
-const struct types resolution_table_range__Rangekernel__Int = {
-0, /* dummy */
-{
-&type_range__IteratorRangekernel__Int, /* IteratorRange[Range#0]: IteratorRange[Int] */
-&type_kernel__Int, /* Range#0: Int */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
-}
-};
-/* runtime type Collection[Int] */
-const struct type type_abstract_collection__Collectionkernel__Int = {
-661,
-"Collection[Int]", /* class_name_string */
+/* runtime type nullable MModule */
+const struct type type_nullable_mmodule__MModule = {
 5,
-0,
+"nullable MModule", /* class_name_string */
+2,
+1,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type ArraySet[MModule] */
-const struct type type_array__ArraySetmmodule__MModule = {
--1, /*CAST DEAD*/
-"ArraySet[MModule]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashSet[MModule] */
+const struct type type_hash_collection__HashSetmmodule__MModule = {
+1650,
+"HashSet[MModule]", /* class_name_string */
+9,
 0,
-&resolution_table_array__ArraySetmmodule__MModule,
-6,
+&resolution_table_hash_collection__HashSetmmodule__MModule,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-644, /* Collection[MModule] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2038, /* ArraySet[MModule] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+594, /* Collection[MModule] */
+-1, /* empty */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1650, /* HashSet[MModule] */
 },
 };
-const struct types resolution_table_array__ArraySetmmodule__MModule = {
+const struct types resolution_table_hash_collection__HashSetmmodule__MModule = {
 0, /* dummy */
 {
-&type_array__ArraySetIteratormmodule__MModule, /* ArraySetIterator[ArraySet#0]: ArraySetIterator[MModule] */
-&type_array__Arraymmodule__MModule, /* Array[ArraySet#0]: Array[MModule] */
-NULL, /* empty */
+&type_hash_collection__HashSetNodemmodule__MModule, /* HashSetNode[HashSet#0]: HashSetNode[MModule] */
 &type_mmodule__MModule, /* SimpleCollection#0: MModule */
+&type_hash_collection__HashSetIteratormmodule__MModule, /* HashSetIterator[HashSet#0]: HashSetIterator[MModule] */
 &type_abstract_collection__Collectionmmodule__MModule, /* Collection[Set#0]: Collection[MModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MModule]] */
 &type_mmodule__MModule, /* RemovableCollection#0: MModule */
-NULL, /* empty */
-NULL, /* empty */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[HashSet#0]: Collection[MModule] */
 &type_abstract_collection__Collectionmmodule__MModule, /* Collection[SimpleCollection#0]: Collection[MModule] */
 &type_mmodule__MModule, /* Collection#0: MModule */
 &type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
+NULL, /* empty */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_nullable_hash_collection__HashSetNodemmodule__MModule, /* nullable HashCollection#1: nullable HashSetNode[MModule] */
+&type_hash_collection__HashSetNodemmodule__MModule, /* HashCollection#1: HashSetNode[MModule] */
+&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
 }
 };
-/* runtime type SeparateErasureCompiler */
-const struct type type_separate_erasure_compiler__SeparateErasureCompiler = {
-1876,
-"SeparateErasureCompiler", /* class_name_string */
-4,
+/* runtime type HashSet[Object] */
+const struct type type_hash_collection__HashSetkernel__Object = {
+1321,
+"HashSet[Object]", /* class_name_string */
+8,
 0,
-&resolution_table_separate_erasure_compiler__SeparateErasureCompiler,
-5,
+&resolution_table_hash_collection__HashSetkernel__Object,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* AbstractCompiler */
-662, /* SeparateCompiler */
-1876, /* SeparateErasureCompiler */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
 },
 };
-const struct types resolution_table_separate_erasure_compiler__SeparateErasureCompiler = {
+const struct types resolution_table_hash_collection__HashSetkernel__Object = {
 0, /* dummy */
 {
-&type_separate_compiler__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
-}
-};
-/* runtime type SeparateCompiler */
-const struct type type_separate_compiler__SeparateCompiler = {
-662,
-"SeparateCompiler", /* class_name_string */
-3,
-0,
-&resolution_table_separate_compiler__SeparateCompiler,
-4,
+&type_hash_collection__HashSetNodekernel__Object, /* HashSetNode[HashSet#0]: HashSetNode[Object] */
+&type_kernel__Object, /* SimpleCollection#0: Object */
+&type_hash_collection__HashSetIteratorkernel__Object, /* HashSetIterator[HashSet#0]: HashSetIterator[Object] */
+&type_abstract_collection__Collectionkernel__Object, /* Collection[Set#0]: Collection[Object] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Object]] */
+&type_kernel__Object, /* RemovableCollection#0: Object */
+&type_abstract_collection__Collectionkernel__Object, /* Collection[HashSet#0]: Collection[Object] */
+&type_abstract_collection__Collectionkernel__Object, /* Collection[SimpleCollection#0]: Collection[Object] */
+&type_kernel__Object, /* Collection#0: Object */
+&type_abstract_collection__Collectionkernel__Object, /* Collection[Collection#0]: Collection[Object] */
+NULL, /* empty */
+&type_kernel__Object, /* HashCollection#0: Object */
+&type_nullable_hash_collection__HashSetNodekernel__Object, /* nullable HashCollection#1: nullable HashSetNode[Object] */
+&type_hash_collection__HashSetNodekernel__Object, /* HashCollection#1: HashSetNode[Object] */
+&type_nullable_kernel__Object, /* nullable HashCollection#0: nullable Object */
+}
+};
+/* runtime type Array[MClassDef] */
+const struct type type_array__Arraymodel__MClassDef = {
+2026,
+"Array[MClassDef]", /* class_name_string */
+10,
+0,
+&resolution_table_array__Arraymodel__MClassDef,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* AbstractCompiler */
-662, /* SeparateCompiler */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+597, /* Collection[MClassDef] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1651, /* AbstractArrayRead[MClassDef] */
+1459, /* Array[Object] */
+2026, /* Array[MClassDef] */
 },
 };
-const struct types resolution_table_separate_compiler__SeparateCompiler = {
+const struct types resolution_table_array__Arraymodel__MClassDef = {
 0, /* dummy */
 {
-&type_separate_compiler__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
+&type_model__MClassDef, /* Sequence#0: MClassDef */
+&type_model__MClassDef, /* SimpleCollection#0: MClassDef */
+&type_array__NativeArraymodel__MClassDef, /* NativeArray[Array#0]: NativeArray[MClassDef] */
+&type_array__Arraymodel__MClassDef, /* Array[Array#0]: Array[MClassDef] */
+&type_array__NativeArraymodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[MClassDef] */
+&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Sequence#0]: Collection[MClassDef] */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[SimpleCollection#0]: Collection[MClassDef] */
+&type_model__MClassDef, /* Collection#0: MClassDef */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
+&type_model__MClassDef, /* SequenceRead#0: MClassDef */
+&type_model__MClassDef, /* AbstractArrayRead#0: MClassDef */
+&type_array__Arraymodel__MClassDef, /* Array[AbstractArrayRead#0]: Array[MClassDef] */
+&type_array__ArrayIteratormodel__MClassDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MClassDef] */
 }
 };
-/* runtime type AbstractCompiler */
-const struct type type_abstract_compiler__AbstractCompiler = {
-116,
-"AbstractCompiler", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[MClassDef] */
+const struct type type_array__AbstractArrayReadmodel__MClassDef = {
+1651,
+"AbstractArrayRead[MClassDef]", /* class_name_string */
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSet[MType] */
-const struct type type_hash_collection__HashSetmodel__MType = {
-2803,
-"HashSet[MType]", /* class_name_string */
-13,
+/* runtime type HashMap[MClass, Set[MProperty]] */
+const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty = {
+1322,
+"HashMap[MClass, Set[MProperty]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashSetmodel__MType,
-14,
+&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-2668, /* Set[MType] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-1872, /* HashSet[Object] */
-2039, /* Set[NitniCallback] */
-2489, /* HashSet[NitniCallback] */
-2033, /* Collection[MType] */
+106, /* Map[MClass, Set[PropertyLayoutElement]] */
+609, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
--1, /* empty */
-2803, /* HashSet[MType] */
+1322, /* HashMap[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodemodel__MType, /* HashSetNode[HashSet#0]: HashSetNode[MType] */
-&type_hash_collection__HashSetIteratormodel__MType, /* HashSetIterator[HashSet#0]: HashSetIterator[MType] */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[HashSet#0]: Collection[MType] */
-&type_model__MType, /* SimpleCollection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Set#0]: Collection[MType] */
 NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MType]] */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[SimpleCollection#0]: Collection[MType] */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_nullable_hash_collection__HashSetNodemodel__MType, /* nullable HashCollection#1: nullable HashSetNode[MType] */
-&type_hash_collection__HashSetNodemodel__MType, /* HashCollection#1: HashSetNode[MType] */
-&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
+&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MProperty]] */
+&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MProperty]] */
+&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MProperty]] */
+&type_model__MClass, /* Map#0: MClass */
+&type_abstract_collection__Setmodel__MProperty, /* Map#1: Set[MProperty] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MProperty]] */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[MProperty]] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* HashCollection#1: HashMapNode[MClass, Set[MProperty]] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
 }
 };
-/* runtime type HashSet[NitniCallback] */
-const struct type type_hash_collection__HashSetnitni_callbacks__NitniCallback = {
-2489,
-"HashSet[NitniCallback]", /* class_name_string */
-9,
+/* runtime type HashMap[MClass, Set[PropertyLayoutElement]] */
+const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
+609,
+"HashMap[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashSetnitni_callbacks__NitniCallback,
-10,
+&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-655, /* Set[Object] */
-92, /* Collection[Object] */
--1, /* empty */
-648, /* Collection[NitniCallback] */
-1872, /* HashSet[Object] */
-2039, /* Set[NitniCallback] */
-2489, /* HashSet[NitniCallback] */
+106, /* Map[MClass, Set[PropertyLayoutElement]] */
+609, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetnitni_callbacks__NitniCallback = {
+const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodenitni_callbacks__NitniCallback, /* HashSetNode[HashSet#0]: HashSetNode[NitniCallback] */
-&type_hash_collection__HashSetIteratornitni_callbacks__NitniCallback, /* HashSetIterator[HashSet#0]: HashSetIterator[NitniCallback] */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[HashSet#0]: Collection[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* SimpleCollection#0: NitniCallback */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[Set#0]: Collection[NitniCallback] */
 NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__NitniCallback, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[NitniCallback]] */
 NULL, /* empty */
-&type_nitni_callbacks__NitniCallback, /* RemovableCollection#0: NitniCallback */
 NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[SimpleCollection#0]: Collection[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* Collection#0: NitniCallback */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[Collection#0]: Collection[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* HashCollection#0: NitniCallback */
-&type_nullable_hash_collection__HashSetNodenitni_callbacks__NitniCallback, /* nullable HashCollection#1: nullable HashSetNode[NitniCallback] */
-&type_hash_collection__HashSetNodenitni_callbacks__NitniCallback, /* HashCollection#1: HashSetNode[NitniCallback] */
-&type_nullable_nitni_callbacks__NitniCallback, /* nullable HashCollection#0: nullable NitniCallback */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[PropertyLayoutElement]] */
+&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[PropertyLayoutElement]] */
+&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[PropertyLayoutElement]] */
+&type_model__MClass, /* Map#0: MClass */
+&type_abstract_collection__Setseparate_compiler__PropertyLayoutElement, /* Map#1: Set[PropertyLayoutElement] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* HashCollection#1: HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
 }
 };
-/* runtime type Set[MType] */
-const struct type type_abstract_collection__Setmodel__MType = {
-2668,
-"Set[MType]", /* class_name_string */
+/* runtime type Map[MClass, Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
+106,
+"Map[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 2,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type Set[NitniCallback] */
-const struct type type_abstract_collection__Setnitni_callbacks__NitniCallback = {
-2039,
-"Set[NitniCallback]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMap[MClassDef, HashSet[MType]] */
-const struct type type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType = {
-117,
-"HashMap[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type Location */
+const struct type type_location__Location = {
+107,
+"Location", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_location__Location,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-117, /* HashMap[MClassDef, HashSet[MType]] */
+107, /* Location */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_location__Location = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassDef, /* MapRead#0: MClassDef */
-&type_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassDef, HashSet[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
-&type_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassDef, HashSet[MType]] */
-&type_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassDef, HashSet[MType]] */
-&type_model__MClassDef, /* Map#0: MClassDef */
-&type_hash_collection__HashSetmodel__MType, /* Map#1: HashSet[MType] */
-&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassDef, HashSet[MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClassDef, HashSet[MType]] not a live type) */
-&type_hash_collection__HashSetmodel__MType, /* MapRead#1: HashSet[MType] */
-&type_model__MClassDef, /* HashCollection#0: MClassDef */
-&type_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* nullable HashCollection#1: nullable HashMapNode[MClassDef, HashSet[MType]] */
-&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* HashCollection#1: HashMapNode[MClassDef, HashSet[MType]] */
-&type_nullable_model__MClassDef, /* nullable HashCollection#0: nullable MClassDef */
+&type_location__Location, /* OTHER: Location */
 }
 };
-/* runtime type HashMap[MClass, Int] */
-const struct type type_hash_collection__HashMapmodel__MClasskernel__Int = {
-663,
-"HashMap[MClass, Int]", /* class_name_string */
-3,
+/* runtime type Range[Int] */
+const struct type type_range__Rangekernel__Int = {
+1323,
+"Range[Int]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClasskernel__Int,
-4,
+&resolution_table_range__Rangekernel__Int,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* Map[MClass, Int] */
-663, /* HashMap[MClass, Int] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+610, /* Collection[Int] */
+1323, /* Range[Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClasskernel__Int = {
+const struct types resolution_table_range__Rangekernel__Int = {
 0, /* dummy */
 {
+&type_kernel__Int, /* Range#0: Int */
+&type_range__IteratorRangekernel__Int, /* IteratorRange[Range#0]: IteratorRange[Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClasskernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Int]] */
-&type_hash_collection__HashMapValuesmodel__MClasskernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Int] */
-&type_hash_collection__HashMapIteratormodel__MClasskernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Int] */
-&type_model__MClass, /* Map#0: MClass */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[Map#0, Map#1]: Map[MClass, Int] */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* nullable HashCollection#1: nullable HashMapNode[MClass, Int] */
-&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* HashCollection#1: HashMapNode[MClass, Int] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type Map[MClass, Int] */
-const struct type type_abstract_collection__Mapmodel__MClasskernel__Int = {
-118,
-"Map[MClass, Int]", /* class_name_string */
-2,
+/* runtime type Collection[Int] */
+const struct type type_abstract_collection__Collectionkernel__Int = {
+610,
+"Collection[Int]", /* class_name_string */
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMap[MType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType = {
-119,
-"HashMap[MType, Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type AnnotationPhaseVisitor */
+const struct type type_phase__AnnotationPhaseVisitor = {
+-1, /*CAST DEAD*/
+"AnnotationPhaseVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType,
+NULL, /*NO RESOLUTIONS*/
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-119, /* HashMap[MType, Array[nullable MType]] */
+108, /* AnnotationPhaseVisitor */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType = {
+/* runtime type FlatStringIterator */
+const struct type type_string__FlatStringIterator = {
+-1, /*CAST DEAD*/
+"FlatStringIterator", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_string__FlatStringIterator,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+109, /* FlatStringIterator */
+},
+};
+const struct types resolution_table_string__FlatStringIterator = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[nullable MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-&type_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[nullable MType]] */
-&type_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[nullable MType]] */
-&type_model__MType, /* Map#0: MType */
-&type_array__Arraynullable_model__MType, /* Map#1: Array[nullable MType] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[nullable MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[nullable MType]] not a live type) */
-&type_array__Arraynullable_model__MType, /* MapRead#1: Array[nullable MType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[nullable MType]] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[MType, Array[nullable MType]] */
-&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
+&type_array__Arraykernel__Char, /* Array[Iterator#0]: Array[Char] */
 }
 };
-/* runtime type HashMap[MClassType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType = {
-664,
-"HashMap[MClassType, Array[nullable MType]]", /* class_name_string */
+/* runtime type FlatBufferIterator */
+const struct type type_string__FlatBufferIterator = {
+-1, /*CAST DEAD*/
+"FlatBufferIterator", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_string__FlatBufferIterator,
 3,
+{
+0, /* nullable Object */
+1, /* Object */
+110, /* FlatBufferIterator */
+},
+};
+const struct types resolution_table_string__FlatBufferIterator = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Char, /* Array[Iterator#0]: Array[Char] */
+}
+};
+/* runtime type FlatSubstringsIter */
+const struct type type_string__FlatSubstringsIter = {
+-1, /*CAST DEAD*/
+"FlatSubstringsIter", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType,
-4,
+&resolution_table_string__FlatSubstringsIter,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-119, /* HashMap[MType, Array[nullable MType]] */
-664, /* HashMap[MClassType, Array[nullable MType]] */
+111, /* FlatSubstringsIter */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_string__FlatSubstringsIter = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* MapRead#0: MClassType */
-&type_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, Array[nullable MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
-&type_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, Array[nullable MType]] */
-&type_hash_collection__HashMapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, Array[nullable MType]] */
-&type_model__MClassType, /* Map#0: MClassType */
-&type_array__Arraynullable_model__MType, /* Map#1: Array[nullable MType] */
-&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, Array[nullable MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClassType, Array[nullable MType]] not a live type) */
-&type_array__Arraynullable_model__MType, /* MapRead#1: Array[nullable MType] */
-&type_model__MClassType, /* HashCollection#0: MClassType */
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* nullable HashCollection#1: nullable HashMapNode[MClassType, Array[nullable MType]] */
-&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[MClassType, Array[nullable MType]] */
-&type_nullable_model__MClassType, /* nullable HashCollection#0: nullable MClassType */
+&type_array__Arraystring__FlatText, /* Array[Iterator#0]: Array[FlatText] */
 }
 };
-/* runtime type HashMap[MClass, Array[nullable MPropDef]] */
-const struct type type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef = {
-120,
-"HashMap[MClass, Array[nullable MPropDef]]", /* class_name_string */
+/* runtime type MProject */
+const struct type type_mproject__MProject = {
+112,
+"MProject", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef,
+NULL, /*NO RESOLUTIONS*/
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-120, /* HashMap[MClass, Array[nullable MPropDef]] */
+112, /* MProject */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Array[nullable MPropDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
-&type_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Array[nullable MPropDef]] */
-&type_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Array[nullable MPropDef]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_array__Arraynullable_model__MPropDef, /* Map#1: Array[nullable MPropDef] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Array[nullable MPropDef]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, Array[nullable MPropDef]] not a live type) */
-&type_array__Arraynullable_model__MPropDef, /* MapRead#1: Array[nullable MPropDef] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* nullable HashCollection#1: nullable HashMapNode[MClass, Array[nullable MPropDef]] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* HashCollection#1: HashMapNode[MClass, Array[nullable MPropDef]] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
-}
-};
-/* runtime type HashMap[String, String] */
-const struct type type_hash_collection__HashMapstring__Stringstring__String = {
-121,
-"HashMap[String, String]", /* class_name_string */
-2,
+/* runtime type POSet[MGroup] */
+const struct type type_poset__POSetmproject__MGroup = {
+1471,
+"POSet[MGroup]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapstring__Stringstring__String,
-3,
+&resolution_table_poset__POSetmproject__MGroup,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-121, /* HashMap[String, String] */
+113, /* Collection[nullable MGroup] */
+-1, /* empty */
+84, /* Collection[Object] */
+1324, /* Collection[MGroup] */
+1471, /* POSet[MGroup] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapstring__Stringstring__String = {
+const struct types resolution_table_poset__POSetmproject__MGroup = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MGroup, POSetElement[MGroup]] */
+&type_array__Arraymproject__MGroup, /* Array[Comparator#0]: Array[MGroup] */
+&type_mproject__MGroup, /* POSet#0: MGroup */
+&type_poset__POSetElementmproject__MGroup, /* POSetElement[POSet#0]: POSetElement[MGroup] */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[POSet#0]: Collection[MGroup] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringstring__String, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, String] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringstring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, String]] */
-&type_hash_collection__HashMapValuesstring__Stringstring__String, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, String] */
-&type_hash_collection__HashMapIteratorstring__Stringstring__String, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, String] */
-&type_string__String, /* Map#0: String */
-&type_string__String, /* Map#1: String */
-&type_hash_collection__HashMapNodestring__Stringstring__String, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, String] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, String] not a live type) */
-&type_string__String, /* MapRead#1: String */
-&type_string__String, /* HashCollection#0: String */
-&type_nullable_hash_collection__HashMapNodestring__Stringstring__String, /* nullable HashCollection#1: nullable HashMapNode[String, String] */
-&type_hash_collection__HashMapNodestring__Stringstring__String, /* HashCollection#1: HashMapNode[String, String] */
-&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
+&type_mproject__MGroup, /* Collection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Collection#0]: Collection[MGroup] */
 }
 };
-/* runtime type List[CodeFile] */
-const struct type type_list__Listabstract_compiler__CodeFile = {
-2040,
-"List[CodeFile]", /* class_name_string */
+/* runtime type Collection[MGroup] */
+const struct type type_abstract_collection__Collectionmproject__MGroup = {
+1324,
+"Collection[MGroup]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Collection[nullable MGroup] */
+const struct type type_abstract_collection__Collectionnullable_mproject__MGroup = {
+113,
+"Collection[nullable MGroup]", /* class_name_string */
 2,
 0,
-&resolution_table_list__Listabstract_compiler__CodeFile,
-6,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MGroup */
+const struct type type_mproject__MGroup = {
+611,
+"MGroup", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2040, /* List[CodeFile] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-665, /* Collection[CodeFile] */
+6, /* nullable MGroup */
+611, /* MGroup */
 },
 };
-const struct types resolution_table_list__Listabstract_compiler__CodeFile = {
-0, /* dummy */
-{
-&type_list__Listabstract_compiler__CodeFile, /* List[List#0]: List[CodeFile] */
-&type_list__ListNodeabstract_compiler__CodeFile, /* ListNode[List#0]: ListNode[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Sequence#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* SimpleCollection#0: CodeFile */
-&type_list__ListIteratorabstract_compiler__CodeFile, /* ListIterator[List#0]: ListIterator[CodeFile] */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[List#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* List#0: CodeFile */
-&type_nullable_list__ListNodeabstract_compiler__CodeFile, /* nullable ListNode[List#0]: nullable ListNode[CodeFile] */
-&type_abstract_compiler__CodeFile, /* RemovableCollection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Sequence#0]: Collection[CodeFile] */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Sequence#0]: Array[CodeFile] */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[SimpleCollection#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Collection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Collection#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* SequenceRead#0: CodeFile */
-}
-};
-/* runtime type Collection[CodeFile] */
-const struct type type_abstract_collection__Collectionabstract_compiler__CodeFile = {
-665,
-"Collection[CodeFile]", /* class_name_string */
-5,
-0,
+/* runtime type nullable MGroup */
+const struct type type_nullable_mproject__MGroup = {
+6,
+"nullable MGroup", /* class_name_string */
+2,
+1,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMap[String, ANode] */
-const struct type type_hash_collection__HashMapstring__Stringparser_nodes__ANode = {
-122,
-"HashMap[String, ANode]", /* class_name_string */
-2,
+/* runtime type Array[ModulePath] */
+const struct type type_array__Arraymodelbuilder__ModulePath = {
+-1, /*CAST DEAD*/
+"Array[ModulePath]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapstring__Stringparser_nodes__ANode,
-3,
+&resolution_table_array__Arraymodelbuilder__ModulePath,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-122, /* HashMap[String, ANode] */
+114, /* Collection[nullable ModulePath] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+1325, /* Collection[ModulePath] */
+1326, /* AbstractArrayRead[nullable ModulePath] */
+1294, /* AbstractArrayRead[Object] */
+1472, /* Array[nullable ModulePath] */
+1459, /* Array[Object] */
+2027, /* AbstractArrayRead[ModulePath] */
+2146, /* Array[ModulePath] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapstring__Stringparser_nodes__ANode = {
+const struct types resolution_table_array__Arraymodelbuilder__ModulePath = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringparser_nodes__ANode, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, ANode] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, ANode]] */
-&type_hash_collection__HashMapValuesstring__Stringparser_nodes__ANode, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, ANode] */
-&type_hash_collection__HashMapIteratorstring__Stringparser_nodes__ANode, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, ANode] */
-&type_string__String, /* Map#0: String */
-&type_parser_nodes__ANode, /* Map#1: ANode */
-&type_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, ANode] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, ANode] not a live type) */
-&type_parser_nodes__ANode, /* MapRead#1: ANode */
-&type_string__String, /* HashCollection#0: String */
-&type_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* nullable HashCollection#1: nullable HashMapNode[String, ANode] */
-&type_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* HashCollection#1: HashMapNode[String, ANode] */
-&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
+&type_modelbuilder__ModulePath, /* Sequence#0: ModulePath */
+&type_modelbuilder__ModulePath, /* SimpleCollection#0: ModulePath */
+&type_array__NativeArraymodelbuilder__ModulePath, /* NativeArray[Array#0]: NativeArray[ModulePath] */
+&type_array__Arraymodelbuilder__ModulePath, /* Array[Array#0]: Array[ModulePath] */
+&type_array__NativeArraymodelbuilder__ModulePath, /* NativeArray[ArrayCapable#0]: NativeArray[ModulePath] */
+&type_modelbuilder__ModulePath, /* RemovableCollection#0: ModulePath */
+&type_abstract_collection__Collectionmodelbuilder__ModulePath, /* Collection[Sequence#0]: Collection[ModulePath] */
+&type_abstract_collection__Collectionmodelbuilder__ModulePath, /* Collection[SimpleCollection#0]: Collection[ModulePath] */
+&type_modelbuilder__ModulePath, /* Collection#0: ModulePath */
+&type_abstract_collection__Collectionmodelbuilder__ModulePath, /* Collection[Collection#0]: Collection[ModulePath] */
+&type_modelbuilder__ModulePath, /* SequenceRead#0: ModulePath */
+&type_modelbuilder__ModulePath, /* AbstractArrayRead#0: ModulePath */
+&type_array__Arraymodelbuilder__ModulePath, /* Array[AbstractArrayRead#0]: Array[ModulePath] */
+&type_array__ArrayIteratormodelbuilder__ModulePath, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ModulePath] */
 }
 };
-/* runtime type Array[ExternFile] */
-const struct type type_array__Arrayffi_base__ExternFile = {
-2669,
-"Array[ExternFile]", /* class_name_string */
-6,
+/* runtime type Array[nullable ModulePath] */
+const struct type type_array__Arraynullable_modelbuilder__ModulePath = {
+-1, /*CAST DEAD*/
+"Array[nullable ModulePath]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayffi_base__ExternFile,
-10,
+&resolution_table_array__Arraynullable_modelbuilder__ModulePath,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-666, /* Collection[ExternFile] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2248, /* AbstractArrayRead[ExternFile] */
-2669, /* Array[ExternFile] */
-1838, /* AbstractArrayRead[Object] */
+114, /* Collection[nullable ModulePath] */
+83, /* SequenceRead[nullable Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+-1, /* empty */
+1326, /* AbstractArrayRead[nullable ModulePath] */
+-1, /* empty */
+1472, /* Array[nullable ModulePath] */
 },
 };
-const struct types resolution_table_array__Arrayffi_base__ExternFile = {
+const struct types resolution_table_array__Arraynullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_array__Arrayffi_base__ExternFile, /* Array[Array#0]: Array[ExternFile] */
-&type_array__NativeArrayffi_base__ExternFile, /* NativeArray[Array#0]: NativeArray[ExternFile] */
-&type_ffi_base__ExternFile, /* Sequence#0: ExternFile */
-&type_ffi_base__ExternFile, /* SimpleCollection#0: ExternFile */
-&type_abstract_collection__Collectionffi_base__ExternFile, /* Collection[Array#0]: Collection[ExternFile] */
-&type_ffi_base__ExternFile, /* Array#0: ExternFile */
-&type_array__NativeArrayffi_base__ExternFile, /* NativeArray[ArrayCapable#0]: NativeArray[ExternFile] */
-&type_ffi_base__ExternFile, /* AbstractArray#0: ExternFile */
-&type_ffi_base__ExternFile, /* RemovableCollection#0: ExternFile */
-&type_abstract_collection__Collectionffi_base__ExternFile, /* Collection[Sequence#0]: Collection[ExternFile] */
-&type_array__Arrayffi_base__ExternFile, /* Array[Sequence#0]: Array[ExternFile] */
-&type_abstract_collection__Collectionffi_base__ExternFile, /* Collection[SimpleCollection#0]: Collection[ExternFile] */
-&type_ffi_base__ExternFile, /* Collection#0: ExternFile */
-&type_abstract_collection__Collectionffi_base__ExternFile, /* Collection[Collection#0]: Collection[ExternFile] */
-&type_ffi_base__ExternFile, /* SequenceRead#0: ExternFile */
-&type_ffi_base__ExternFile, /* AbstractArrayRead#0: ExternFile */
-&type_array__Arrayffi_base__ExternFile, /* Array[AbstractArrayRead#0]: Array[ExternFile] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ExternFile] not a live type) */
-&type_array__ArrayIteratorffi_base__ExternFile, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ExternFile] */
+&type_nullable_modelbuilder__ModulePath, /* Sequence#0: nullable ModulePath */
+&type_nullable_modelbuilder__ModulePath, /* SimpleCollection#0: nullable ModulePath */
+&type_array__NativeArraynullable_modelbuilder__ModulePath, /* NativeArray[Array#0]: NativeArray[nullable ModulePath] */
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[Array#0]: Array[nullable ModulePath] */
+&type_array__NativeArraynullable_modelbuilder__ModulePath, /* NativeArray[ArrayCapable#0]: NativeArray[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* RemovableCollection#0: nullable ModulePath */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[Sequence#0]: Collection[nullable ModulePath] */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[SimpleCollection#0]: Collection[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* Collection#0: nullable ModulePath */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[Collection#0]: Collection[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* SequenceRead#0: nullable ModulePath */
+&type_nullable_modelbuilder__ModulePath, /* AbstractArrayRead#0: nullable ModulePath */
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[AbstractArrayRead#0]: Array[nullable ModulePath] */
+&type_array__ArrayIteratornullable_modelbuilder__ModulePath, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable ModulePath] */
 }
 };
-/* runtime type Collection[ExternFile] */
-const struct type type_abstract_collection__Collectionffi_base__ExternFile = {
-666,
-"Collection[ExternFile]", /* class_name_string */
+/* runtime type Collection[ModulePath] */
+const struct type type_abstract_collection__Collectionmodelbuilder__ModulePath = {
+1325,
+"Collection[ModulePath]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Collection[nullable ModulePath] */
+const struct type type_abstract_collection__Collectionnullable_modelbuilder__ModulePath = {
+114,
+"Collection[nullable ModulePath]", /* class_name_string */
 2,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type AbstractArrayRead[ExternFile] */
-const struct type type_array__AbstractArrayReadffi_base__ExternFile = {
-2248,
-"AbstractArrayRead[ExternFile]", /* class_name_string */
-5,
+/* runtime type AbstractArrayRead[ModulePath] */
+const struct type type_array__AbstractArrayReadmodelbuilder__ModulePath = {
+2027,
+"AbstractArrayRead[ModulePath]", /* class_name_string */
+10,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type ArraySet[String] */
-const struct type type_array__ArraySetstring__String = {
--1, /*CAST DEAD*/
-"ArraySet[String]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type AbstractArrayRead[nullable ModulePath] */
+const struct type type_array__AbstractArrayReadnullable_modelbuilder__ModulePath = {
+1326,
+"AbstractArrayRead[nullable ModulePath]", /* class_name_string */
+6,
 0,
-&resolution_table_array__ArraySetstring__String,
-7,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ModulePath */
+const struct type type_modelbuilder__ModulePath = {
+612,
+"ModulePath", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2249, /* ArraySet[String] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-652, /* Collection[Streamable] */
-1870, /* Collection[String] */
+7, /* nullable ModulePath */
+612, /* ModulePath */
 },
 };
-const struct types resolution_table_array__ArraySetstring__String = {
-0, /* dummy */
+/* runtime type nullable ModulePath */
+const struct type type_nullable_modelbuilder__ModulePath = {
+7,
+"nullable ModulePath", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Lexer */
+const struct type type_lexer_work__Lexer = {
+-1, /*CAST DEAD*/
+"Lexer", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__ArraySetIteratorstring__String, /* ArraySetIterator[ArraySet#0]: ArraySetIterator[String] */
-&type_array__Arraystring__String, /* Array[ArraySet#0]: Array[String] */
-NULL, /* empty */
-&type_string__String, /* SimpleCollection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Set#0]: Collection[String] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
-}
+0, /* nullable Object */
+1, /* Object */
+115, /* TablesCapable */
+613, /* Lexer */
+},
 };
-/* runtime type RapidTypeAnalysis */
-const struct type type_rapid_type_analysis__RapidTypeAnalysis = {
+/* runtime type TablesCapable */
+const struct type type_tables__TablesCapable = {
 -1, /*CAST DEAD*/
-"RapidTypeAnalysis", /* class_name_string */
+"TablesCapable", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -3979,1386 +3175,1384 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-123, /* RapidTypeAnalysis */
+115, /* TablesCapable */
 },
 };
-/* runtime type HashSet[MClassType] */
-const struct type type_hash_collection__HashSetmodel__MClassType = {
-2839,
-"HashSet[MClassType]", /* class_name_string */
-14,
+/* runtime type SourceFile */
+const struct type type_location__SourceFile = {
+-1, /*CAST DEAD*/
+"SourceFile", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetmodel__MClassType,
-15,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2668, /* Set[MType] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-1872, /* HashSet[Object] */
-2039, /* Set[NitniCallback] */
-2489, /* HashSet[NitniCallback] */
-2033, /* Collection[MType] */
-2240, /* Collection[MClassType] */
-2775, /* Set[MClassType] */
-2803, /* HashSet[MType] */
-2839, /* HashSet[MClassType] */
+116, /* SourceFile */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MClassType = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetNodemodel__MClassType, /* HashSetNode[HashSet#0]: HashSetNode[MClassType] */
-&type_hash_collection__HashSetIteratormodel__MClassType, /* HashSetIterator[HashSet#0]: HashSetIterator[MClassType] */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[HashSet#0]: Collection[MClassType] */
-&type_model__MClassType, /* SimpleCollection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Set#0]: Collection[MClassType] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MClassType]] */
-NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[MClassType] */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
-&type_model__MClassType, /* HashCollection#0: MClassType */
-&type_nullable_hash_collection__HashSetNodemodel__MClassType, /* nullable HashCollection#1: nullable HashSetNode[MClassType] */
-&type_hash_collection__HashSetNodemodel__MClassType, /* HashCollection#1: HashSetNode[MClassType] */
-&type_nullable_model__MClassType, /* nullable HashCollection#0: nullable MClassType */
-}
-};
-/* runtime type Set[MClassType] */
-const struct type type_abstract_collection__Setmodel__MClassType = {
-2775,
-"Set[MClassType]", /* class_name_string */
-12,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashSet[MClass] */
-const struct type type_hash_collection__HashSetmodel__MClass = {
-2670,
-"HashSet[MClass]", /* class_name_string */
-8,
+/* runtime type Array[Int] */
+const struct type type_array__Arraykernel__Int = {
+-1, /*CAST DEAD*/
+"Array[Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetmodel__MClass,
-9,
+&resolution_table_array__Arraykernel__Int,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-2250, /* Set[MClass] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-99, /* Collection[nullable MClass] */
-1866, /* Collection[MClass] */
-1872, /* HashSet[Object] */
-2670, /* HashSet[MClass] */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+610, /* Collection[Int] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1652, /* AbstractArrayRead[Int] */
+1459, /* Array[Object] */
+2028, /* Array[Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_array__Arraykernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodemodel__MClass, /* HashSetNode[HashSet#0]: HashSetNode[MClass] */
-&type_hash_collection__HashSetIteratormodel__MClass, /* HashSetIterator[HashSet#0]: HashSetIterator[MClass] */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[HashSet#0]: Collection[MClass] */
-&type_model__MClass, /* SimpleCollection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Set#0]: Collection[MClass] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MClass]] */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[SimpleCollection#0]: Collection[MClass] */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashSetNodemodel__MClass, /* nullable HashCollection#1: nullable HashSetNode[MClass] */
-&type_hash_collection__HashSetNodemodel__MClass, /* HashCollection#1: HashSetNode[MClass] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+&type_kernel__Int, /* Sequence#0: Int */
+&type_kernel__Int, /* SimpleCollection#0: Int */
+&type_array__NativeArraykernel__Int, /* NativeArray[Array#0]: NativeArray[Int] */
+&type_array__Arraykernel__Int, /* Array[Array#0]: Array[Int] */
+&type_array__NativeArraykernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[Int] */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Sequence#0]: Collection[Int] */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[SimpleCollection#0]: Collection[Int] */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_kernel__Int, /* SequenceRead#0: Int */
+&type_kernel__Int, /* AbstractArrayRead#0: Int */
+&type_array__Arraykernel__Int, /* Array[AbstractArrayRead#0]: Array[Int] */
+&type_array__ArrayIteratorkernel__Int, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Int] */
 }
 };
-/* runtime type Set[MClass] */
-const struct type type_abstract_collection__Setmodel__MClass = {
-2250,
-"Set[MClass]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Int] */
+const struct type type_array__AbstractArrayReadkernel__Int = {
+1652,
+"AbstractArrayRead[Int]", /* class_name_string */
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSet[MMethodDef] */
-const struct type type_hash_collection__HashSetmodel__MMethodDef = {
-2804,
-"HashSet[MMethodDef]", /* class_name_string */
-2,
+/* runtime type Parser */
+const struct type type_parser_work__Parser = {
+-1, /*CAST DEAD*/
+"Parser", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetmodel__MMethodDef,
-13,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2804, /* HashSet[MMethodDef] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-124, /* Collection[nullable MPropDef] */
-646, /* Collection[PropertyLayoutElement] */
-1872, /* HashSet[Object] */
-2041, /* Set[PropertyLayoutElement] */
-2490, /* HashSet[PropertyLayoutElement] */
-2042, /* Collection[MPropDef] */
--1, /* empty */
-2251, /* Collection[MMethodDef] */
+115, /* TablesCapable */
+614, /* Parser */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MMethodDef = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetNodemodel__MMethodDef, /* HashSetNode[HashSet#0]: HashSetNode[MMethodDef] */
-&type_hash_collection__HashSetIteratormodel__MMethodDef, /* HashSetIterator[HashSet#0]: HashSetIterator[MMethodDef] */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[HashSet#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* SimpleCollection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Set#0]: Collection[MMethodDef] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MMethodDef]] */
-NULL, /* empty */
-&type_model__MMethodDef, /* RemovableCollection#0: MMethodDef */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* Collection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* HashCollection#0: MMethodDef */
-&type_nullable_hash_collection__HashSetNodemodel__MMethodDef, /* nullable HashCollection#1: nullable HashSetNode[MMethodDef] */
-&type_hash_collection__HashSetNodemodel__MMethodDef, /* HashCollection#1: HashSetNode[MMethodDef] */
-&type_nullable_model__MMethodDef, /* nullable HashCollection#0: nullable MMethodDef */
-}
-};
-/* runtime type HashSet[PropertyLayoutElement] */
-const struct type type_hash_collection__HashSetlayout_builders__PropertyLayoutElement = {
-2490,
-"HashSet[PropertyLayoutElement]", /* class_name_string */
-9,
+/* runtime type ANodes[AClassdef] */
+const struct type type_parser_nodes__ANodesparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"ANodes[AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetlayout_builders__PropertyLayoutElement,
+&resolution_table_parser_nodes__ANodesparser_nodes__AClassdef,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-655, /* Set[Object] */
-92, /* Collection[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1318, /* Collection[Prod] */
 -1, /* empty */
-646, /* Collection[PropertyLayoutElement] */
-1872, /* HashSet[Object] */
-2041, /* Set[PropertyLayoutElement] */
-2490, /* HashSet[PropertyLayoutElement] */
+1473, /* Collection[AClassdef] */
+1865, /* ANodes[AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* HashSetNode[HashSet#0]: HashSetNode[PropertyLayoutElement] */
-&type_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement, /* HashSetIterator[HashSet#0]: HashSetIterator[PropertyLayoutElement] */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[HashSet#0]: Collection[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* SimpleCollection#0: PropertyLayoutElement */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Set#0]: Collection[PropertyLayoutElement] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-NULL, /* empty */
-&type_layout_builders__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
-NULL, /* empty */
+&type_parser_nodes__AClassdef, /* Sequence#0: AClassdef */
+&type_parser_nodes__AClassdef, /* SimpleCollection#0: AClassdef */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[ANodes#0]: Array[AClassdef] */
+&type_parser_nodes__AClassdef, /* ANodes#0: AClassdef */
 NULL, /* empty */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[SimpleCollection#0]: Collection[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* HashCollection#0: PropertyLayoutElement */
-&type_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* nullable HashCollection#1: nullable HashSetNode[PropertyLayoutElement] */
-&type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* HashCollection#1: HashSetNode[PropertyLayoutElement] */
-&type_nullable_layout_builders__PropertyLayoutElement, /* nullable HashCollection#0: nullable PropertyLayoutElement */
+&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
+&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Sequence#0]: Collection[AClassdef] */
+&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[SimpleCollection#0]: Collection[AClassdef] */
+&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
+&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
+&type_parser_nodes__AClassdef, /* SequenceRead#0: AClassdef */
 }
 };
-/* runtime type Set[PropertyLayoutElement] */
-const struct type type_abstract_collection__Setlayout_builders__PropertyLayoutElement = {
-2041,
-"Set[PropertyLayoutElement]", /* class_name_string */
+/* runtime type Collection[AClassdef] */
+const struct type type_abstract_collection__Collectionparser_nodes__AClassdef = {
+1473,
+"Collection[AClassdef]", /* class_name_string */
 8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type Collection[MMethodDef] */
-const struct type type_abstract_collection__Collectionmodel__MMethodDef = {
-2251,
-"Collection[MMethodDef]", /* class_name_string */
-12,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[nullable MPropDef] */
-const struct type type_abstract_collection__Collectionnullable_model__MPropDef = {
-124,
-"Collection[nullable MPropDef]", /* class_name_string */
-5,
+/* runtime type ANodes[APropdef] */
+const struct type type_parser_nodes__ANodesparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"ANodes[APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[MPropDef] */
-const struct type type_abstract_collection__Collectionmodel__MPropDef = {
-2042,
-"Collection[MPropDef]", /* class_name_string */
+&resolution_table_parser_nodes__ANodesparser_nodes__APropdef,
 10,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashSet[MMethod] */
-const struct type type_hash_collection__HashSetmodel__MMethod = {
-2836,
-"HashSet[MMethod]", /* class_name_string */
-11,
-0,
-&resolution_table_hash_collection__HashSetmodel__MMethod,
-14,
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* Collection[nullable MProperty] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2671, /* Set[MProperty] */
-646, /* Collection[PropertyLayoutElement] */
-1872, /* HashSet[Object] */
-2041, /* Set[PropertyLayoutElement] */
-2490, /* HashSet[PropertyLayoutElement] */
-2032, /* Collection[MProperty] */
-2836, /* HashSet[MMethod] */
-2252, /* Collection[MMethod] */
-2805, /* HashSet[MProperty] */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1318, /* Collection[Prod] */
+-1, /* empty */
+1474, /* Collection[APropdef] */
+1866, /* ANodes[APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MMethod = {
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodemodel__MMethod, /* HashSetNode[HashSet#0]: HashSetNode[MMethod] */
-&type_hash_collection__HashSetIteratormodel__MMethod, /* HashSetIterator[HashSet#0]: HashSetIterator[MMethod] */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[HashSet#0]: Collection[MMethod] */
-&type_model__MMethod, /* SimpleCollection#0: MMethod */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Set#0]: Collection[MMethod] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MMethod]] */
-NULL, /* empty */
-&type_model__MMethod, /* RemovableCollection#0: MMethod */
-NULL, /* empty */
+&type_parser_nodes__APropdef, /* Sequence#0: APropdef */
+&type_parser_nodes__APropdef, /* SimpleCollection#0: APropdef */
+&type_array__Arrayparser_nodes__APropdef, /* Array[ANodes#0]: Array[APropdef] */
+&type_parser_nodes__APropdef, /* ANodes#0: APropdef */
 NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[SimpleCollection#0]: Collection[MMethod] */
-&type_model__MMethod, /* Collection#0: MMethod */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Collection#0]: Collection[MMethod] */
-&type_model__MMethod, /* HashCollection#0: MMethod */
-&type_nullable_hash_collection__HashSetNodemodel__MMethod, /* nullable HashCollection#1: nullable HashSetNode[MMethod] */
-&type_hash_collection__HashSetNodemodel__MMethod, /* HashCollection#1: HashSetNode[MMethod] */
-&type_nullable_model__MMethod, /* nullable HashCollection#0: nullable MMethod */
+&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
+&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Sequence#0]: Collection[APropdef] */
+&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[SimpleCollection#0]: Collection[APropdef] */
+&type_parser_nodes__APropdef, /* Collection#0: APropdef */
+&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
+&type_parser_nodes__APropdef, /* SequenceRead#0: APropdef */
 }
 };
-/* runtime type HashSet[MProperty] */
-const struct type type_hash_collection__HashSetmodel__MProperty = {
-2805,
-"HashSet[MProperty]", /* class_name_string */
-13,
+/* runtime type Collection[APropdef] */
+const struct type type_abstract_collection__Collectionparser_nodes__APropdef = {
+1474,
+"Collection[APropdef]", /* class_name_string */
+8,
 0,
-&resolution_table_hash_collection__HashSetmodel__MProperty,
-14,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type TransformVisitor */
+const struct type type_transform__TransformVisitor = {
+-1, /*CAST DEAD*/
+"TransformVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* Collection[nullable MProperty] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2671, /* Set[MProperty] */
-646, /* Collection[PropertyLayoutElement] */
-1872, /* HashSet[Object] */
-2041, /* Set[PropertyLayoutElement] */
-2490, /* HashSet[PropertyLayoutElement] */
-2032, /* Collection[MProperty] */
--1, /* empty */
--1, /* empty */
-2805, /* HashSet[MProperty] */
+117, /* TransformVisitor */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MProperty = {
-0, /* dummy */
+/* runtime type ASTValidationVisitor */
+const struct type type_astvalidation__ASTValidationVisitor = {
+-1, /*CAST DEAD*/
+"ASTValidationVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
-&type_hash_collection__HashSetNodemodel__MProperty, /* HashSetNode[HashSet#0]: HashSetNode[MProperty] */
-&type_hash_collection__HashSetIteratormodel__MProperty, /* HashSetIterator[HashSet#0]: HashSetIterator[MProperty] */
-&type_abstract_collection__Collectionmodel__MProperty, /* Collection[HashSet#0]: Collection[MProperty] */
-&type_model__MProperty, /* SimpleCollection#0: MProperty */
-&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Set#0]: Collection[MProperty] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MProperty]] */
-NULL, /* empty */
-&type_model__MProperty, /* RemovableCollection#0: MProperty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MProperty, /* Collection[SimpleCollection#0]: Collection[MProperty] */
-&type_model__MProperty, /* Collection#0: MProperty */
-&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Collection#0]: Collection[MProperty] */
-&type_model__MProperty, /* HashCollection#0: MProperty */
-&type_nullable_hash_collection__HashSetNodemodel__MProperty, /* nullable HashCollection#1: nullable HashSetNode[MProperty] */
-&type_hash_collection__HashSetNodemodel__MProperty, /* HashCollection#1: HashSetNode[MProperty] */
-&type_nullable_model__MProperty, /* nullable HashCollection#0: nullable MProperty */
-}
-};
-/* runtime type Set[MProperty] */
-const struct type type_abstract_collection__Setmodel__MProperty = {
-2671,
-"Set[MProperty]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[MMethod] */
-const struct type type_abstract_collection__Collectionmodel__MMethod = {
-2252,
-"Collection[MMethod]", /* class_name_string */
-12,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+0, /* nullable Object */
+1, /* Object */
+118, /* ASTValidationVisitor */
+},
 };
-/* runtime type List[MMethodDef] */
-const struct type type_list__Listmodel__MMethodDef = {
-2672,
-"List[MMethodDef]", /* class_name_string */
-2,
+/* runtime type List[ANode] */
+const struct type type_list__Listparser_nodes__ANode = {
+1475,
+"List[ANode]", /* class_name_string */
+6,
 0,
-&resolution_table_list__Listmodel__MMethodDef,
-13,
+&resolution_table_list__Listparser_nodes__ANode,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-2672, /* List[MMethodDef] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-124, /* Collection[nullable MPropDef] */
-646, /* Collection[PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2042, /* Collection[MPropDef] */
 -1, /* empty */
-2251, /* Collection[MMethodDef] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1475, /* List[ANode] */
 },
 };
-const struct types resolution_table_list__Listmodel__MMethodDef = {
+const struct types resolution_table_list__Listparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_list__Listmodel__MMethodDef, /* List[List#0]: List[MMethodDef] */
-&type_list__ListNodemodel__MMethodDef, /* ListNode[List#0]: ListNode[MMethodDef] */
-&type_model__MMethodDef, /* Sequence#0: MMethodDef */
-&type_model__MMethodDef, /* SimpleCollection#0: MMethodDef */
-&type_list__ListIteratormodel__MMethodDef, /* ListIterator[List#0]: ListIterator[MMethodDef] */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[List#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* List#0: MMethodDef */
-&type_nullable_list__ListNodemodel__MMethodDef, /* nullable ListNode[List#0]: nullable ListNode[MMethodDef] */
-&type_model__MMethodDef, /* RemovableCollection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Sequence#0]: Collection[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* Array[Sequence#0]: Array[MMethodDef] */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* Collection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* SequenceRead#0: MMethodDef */
+&type_parser_nodes__ANode, /* Sequence#0: ANode */
+&type_parser_nodes__ANode, /* SimpleCollection#0: ANode */
+&type_list__ListNodeparser_nodes__ANode, /* ListNode[List#0]: ListNode[ANode] */
+&type_list__ListIteratorparser_nodes__ANode, /* ListIterator[List#0]: ListIterator[ANode] */
+&type_parser_nodes__ANode, /* List#0: ANode */
+&type_parser_nodes__ANode, /* RemovableCollection#0: ANode */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Sequence#0]: Collection[ANode] */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[SimpleCollection#0]: Collection[ANode] */
+&type_parser_nodes__ANode, /* Collection#0: ANode */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Collection#0]: Collection[ANode] */
+&type_parser_nodes__ANode, /* SequenceRead#0: ANode */
+&type_nullable_list__ListNodeparser_nodes__ANode, /* nullable ListNode[List#0]: nullable ListNode[ANode] */
 }
 };
-/* runtime type GlobalCompiler */
-const struct type type_global_compiler__GlobalCompiler = {
-667,
-"GlobalCompiler", /* class_name_string */
-3,
+/* runtime type HashSet[ANode] */
+const struct type type_hash_collection__HashSetparser_nodes__ANode = {
+1653,
+"HashSet[ANode]", /* class_name_string */
+9,
 0,
-&resolution_table_global_compiler__GlobalCompiler,
-4,
+&resolution_table_hash_collection__HashSetparser_nodes__ANode,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* AbstractCompiler */
-667, /* GlobalCompiler */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+-1, /* empty */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1653, /* HashSet[ANode] */
 },
 };
-const struct types resolution_table_global_compiler__GlobalCompiler = {
+const struct types resolution_table_hash_collection__HashSetparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_global_compiler__GlobalCompilerVisitor, /* VISITOR: GlobalCompilerVisitor */
+&type_hash_collection__HashSetNodeparser_nodes__ANode, /* HashSetNode[HashSet#0]: HashSetNode[ANode] */
+&type_parser_nodes__ANode, /* SimpleCollection#0: ANode */
+&type_hash_collection__HashSetIteratorparser_nodes__ANode, /* HashSetIterator[HashSet#0]: HashSetIterator[ANode] */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Set#0]: Collection[ANode] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodeparser_nodes__ANode, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[ANode]] */
+&type_parser_nodes__ANode, /* RemovableCollection#0: ANode */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[HashSet#0]: Collection[ANode] */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[SimpleCollection#0]: Collection[ANode] */
+&type_parser_nodes__ANode, /* Collection#0: ANode */
+&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Collection#0]: Collection[ANode] */
+NULL, /* empty */
+&type_parser_nodes__ANode, /* HashCollection#0: ANode */
+&type_nullable_hash_collection__HashSetNodeparser_nodes__ANode, /* nullable HashCollection#1: nullable HashSetNode[ANode] */
+&type_hash_collection__HashSetNodeparser_nodes__ANode, /* HashCollection#1: HashSetNode[ANode] */
+&type_nullable_parser_nodes__ANode, /* nullable HashCollection#0: nullable ANode */
 }
 };
-/* runtime type HashMap[MClassType, String] */
-const struct type type_hash_collection__HashMapmodel__MClassTypestring__String = {
-125,
-"HashMap[MClassType, String]", /* class_name_string */
-2,
+/* runtime type RapidTypeAnalysis */
+const struct type type_rapid_type_analysis__RapidTypeAnalysis = {
+-1, /*CAST DEAD*/
+"RapidTypeAnalysis", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassTypestring__String,
+NULL, /*NO RESOLUTIONS*/
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-125, /* HashMap[MClassType, String] */
+119, /* RapidTypeAnalysis */
+},
+};
+/* runtime type HashSet[MClassType] */
+const struct type type_hash_collection__HashSetmodel__MClassType = {
+2147,
+"HashSet[MClassType]", /* class_name_string */
+13,
+0,
+&resolution_table_hash_collection__HashSetmodel__MClassType,
+14,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+1316, /* Collection[MType] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1654, /* Set[MType] */
+1464, /* Collection[MClassType] */
+2029, /* HashSet[MType] */
+2030, /* Set[MClassType] */
+2147, /* HashSet[MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassTypestring__String = {
+const struct types resolution_table_hash_collection__HashSetmodel__MClassType = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetNodemodel__MClassType, /* HashSetNode[HashSet#0]: HashSetNode[MClassType] */
+&type_model__MClassType, /* SimpleCollection#0: MClassType */
+&type_hash_collection__HashSetIteratormodel__MClassType, /* HashSetIterator[HashSet#0]: HashSetIterator[MClassType] */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Set#0]: Collection[MClassType] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MClassType]] */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[HashSet#0]: Collection[MClassType] */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[MClassType] */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* MapRead#0: MClassType */
-&type_hash_collection__HashMapKeysmodel__MClassTypestring__String, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, String] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypestring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, String]] */
-&type_hash_collection__HashMapValuesmodel__MClassTypestring__String, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, String] */
-&type_hash_collection__HashMapIteratormodel__MClassTypestring__String, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, String] */
-&type_model__MClassType, /* Map#0: MClassType */
-&type_string__String, /* Map#1: String */
-&type_hash_collection__HashMapNodemodel__MClassTypestring__String, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, String] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClassType, String] not a live type) */
-&type_string__String, /* MapRead#1: String */
 &type_model__MClassType, /* HashCollection#0: MClassType */
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypestring__String, /* nullable HashCollection#1: nullable HashMapNode[MClassType, String] */
-&type_hash_collection__HashMapNodemodel__MClassTypestring__String, /* HashCollection#1: HashMapNode[MClassType, String] */
+&type_nullable_hash_collection__HashSetNodemodel__MClassType, /* nullable HashCollection#1: nullable HashSetNode[MClassType] */
+&type_hash_collection__HashSetNodemodel__MClassType, /* HashCollection#1: HashSetNode[MClassType] */
 &type_nullable_model__MClassType, /* nullable HashCollection#0: nullable MClassType */
 }
 };
-/* runtime type List[AbstractRuntimeFunction] */
-const struct type type_list__Listabstract_compiler__AbstractRuntimeFunction = {
-2043,
-"List[AbstractRuntimeFunction]", /* class_name_string */
-2,
+/* runtime type HashSet[MType] */
+const struct type type_hash_collection__HashSetmodel__MType = {
+2029,
+"HashSet[MType]", /* class_name_string */
+11,
 0,
-&resolution_table_list__Listabstract_compiler__AbstractRuntimeFunction,
-6,
+&resolution_table_hash_collection__HashSetmodel__MType,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-2043, /* List[AbstractRuntimeFunction] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-668, /* Collection[AbstractRuntimeFunction] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+1316, /* Collection[MType] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1654, /* Set[MType] */
+-1, /* empty */
+2029, /* HashSet[MType] */
 },
 };
-const struct types resolution_table_list__Listabstract_compiler__AbstractRuntimeFunction = {
+const struct types resolution_table_hash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_list__Listabstract_compiler__AbstractRuntimeFunction, /* List[List#0]: List[AbstractRuntimeFunction] */
-&type_list__ListNodeabstract_compiler__AbstractRuntimeFunction, /* ListNode[List#0]: ListNode[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Sequence#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SimpleCollection#0: AbstractRuntimeFunction */
-&type_list__ListIteratorabstract_compiler__AbstractRuntimeFunction, /* ListIterator[List#0]: ListIterator[AbstractRuntimeFunction] */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[List#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* List#0: AbstractRuntimeFunction */
-&type_nullable_list__ListNodeabstract_compiler__AbstractRuntimeFunction, /* nullable ListNode[List#0]: nullable ListNode[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* RemovableCollection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Sequence#0]: Collection[AbstractRuntimeFunction] */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Sequence#0]: Array[AbstractRuntimeFunction] */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[SimpleCollection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Collection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Collection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SequenceRead#0: AbstractRuntimeFunction */
+&type_hash_collection__HashSetNodemodel__MType, /* HashSetNode[HashSet#0]: HashSetNode[MType] */
+&type_model__MType, /* SimpleCollection#0: MType */
+&type_hash_collection__HashSetIteratormodel__MType, /* HashSetIterator[HashSet#0]: HashSetIterator[MType] */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Set#0]: Collection[MType] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MType]] */
+&type_model__MType, /* RemovableCollection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[HashSet#0]: Collection[MType] */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[SimpleCollection#0]: Collection[MType] */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+NULL, /* empty */
+&type_model__MType, /* HashCollection#0: MType */
+&type_nullable_hash_collection__HashSetNodemodel__MType, /* nullable HashCollection#1: nullable HashSetNode[MType] */
+&type_hash_collection__HashSetNodemodel__MType, /* HashCollection#1: HashSetNode[MType] */
+&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
 }
 };
-/* runtime type Collection[AbstractRuntimeFunction] */
-const struct type type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction = {
-668,
-"Collection[AbstractRuntimeFunction]", /* class_name_string */
-5,
+/* runtime type Set[MClassType] */
+const struct type type_abstract_collection__Setmodel__MClassType = {
+2030,
+"Set[MClassType]", /* class_name_string */
+12,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSet[AbstractRuntimeFunction] */
-const struct type type_hash_collection__HashSetabstract_compiler__AbstractRuntimeFunction = {
-2253,
-"HashSet[AbstractRuntimeFunction]", /* class_name_string */
-2,
+/* runtime type Set[MType] */
+const struct type type_abstract_collection__Setmodel__MType = {
+1654,
+"Set[MType]", /* class_name_string */
+9,
 0,
-&resolution_table_hash_collection__HashSetabstract_compiler__AbstractRuntimeFunction,
-8,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[MClass] */
+const struct type type_hash_collection__HashSetmodel__MClass = {
+2031,
+"HashSet[MClass]", /* class_name_string */
+10,
+0,
+&resolution_table_hash_collection__HashSetmodel__MClass,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-2253, /* HashSet[AbstractRuntimeFunction] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-668, /* Collection[AbstractRuntimeFunction] */
+91, /* Collection[nullable MClass] */
+-1, /* empty */
+84, /* Collection[Object] */
+1312, /* Collection[MClass] */
 -1, /* empty */
-1872, /* HashSet[Object] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1655, /* Set[MClass] */
+2031, /* HashSet[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetabstract_compiler__AbstractRuntimeFunction = {
+const struct types resolution_table_hash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* HashSetNode[HashSet#0]: HashSetNode[AbstractRuntimeFunction] */
-&type_hash_collection__HashSetIteratorabstract_compiler__AbstractRuntimeFunction, /* HashSetIterator[HashSet#0]: HashSetIterator[AbstractRuntimeFunction] */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[HashSet#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SimpleCollection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Set#0]: Collection[AbstractRuntimeFunction] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[AbstractRuntimeFunction]] */
-NULL, /* empty */
-&type_abstract_compiler__AbstractRuntimeFunction, /* RemovableCollection#0: AbstractRuntimeFunction */
-NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MClass, /* HashSetNode[HashSet#0]: HashSetNode[MClass] */
+&type_model__MClass, /* SimpleCollection#0: MClass */
+&type_hash_collection__HashSetIteratormodel__MClass, /* HashSetIterator[HashSet#0]: HashSetIterator[MClass] */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Set#0]: Collection[MClass] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MClass]] */
+&type_model__MClass, /* RemovableCollection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[HashSet#0]: Collection[MClass] */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[SimpleCollection#0]: Collection[MClass] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 NULL, /* empty */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[SimpleCollection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Collection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Collection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* HashCollection#0: AbstractRuntimeFunction */
-&type_nullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* nullable HashCollection#1: nullable HashSetNode[AbstractRuntimeFunction] */
-&type_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* HashCollection#1: HashSetNode[AbstractRuntimeFunction] */
-&type_nullable_abstract_compiler__AbstractRuntimeFunction, /* nullable HashCollection#0: nullable AbstractRuntimeFunction */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashSetNodemodel__MClass, /* nullable HashCollection#1: nullable HashSetNode[MClass] */
+&type_hash_collection__HashSetNodemodel__MClass, /* HashCollection#1: HashSetNode[MClass] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
 }
 };
-/* runtime type HashMap[MType, Array[MClassType]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MClassType = {
-1877,
-"HashMap[MType, Array[MClassType]]", /* class_name_string */
-4,
+/* runtime type Set[MClass] */
+const struct type type_abstract_collection__Setmodel__MClass = {
+1655,
+"Set[MClass]", /* class_name_string */
+9,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MClassType,
-5,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[MMethodDef] */
+const struct type type_hash_collection__HashSetmodel__MMethodDef = {
+2163,
+"HashSet[MMethodDef]", /* class_name_string */
+15,
+0,
+&resolution_table_hash_collection__HashSetmodel__MMethodDef,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-119, /* HashMap[MType, Array[nullable MType]] */
-669, /* HashMap[MType, Array[MType]] */
-1877, /* HashMap[MType, Array[MClassType]] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+120, /* Collection[nullable MPropDef] */
+596, /* Collection[PropertyLayoutElement] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1476, /* Set[PropertyLayoutElement] */
+1477, /* Collection[MPropDef] */
+-1, /* empty */
+1867, /* HashSet[PropertyLayoutElement] */
+1656, /* Collection[MMethodDef] */
+2109, /* Set[MMethodDef] */
+2163, /* HashSet[MMethodDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MClassType = {
+const struct types resolution_table_hash_collection__HashSetmodel__MMethodDef = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetNodemodel__MMethodDef, /* HashSetNode[HashSet#0]: HashSetNode[MMethodDef] */
+&type_model__MMethodDef, /* SimpleCollection#0: MMethodDef */
+&type_hash_collection__HashSetIteratormodel__MMethodDef, /* HashSetIterator[HashSet#0]: HashSetIterator[MMethodDef] */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Set#0]: Collection[MMethodDef] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MMethodDef]] */
+&type_model__MMethodDef, /* RemovableCollection#0: MMethodDef */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[HashSet#0]: Collection[MMethodDef] */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[MMethodDef] */
+&type_model__MMethodDef, /* Collection#0: MMethodDef */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MClassType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MClassType]]] */
-&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MClassType]] */
-&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MClassType]] */
-&type_model__MType, /* Map#0: MType */
-&type_array__Arraymodel__MClassType, /* Map#1: Array[MClassType] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MClassType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MClassType]] not a live type) */
-&type_array__Arraymodel__MClassType, /* MapRead#1: Array[MClassType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[MClassType]] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* HashCollection#1: HashMapNode[MType, Array[MClassType]] */
-&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
+&type_model__MMethodDef, /* HashCollection#0: MMethodDef */
+&type_nullable_hash_collection__HashSetNodemodel__MMethodDef, /* nullable HashCollection#1: nullable HashSetNode[MMethodDef] */
+&type_hash_collection__HashSetNodemodel__MMethodDef, /* HashCollection#1: HashSetNode[MMethodDef] */
+&type_nullable_model__MMethodDef, /* nullable HashCollection#0: nullable MMethodDef */
 }
 };
-/* runtime type HashMap[MType, Array[MType]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType = {
-669,
-"HashMap[MType, Array[MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType,
-4,
+/* runtime type HashSet[PropertyLayoutElement] */
+const struct type type_hash_collection__HashSetseparate_compiler__PropertyLayoutElement = {
+1867,
+"HashSet[PropertyLayoutElement]", /* class_name_string */
+12,
+0,
+&resolution_table_hash_collection__HashSetseparate_compiler__PropertyLayoutElement,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-119, /* HashMap[MType, Array[nullable MType]] */
-669, /* HashMap[MType, Array[MType]] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+-1, /* empty */
+596, /* Collection[PropertyLayoutElement] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1476, /* Set[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+1867, /* HashSet[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType = {
+const struct types resolution_table_hash_collection__HashSetseparate_compiler__PropertyLayoutElement = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetNodeseparate_compiler__PropertyLayoutElement, /* HashSetNode[HashSet#0]: HashSetNode[PropertyLayoutElement] */
+&type_separate_compiler__PropertyLayoutElement, /* SimpleCollection#0: PropertyLayoutElement */
+&type_hash_collection__HashSetIteratorseparate_compiler__PropertyLayoutElement, /* HashSetIterator[HashSet#0]: HashSetIterator[PropertyLayoutElement] */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[Set#0]: Collection[PropertyLayoutElement] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodeseparate_compiler__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+&type_separate_compiler__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[HashSet#0]: Collection[PropertyLayoutElement] */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[SimpleCollection#0]: Collection[PropertyLayoutElement] */
+&type_separate_compiler__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
+&type_abstract_collection__Collectionseparate_compiler__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MType]]] */
-&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MType]] */
-&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MType]] */
-&type_model__MType, /* Map#0: MType */
-&type_array__Arraymodel__MType, /* Map#1: Array[MType] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MType]] not a live type) */
-&type_array__Arraymodel__MType, /* MapRead#1: Array[MType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[MType]] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* HashCollection#1: HashMapNode[MType, Array[MType]] */
-&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
+&type_separate_compiler__PropertyLayoutElement, /* HashCollection#0: PropertyLayoutElement */
+&type_nullable_hash_collection__HashSetNodeseparate_compiler__PropertyLayoutElement, /* nullable HashCollection#1: nullable HashSetNode[PropertyLayoutElement] */
+&type_hash_collection__HashSetNodeseparate_compiler__PropertyLayoutElement, /* HashCollection#1: HashSetNode[PropertyLayoutElement] */
+&type_nullable_separate_compiler__PropertyLayoutElement, /* nullable HashCollection#0: nullable PropertyLayoutElement */
 }
 };
-/* runtime type FlatStringIterator */
-const struct type type_string__FlatStringIterator = {
--1, /*CAST DEAD*/
-"FlatStringIterator", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Set[PropertyLayoutElement] */
+const struct type type_abstract_collection__Setseparate_compiler__PropertyLayoutElement = {
+1476,
+"Set[PropertyLayoutElement]", /* class_name_string */
+9,
 0,
-&resolution_table_string__FlatStringIterator,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-126, /* FlatStringIterator */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-const struct types resolution_table_string__FlatStringIterator = {
-0, /* dummy */
-{
-&type_array__Arraykernel__Char, /* Array[Iterator#0]: Array[Char] */
-}
+/* runtime type Set[MMethodDef] */
+const struct type type_abstract_collection__Setmodel__MMethodDef = {
+2109,
+"Set[MMethodDef]", /* class_name_string */
+14,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type Stdout */
-const struct type type_file__Stdout = {
--1, /*CAST DEAD*/
-"Stdout", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Collection[MMethodDef] */
+const struct type type_abstract_collection__Collectionmodel__MMethodDef = {
+1656,
+"Collection[MMethodDef]", /* class_name_string */
+13,
 0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-127, /* OFStream */
-670, /* Stdout */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type OFStream */
-const struct type type_file__OFStream = {
--1, /*CAST DEAD*/
-"OFStream", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Collection[MPropDef] */
+const struct type type_abstract_collection__Collectionmodel__MPropDef = {
+1477,
+"Collection[MPropDef]", /* class_name_string */
+10,
 0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-127, /* OFStream */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type FlatBufferIterator */
-const struct type type_string__FlatBufferIterator = {
--1, /*CAST DEAD*/
-"FlatBufferIterator", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Collection[nullable MPropDef] */
+const struct type type_abstract_collection__Collectionnullable_model__MPropDef = {
+120,
+"Collection[nullable MPropDef]", /* class_name_string */
+5,
 0,
-&resolution_table_string__FlatBufferIterator,
-3,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[MMethod] */
+const struct type type_hash_collection__HashSetmodel__MMethod = {
+2175,
+"HashSet[MMethod]", /* class_name_string */
+16,
+0,
+&resolution_table_hash_collection__HashSetmodel__MMethod,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-128, /* FlatBufferIterator */
+92, /* Collection[nullable MProperty] */
+-1, /* empty */
+84, /* Collection[Object] */
+-1, /* empty */
+596, /* Collection[PropertyLayoutElement] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1476, /* Set[PropertyLayoutElement] */
+1462, /* Collection[MProperty] */
+1657, /* Collection[MMethod] */
+1867, /* HashSet[PropertyLayoutElement] */
+2032, /* Set[MProperty] */
+-1, /* empty */
+2148, /* HashSet[MProperty] */
+2175, /* HashSet[MMethod] */
 },
 };
-const struct types resolution_table_string__FlatBufferIterator = {
+const struct types resolution_table_hash_collection__HashSetmodel__MMethod = {
 0, /* dummy */
 {
-&type_array__Arraykernel__Char, /* Array[Iterator#0]: Array[Char] */
+&type_hash_collection__HashSetNodemodel__MMethod, /* HashSetNode[HashSet#0]: HashSetNode[MMethod] */
+&type_model__MMethod, /* SimpleCollection#0: MMethod */
+&type_hash_collection__HashSetIteratormodel__MMethod, /* HashSetIterator[HashSet#0]: HashSetIterator[MMethod] */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Set#0]: Collection[MMethod] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MMethod]] */
+&type_model__MMethod, /* RemovableCollection#0: MMethod */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[HashSet#0]: Collection[MMethod] */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[SimpleCollection#0]: Collection[MMethod] */
+&type_model__MMethod, /* Collection#0: MMethod */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Collection#0]: Collection[MMethod] */
+NULL, /* empty */
+&type_model__MMethod, /* HashCollection#0: MMethod */
+&type_nullable_hash_collection__HashSetNodemodel__MMethod, /* nullable HashCollection#1: nullable HashSetNode[MMethod] */
+&type_hash_collection__HashSetNodemodel__MMethod, /* HashCollection#1: HashSetNode[MMethod] */
+&type_nullable_model__MMethod, /* nullable HashCollection#0: nullable MMethod */
 }
 };
-/* runtime type AnnotationPhaseVisitor */
-const struct type type_phase__AnnotationPhaseVisitor = {
--1, /*CAST DEAD*/
-"AnnotationPhaseVisitor", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashSet[MProperty] */
+const struct type type_hash_collection__HashSetmodel__MProperty = {
+2148,
+"HashSet[MProperty]", /* class_name_string */
+15,
 0,
-NULL, /*NO RESOLUTIONS*/
-3,
+&resolution_table_hash_collection__HashSetmodel__MProperty,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-129, /* AnnotationPhaseVisitor */
+92, /* Collection[nullable MProperty] */
+-1, /* empty */
+84, /* Collection[Object] */
+-1, /* empty */
+596, /* Collection[PropertyLayoutElement] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1476, /* Set[PropertyLayoutElement] */
+1462, /* Collection[MProperty] */
+-1, /* empty */
+1867, /* HashSet[PropertyLayoutElement] */
+2032, /* Set[MProperty] */
+-1, /* empty */
+2148, /* HashSet[MProperty] */
 },
 };
-/* runtime type HashMap[String, Int] */
-const struct type type_hash_collection__HashMapstring__Stringkernel__Int = {
-130,
-"HashMap[String, Int]", /* class_name_string */
-2,
+const struct types resolution_table_hash_collection__HashSetmodel__MProperty = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodemodel__MProperty, /* HashSetNode[HashSet#0]: HashSetNode[MProperty] */
+&type_model__MProperty, /* SimpleCollection#0: MProperty */
+&type_hash_collection__HashSetIteratormodel__MProperty, /* HashSetIterator[HashSet#0]: HashSetIterator[MProperty] */
+&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Set#0]: Collection[MProperty] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MProperty]] */
+&type_model__MProperty, /* RemovableCollection#0: MProperty */
+&type_abstract_collection__Collectionmodel__MProperty, /* Collection[HashSet#0]: Collection[MProperty] */
+&type_abstract_collection__Collectionmodel__MProperty, /* Collection[SimpleCollection#0]: Collection[MProperty] */
+&type_model__MProperty, /* Collection#0: MProperty */
+&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Collection#0]: Collection[MProperty] */
+NULL, /* empty */
+&type_model__MProperty, /* HashCollection#0: MProperty */
+&type_nullable_hash_collection__HashSetNodemodel__MProperty, /* nullable HashCollection#1: nullable HashSetNode[MProperty] */
+&type_hash_collection__HashSetNodemodel__MProperty, /* HashCollection#1: HashSetNode[MProperty] */
+&type_nullable_model__MProperty, /* nullable HashCollection#0: nullable MProperty */
+}
+};
+/* runtime type Set[MProperty] */
+const struct type type_abstract_collection__Setmodel__MProperty = {
+2032,
+"Set[MProperty]", /* class_name_string */
+13,
 0,
-&resolution_table_hash_collection__HashMapstring__Stringkernel__Int,
-3,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Collection[MMethod] */
+const struct type type_abstract_collection__Collectionmodel__MMethod = {
+1657,
+"Collection[MMethod]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[CallSite] */
+const struct type type_hash_collection__HashSettyping__CallSite = {
+1658,
+"HashSet[CallSite]", /* class_name_string */
+9,
+0,
+&resolution_table_hash_collection__HashSettyping__CallSite,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-130, /* HashMap[String, Int] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+615, /* Collection[CallSite] */
+-1, /* empty */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1658, /* HashSet[CallSite] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapstring__Stringkernel__Int = {
+const struct types resolution_table_hash_collection__HashSettyping__CallSite = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetNodetyping__CallSite, /* HashSetNode[HashSet#0]: HashSetNode[CallSite] */
+&type_typing__CallSite, /* SimpleCollection#0: CallSite */
+&type_hash_collection__HashSetIteratortyping__CallSite, /* HashSetIterator[HashSet#0]: HashSetIterator[CallSite] */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Set#0]: Collection[CallSite] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodetyping__CallSite, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[CallSite]] */
+&type_typing__CallSite, /* RemovableCollection#0: CallSite */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[HashSet#0]: Collection[CallSite] */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[SimpleCollection#0]: Collection[CallSite] */
+&type_typing__CallSite, /* Collection#0: CallSite */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Collection#0]: Collection[CallSite] */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapKeysstring__Stringkernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringkernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Int]] */
-&type_hash_collection__HashMapValuesstring__Stringkernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Int] */
-&type_hash_collection__HashMapIteratorstring__Stringkernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Int] */
-&type_string__String, /* Map#0: String */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodestring__Stringkernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Int] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Int] not a live type) */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_string__String, /* HashCollection#0: String */
-&type_nullable_hash_collection__HashMapNodestring__Stringkernel__Int, /* nullable HashCollection#1: nullable HashMapNode[String, Int] */
-&type_hash_collection__HashMapNodestring__Stringkernel__Int, /* HashCollection#1: HashMapNode[String, Int] */
-&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
+&type_typing__CallSite, /* HashCollection#0: CallSite */
+&type_nullable_hash_collection__HashSetNodetyping__CallSite, /* nullable HashCollection#1: nullable HashSetNode[CallSite] */
+&type_hash_collection__HashSetNodetyping__CallSite, /* HashCollection#1: HashSetNode[CallSite] */
+&type_nullable_typing__CallSite, /* nullable HashCollection#0: nullable CallSite */
 }
 };
-/* runtime type MClassColorer */
-const struct type type_layout_builders__MClassColorer = {
+/* runtime type Collection[CallSite] */
+const struct type type_abstract_collection__Collectiontyping__CallSite = {
+615,
+"Collection[CallSite]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMap2[MType, MProperty, Set[MMethodDef]] */
+const struct type type_more_collections__HashMap2model__MTypemodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
 -1, /*CAST DEAD*/
-"MClassColorer", /* class_name_string */
+"HashMap2[MType, MProperty, Set[MMethodDef]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MClassColorer,
+&resolution_table_more_collections__HashMap2model__MTypemodel__MPropertyabstract_collection__Setmodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-131, /* MClassColorer */
+121, /* HashMap2[MType, MProperty, Set[MMethodDef]] */
 },
 };
-const struct types resolution_table_layout_builders__MClassColorer = {
+const struct types resolution_table_more_collections__HashMap2model__MTypemodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MClass, /* HashSet[TypingColorer#0]: HashSet[MClass] */
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[TypingColorer#0, Int]: HashMap[MClass, Int] */
-&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[TypingColorer#0, Array[TypingColorer#0]]: HashMap[MClass, Array[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* Set[TypingColorer#0]: Set[MClass] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[TypingColorer#0, Int]: Map[MClass, Int] */
-&type_layout_builders__POSetBuildermodel__MClass, /* POSetBuilder[TypingColorer#0]: POSetBuilder[MClass] */
-&type_nullable_poset__POSetmodel__MClass, /* nullable POSet[TypingColorer#0]: nullable POSet[MClass] */
-&type_layout_builders__Layoutmodel__MClass, /* Layout[TypingColorer#0]: Layout[MClass] */
-&type_model__MClass, /* TypingColorer#0: MClass */
-&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[TypingColorer#0, HashSet[TypingColorer#0]]: HashMap[MClass, HashSet[MClass]] */
-&type_nullable_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* nullable HashMap[TypingColorer#0, Set[TypingColorer#0]]: nullable HashMap[MClass, Set[MClass]] */
-NULL, /* empty (Map[TypingColorer#0, Array[TypingColorer#0]]: Map[MClass, Array[MClass]] not a live type) */
-&type_array__Arraymodel__MClass, /* Array[TypingColorer#0]: Array[MClass] */
-&type_abstract_collection__Setmodel__MClass, /* Set[TypingLayoutBuilder#0]: Set[MClass] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MType, HashMap[MProperty, Set[MMethodDef]]] */
+&type_model__MType, /* HashMap2#0: MType */
+&type_model__MProperty, /* HashMap2#1: MProperty */
+&type_abstract_collection__Setmodel__MMethodDef, /* HashMap2#2: Set[MMethodDef] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MProperty, Set[MMethodDef]] */
 }
 };
-/* runtime type MClassHasher */
-const struct type type_layout_builders__MClassHasher = {
+/* runtime type Array[MMethod] */
+const struct type type_array__Arraymodel__MMethod = {
 -1, /*CAST DEAD*/
-"MClassHasher", /* class_name_string */
+"Array[MMethod]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MClassHasher,
-3,
+&resolution_table_array__Arraymodel__MMethod,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-132, /* MClassHasher */
+92, /* Collection[nullable MProperty] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+1314, /* AbstractArrayRead[nullable MProperty] */
+596, /* Collection[PropertyLayoutElement] */
+1294, /* AbstractArrayRead[Object] */
+1461, /* Array[nullable MProperty] */
+1459, /* Array[Object] */
+1462, /* Collection[MProperty] */
+1657, /* Collection[MMethod] */
+1647, /* AbstractArrayRead[PropertyLayoutElement] */
+2119, /* AbstractArrayRead[MProperty] */
+2022, /* Array[PropertyLayoutElement] */
+2164, /* AbstractArrayRead[MMethod] */
+2176, /* Array[MProperty] */
+2199, /* Array[MMethod] */
 },
 };
-const struct types resolution_table_layout_builders__MClassHasher = {
+const struct types resolution_table_array__Arraymodel__MMethod = {
 0, /* dummy */
 {
-&type_layout_builders__POSetBuildermodel__MClass, /* POSetBuilder[TypingHasher#0]: POSetBuilder[MClass] */
-&type_nullable_poset__POSetmodel__MClass, /* nullable POSet[TypingHasher#0]: nullable POSet[MClass] */
-&type_abstract_collection__Setmodel__MClass, /* Set[TypingHasher#0]: Set[MClass] */
-&type_layout_builders__PHLayoutmodel__MClassmodel__MClass, /* PHLayout[TypingHasher#0, TypingHasher#0]: PHLayout[MClass, MClass] */
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[TypingHasher#0, Int]: HashMap[MClass, Int] */
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[TypingHasher#0, Set[TypingHasher#0]]: HashMap[MClass, Set[MClass]] */
-&type_hash_collection__HashSetmodel__MClass, /* HashSet[TypingHasher#0]: HashSet[MClass] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass, /* Map[PerfectHasher#0, Set[PerfectHasher#1]]: Map[MClass, Set[MClass]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[PerfectHasher#1, Int]: Map[MClass, Int] */
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[PerfectHasher#0, Int]: HashMap[MClass, Int] */
-&type_abstract_collection__Setmodel__MClass, /* Set[PerfectHasher#1]: Set[MClass] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[PerfectHasher#0, Int]: Map[MClass, Int] */
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[PerfectHasher#0, Map[PerfectHasher#1, Int]]: HashMap[MClass, Map[MClass, Int]] */
-&type_abstract_collection__Setmodel__MClass, /* Set[TypingLayoutBuilder#0]: Set[MClass] */
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[PerfectHasher#1, Int]: HashMap[MClass, Int] */
+&type_model__MMethod, /* Sequence#0: MMethod */
+&type_model__MMethod, /* SimpleCollection#0: MMethod */
+&type_array__NativeArraymodel__MMethod, /* NativeArray[Array#0]: NativeArray[MMethod] */
+&type_array__Arraymodel__MMethod, /* Array[Array#0]: Array[MMethod] */
+&type_array__NativeArraymodel__MMethod, /* NativeArray[ArrayCapable#0]: NativeArray[MMethod] */
+&type_model__MMethod, /* RemovableCollection#0: MMethod */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Sequence#0]: Collection[MMethod] */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[SimpleCollection#0]: Collection[MMethod] */
+&type_model__MMethod, /* Collection#0: MMethod */
+&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Collection#0]: Collection[MMethod] */
+&type_model__MMethod, /* SequenceRead#0: MMethod */
+&type_model__MMethod, /* AbstractArrayRead#0: MMethod */
+&type_array__Arraymodel__MMethod, /* Array[AbstractArrayRead#0]: Array[MMethod] */
+&type_array__ArrayIteratormodel__MMethod, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MMethod] */
 }
 };
-/* runtime type PHModOperator */
-const struct type type_layout_builders__PHModOperator = {
--1, /*CAST DEAD*/
-"PHModOperator", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type AbstractArrayRead[MMethod] */
+const struct type type_array__AbstractArrayReadmodel__MMethod = {
+2164,
+"AbstractArrayRead[MMethod]", /* class_name_string */
+15,
 0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-133, /* PHModOperator */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type PHAndOperator */
-const struct type type_layout_builders__PHAndOperator = {
--1, /*CAST DEAD*/
-"PHAndOperator", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type List[MMethodDef] */
+const struct type type_list__Listmodel__MMethodDef = {
+2033,
+"List[MMethodDef]", /* class_name_string */
+14,
 0,
-NULL, /*NO RESOLUTIONS*/
-3,
+&resolution_table_list__Listmodel__MMethodDef,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-134, /* PHAndOperator */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+120, /* Collection[nullable MPropDef] */
+596, /* Collection[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1477, /* Collection[MPropDef] */
+-1, /* empty */
+-1, /* empty */
+1656, /* Collection[MMethodDef] */
+2033, /* List[MMethodDef] */
 },
 };
-/* runtime type MClassBMizer */
-const struct type type_layout_builders__MClassBMizer = {
--1, /*CAST DEAD*/
-"MClassBMizer", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_layout_builders__MClassBMizer,
-3,
+const struct types resolution_table_list__Listmodel__MMethodDef = {
+0, /* dummy */
 {
-0, /* nullable Object */
+&type_model__MMethodDef, /* Sequence#0: MMethodDef */
+&type_model__MMethodDef, /* SimpleCollection#0: MMethodDef */
+&type_list__ListNodemodel__MMethodDef, /* ListNode[List#0]: ListNode[MMethodDef] */
+&type_list__ListIteratormodel__MMethodDef, /* ListIterator[List#0]: ListIterator[MMethodDef] */
+&type_model__MMethodDef, /* List#0: MMethodDef */
+&type_model__MMethodDef, /* RemovableCollection#0: MMethodDef */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Sequence#0]: Collection[MMethodDef] */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[MMethodDef] */
+&type_model__MMethodDef, /* Collection#0: MMethodDef */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
+&type_model__MMethodDef, /* SequenceRead#0: MMethodDef */
+&type_nullable_list__ListNodemodel__MMethodDef, /* nullable ListNode[List#0]: nullable ListNode[MMethodDef] */
+}
+};
+/* runtime type SeparateCompiler */
+const struct type type_separate_compiler__SeparateCompiler = {
+616,
+"SeparateCompiler", /* class_name_string */
+3,
+0,
+&resolution_table_separate_compiler__SeparateCompiler,
+4,
+{
+0, /* nullable Object */
 1, /* Object */
-135, /* MClassBMizer */
+122, /* AbstractCompiler */
+616, /* SeparateCompiler */
 },
 };
-const struct types resolution_table_layout_builders__MClassBMizer = {
+const struct types resolution_table_separate_compiler__SeparateCompiler = {
+0, /* dummy */
+{
+&type_separate_compiler__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
+}
+};
+/* runtime type AbstractCompiler */
+const struct type type_abstract_compiler__AbstractCompiler = {
+122,
+"AbstractCompiler", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMap[MClassDef, HashSet[MType]] */
+const struct type type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType = {
+123,
+"HashMap[MClassDef, HashSet[MType]]", /* class_name_string */
+2,
+0,
+&resolution_table_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+123, /* HashMap[MClassDef, HashSet[MType]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_layout_builders__POSetBuildermodel__MClass, /* POSetBuilder[TypingBMizer#0]: POSetBuilder[MClass] */
-&type_nullable_poset__POSetmodel__MClass, /* nullable POSet[TypingBMizer#0]: nullable POSet[MClass] */
-&type_abstract_collection__Setmodel__MClass, /* Set[TypingBMizer#0]: Set[MClass] */
-&type_layout_builders__Layoutmodel__MClass, /* Layout[TypingBMizer#0]: Layout[MClass] */
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[TypingBMizer#0, Int]: HashMap[MClass, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClass, /* Set[TypingLayoutBuilder#0]: Set[MClass] */
+&type_model__MClassDef, /* MapRead#0: MClassDef */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
+&type_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassDef, HashSet[MType]] */
+&type_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassDef, HashSet[MType]] */
+&type_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassDef, HashSet[MType]] */
+&type_model__MClassDef, /* Map#0: MClassDef */
+&type_hash_collection__HashSetmodel__MType, /* Map#1: HashSet[MType] */
+&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassDef, HashSet[MType]] */
+&type_model__MClassDef, /* HashCollection#0: MClassDef */
+&type_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* nullable HashCollection#1: nullable HashMapNode[MClassDef, HashSet[MType]] */
+&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* HashCollection#1: HashMapNode[MClassDef, HashSet[MType]] */
+&type_nullable_model__MClassDef, /* nullable HashCollection#0: nullable MClassDef */
 }
 };
-/* runtime type HashMap[MClass, Set[MVirtualTypeProp]] */
-const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-2254,
-"HashMap[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-6,
+/* runtime type HashMap[MClass, Int] */
+const struct type type_hash_collection__HashMapmodel__MClasskernel__Int = {
+124,
+"HashMap[MClass, Int]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-7,
+&resolution_table_hash_collection__HashMapmodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-112, /* Map[MClass, Set[PropertyLayoutElement]] */
-656, /* HashMap[MClass, Set[PropertyLayoutElement]] */
-671, /* Map[MClass, Set[MVirtualTypeProp]] */
-1873, /* HashMap[MClass, Set[MProperty]] */
-2254, /* HashMap[MClass, Set[MVirtualTypeProp]] */
+124, /* HashMap[MClass, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
 &type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MVirtualTypeProp]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
-&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MVirtualTypeProp]] */
-&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MVirtualTypeProp]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Int]] */
+&type_hash_collection__HashMapKeysmodel__MClasskernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Int] */
+&type_hash_collection__HashMapValuesmodel__MClasskernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Int] */
+&type_hash_collection__HashMapIteratormodel__MClasskernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Int] */
 &type_model__MClass, /* Map#0: MClass */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Map#1: Set[MVirtualTypeProp] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MVirtualTypeProp]] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* Map[Map#0, Map#1]: Map[MClass, Set[MVirtualTypeProp]] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* MapRead#1: Set[MVirtualTypeProp] */
+&type_kernel__Int, /* Map#1: Int */
+&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Int] */
 &type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashCollection#1: HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* nullable HashCollection#1: nullable HashMapNode[MClass, Int] */
+&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* HashCollection#1: HashMapNode[MClass, Int] */
 &type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
 }
 };
-/* runtime type Map[MClass, Set[MVirtualTypeProp]] */
-const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-671,
-"Map[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-4,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashSet[MVirtualTypeProp] */
-const struct type type_hash_collection__HashSetmodel__MVirtualTypeProp = {
-2840,
-"HashSet[MVirtualTypeProp]", /* class_name_string */
-14,
+/* runtime type HashMap[MType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType = {
+125,
+"HashMap[MType, Array[nullable MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashSetmodel__MVirtualTypeProp,
-15,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* Collection[nullable MProperty] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2671, /* Set[MProperty] */
-646, /* Collection[PropertyLayoutElement] */
-1872, /* HashSet[Object] */
-2041, /* Set[PropertyLayoutElement] */
-2490, /* HashSet[PropertyLayoutElement] */
-2032, /* Collection[MProperty] */
-2776, /* Set[MVirtualTypeProp] */
-2255, /* Collection[MVirtualTypeProp] */
-2805, /* HashSet[MProperty] */
-2840, /* HashSet[MVirtualTypeProp] */
+125, /* HashMap[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* HashSetNode[HashSet#0]: HashSetNode[MVirtualTypeProp] */
-&type_hash_collection__HashSetIteratormodel__MVirtualTypeProp, /* HashSetIterator[HashSet#0]: HashSetIterator[MVirtualTypeProp] */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[HashSet#0]: Collection[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* SimpleCollection#0: MVirtualTypeProp */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Set#0]: Collection[MVirtualTypeProp] */
 NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
-NULL, /* empty */
-&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* HashCollection#0: MVirtualTypeProp */
-&type_nullable_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* nullable HashCollection#1: nullable HashSetNode[MVirtualTypeProp] */
-&type_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* HashCollection#1: HashSetNode[MVirtualTypeProp] */
-&type_nullable_model__MVirtualTypeProp, /* nullable HashCollection#0: nullable MVirtualTypeProp */
+&type_model__MType, /* MapRead#0: MType */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[nullable MType]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[nullable MType]] */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[nullable MType]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraynullable_model__MType, /* Map#1: Array[nullable MType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[nullable MType]] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[nullable MType]] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[MType, Array[nullable MType]] */
+&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
 }
 };
-/* runtime type Set[MVirtualTypeProp] */
-const struct type type_abstract_collection__Setmodel__MVirtualTypeProp = {
-2776,
-"Set[MVirtualTypeProp]", /* class_name_string */
-11,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[MVirtualTypeProp] */
-const struct type type_abstract_collection__Collectionmodel__MVirtualTypeProp = {
-2255,
-"Collection[MVirtualTypeProp]", /* class_name_string */
-12,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type MPropertyColorer[MVirtualTypeProp] */
-const struct type type_layout_builders__MPropertyColorermodel__MVirtualTypeProp = {
--1, /*CAST DEAD*/
-"MPropertyColorer[MVirtualTypeProp]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMap[MClassType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType = {
+617,
+"HashMap[MClassType, Array[nullable MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_layout_builders__MPropertyColorermodel__MVirtualTypeProp,
+&resolution_table_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-136, /* MPropertyColorer[PropertyLayoutElement] */
-672, /* MPropertyColorer[MVirtualTypeProp] */
+125, /* HashMap[MType, Array[nullable MType]] */
+617, /* HashMap[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_layout_builders__MPropertyColorermodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[MPropertyColorer#0, Int]: HashMap[MVirtualTypeProp, Int] */
-&type_abstract_collection__Mapmodel__MVirtualTypePropkernel__Int, /* Map[MPropertyColorer#0, Int]: Map[MVirtualTypeProp, Int] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* Map[MClass, Set[MPropertyColorer#0]]: Map[MClass, Set[MVirtualTypeProp]] */
-&type_layout_builders__Layoutmodel__MVirtualTypeProp, /* Layout[MPropertyColorer#0]: Layout[MVirtualTypeProp] */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[MPropertyColorer#0]: Collection[MVirtualTypeProp] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* Map[MClass, Set[PropertyLayoutBuilder#0]]: Map[MClass, Set[MVirtualTypeProp]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* MapRead#0: MClassType */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
+&type_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, Array[nullable MType]] */
+&type_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, Array[nullable MType]] */
+&type_hash_collection__HashMapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, Array[nullable MType]] */
+&type_model__MClassType, /* Map#0: MClassType */
+&type_array__Arraynullable_model__MType, /* Map#1: Array[nullable MType] */
+&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, Array[nullable MType]] */
+&type_model__MClassType, /* HashCollection#0: MClassType */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* nullable HashCollection#1: nullable HashMapNode[MClassType, Array[nullable MType]] */
+&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[MClassType, Array[nullable MType]] */
+&type_nullable_model__MClassType, /* nullable HashCollection#0: nullable MClassType */
 }
 };
-/* runtime type MPropertyColorer[PropertyLayoutElement] */
-const struct type type_layout_builders__MPropertyColorerlayout_builders__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"MPropertyColorer[PropertyLayoutElement]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMap[MClass, Array[nullable MPropDef]] */
+const struct type type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef = {
+126,
+"HashMap[MClass, Array[nullable MPropDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_layout_builders__MPropertyColorerlayout_builders__PropertyLayoutElement,
+&resolution_table_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-136, /* MPropertyColorer[PropertyLayoutElement] */
+126, /* HashMap[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_layout_builders__MPropertyColorerlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[MPropertyColorer#0, Int]: HashMap[PropertyLayoutElement, Int] */
-&type_abstract_collection__Maplayout_builders__PropertyLayoutElementkernel__Int, /* Map[MPropertyColorer#0, Int]: Map[PropertyLayoutElement, Int] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Map[MClass, Set[MPropertyColorer#0]]: Map[MClass, Set[PropertyLayoutElement]] */
-&type_layout_builders__Layoutlayout_builders__PropertyLayoutElement, /* Layout[MPropertyColorer#0]: Layout[PropertyLayoutElement] */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[MPropertyColorer#0]: Collection[PropertyLayoutElement] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Map[MClass, Set[PropertyLayoutBuilder#0]]: Map[MClass, Set[PropertyLayoutElement]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
+&type_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Array[nullable MPropDef]] */
+&type_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Array[nullable MPropDef]] */
+&type_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Array[nullable MPropDef]] */
+&type_model__MClass, /* Map#0: MClass */
+&type_array__Arraynullable_model__MPropDef, /* Map#1: Array[nullable MPropDef] */
+&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* nullable HashCollection#1: nullable HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* HashCollection#1: HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
 }
 };
-/* runtime type CodeFile */
-const struct type type_abstract_compiler__CodeFile = {
-137,
-"CodeFile", /* class_name_string */
+/* runtime type HashMap[String, String] */
+const struct type type_hash_collection__HashMapstring__Stringstring__String = {
+127,
+"HashMap[String, String]", /* class_name_string */
 2,
 0,
-NULL, /*NO RESOLUTIONS*/
+&resolution_table_hash_collection__HashMapstring__Stringstring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-137, /* CodeFile */
+127, /* HashMap[String, String] */
 },
 };
-/* runtime type Array[CodeWriter] */
-const struct type type_array__Arrayabstract_compiler__CodeWriter = {
-2673,
-"Array[CodeWriter]", /* class_name_string */
+const struct types resolution_table_hash_collection__HashMapstring__Stringstring__String = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* MapRead#0: String */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringstring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, String]] */
+&type_hash_collection__HashMapKeysstring__Stringstring__String, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, String] */
+&type_hash_collection__HashMapValuesstring__Stringstring__String, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, String] */
+&type_hash_collection__HashMapIteratorstring__Stringstring__String, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, String] */
+&type_string__String, /* Map#0: String */
+&type_string__String, /* Map#1: String */
+&type_hash_collection__HashMapNodestring__Stringstring__String, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, String] */
+&type_string__String, /* HashCollection#0: String */
+&type_nullable_hash_collection__HashMapNodestring__Stringstring__String, /* nullable HashCollection#1: nullable HashMapNode[String, String] */
+&type_hash_collection__HashMapNodestring__Stringstring__String, /* HashCollection#1: HashMapNode[String, String] */
+&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
+}
+};
+/* runtime type List[CodeFile] */
+const struct type type_list__Listabstract_compiler__CodeFile = {
+1478,
+"List[CodeFile]", /* class_name_string */
 6,
 0,
-&resolution_table_array__Arrayabstract_compiler__CodeWriter,
-10,
+&resolution_table_list__Listabstract_compiler__CodeFile,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-673, /* Collection[CodeWriter] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2256, /* AbstractArrayRead[CodeWriter] */
-2673, /* Array[CodeWriter] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+618, /* Collection[CodeFile] */
+1478, /* List[CodeFile] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_compiler__CodeWriter = {
+const struct types resolution_table_list__Listabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_compiler__CodeWriter, /* Array[Array#0]: Array[CodeWriter] */
-&type_array__NativeArrayabstract_compiler__CodeWriter, /* NativeArray[Array#0]: NativeArray[CodeWriter] */
-&type_abstract_compiler__CodeWriter, /* Sequence#0: CodeWriter */
-&type_abstract_compiler__CodeWriter, /* SimpleCollection#0: CodeWriter */
-&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[Array#0]: Collection[CodeWriter] */
-&type_abstract_compiler__CodeWriter, /* Array#0: CodeWriter */
-&type_array__NativeArrayabstract_compiler__CodeWriter, /* NativeArray[ArrayCapable#0]: NativeArray[CodeWriter] */
-&type_abstract_compiler__CodeWriter, /* AbstractArray#0: CodeWriter */
-&type_abstract_compiler__CodeWriter, /* RemovableCollection#0: CodeWriter */
-&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[Sequence#0]: Collection[CodeWriter] */
-&type_array__Arrayabstract_compiler__CodeWriter, /* Array[Sequence#0]: Array[CodeWriter] */
-&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[SimpleCollection#0]: Collection[CodeWriter] */
-&type_abstract_compiler__CodeWriter, /* Collection#0: CodeWriter */
-&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[Collection#0]: Collection[CodeWriter] */
-&type_abstract_compiler__CodeWriter, /* SequenceRead#0: CodeWriter */
-&type_abstract_compiler__CodeWriter, /* AbstractArrayRead#0: CodeWriter */
-&type_array__Arrayabstract_compiler__CodeWriter, /* Array[AbstractArrayRead#0]: Array[CodeWriter] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[CodeWriter] not a live type) */
-&type_array__ArrayIteratorabstract_compiler__CodeWriter, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CodeWriter] */
+&type_abstract_compiler__CodeFile, /* Sequence#0: CodeFile */
+&type_abstract_compiler__CodeFile, /* SimpleCollection#0: CodeFile */
+&type_list__ListNodeabstract_compiler__CodeFile, /* ListNode[List#0]: ListNode[CodeFile] */
+&type_list__ListIteratorabstract_compiler__CodeFile, /* ListIterator[List#0]: ListIterator[CodeFile] */
+&type_abstract_compiler__CodeFile, /* List#0: CodeFile */
+&type_abstract_compiler__CodeFile, /* RemovableCollection#0: CodeFile */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Sequence#0]: Collection[CodeFile] */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[SimpleCollection#0]: Collection[CodeFile] */
+&type_abstract_compiler__CodeFile, /* Collection#0: CodeFile */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Collection#0]: Collection[CodeFile] */
+&type_abstract_compiler__CodeFile, /* SequenceRead#0: CodeFile */
+&type_nullable_list__ListNodeabstract_compiler__CodeFile, /* nullable ListNode[List#0]: nullable ListNode[CodeFile] */
 }
 };
-/* runtime type Collection[CodeWriter] */
-const struct type type_abstract_collection__Collectionabstract_compiler__CodeWriter = {
-673,
-"Collection[CodeWriter]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[CodeWriter] */
-const struct type type_array__AbstractArrayReadabstract_compiler__CodeWriter = {
-2256,
-"AbstractArrayRead[CodeWriter]", /* class_name_string */
+/* runtime type Collection[CodeFile] */
+const struct type type_abstract_collection__Collectionabstract_compiler__CodeFile = {
+618,
+"Collection[CodeFile]", /* class_name_string */
 5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSet[String] */
-const struct type type_hash_collection__HashSetstring__String = {
-2491,
-"HashSet[String]", /* class_name_string */
+/* runtime type HashMap[String, ANode] */
+const struct type type_hash_collection__HashMapstring__Stringparser_nodes__ANode = {
+128,
+"HashMap[String, ANode]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashSetstring__String,
-8,
+&resolution_table_hash_collection__HashMapstring__Stringparser_nodes__ANode,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2491, /* HashSet[String] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-652, /* Collection[Streamable] */
-1870, /* Collection[String] */
-1872, /* HashSet[Object] */
+128, /* HashMap[String, ANode] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetstring__String = {
+const struct types resolution_table_hash_collection__HashMapstring__Stringparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodestring__String, /* HashSetNode[HashSet#0]: HashSetNode[String] */
-&type_hash_collection__HashSetIteratorstring__String, /* HashSetIterator[HashSet#0]: HashSetIterator[String] */
-&type_abstract_collection__Collectionstring__String, /* Collection[HashSet#0]: Collection[String] */
-&type_string__String, /* SimpleCollection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Set#0]: Collection[String] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodestring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[String]] */
 NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_string__String, /* MapRead#0: String */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, ANode]] */
+&type_hash_collection__HashMapKeysstring__Stringparser_nodes__ANode, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, ANode] */
+&type_hash_collection__HashMapValuesstring__Stringparser_nodes__ANode, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, ANode] */
+&type_hash_collection__HashMapIteratorstring__Stringparser_nodes__ANode, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, ANode] */
+&type_string__String, /* Map#0: String */
+&type_parser_nodes__ANode, /* Map#1: ANode */
+&type_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, ANode] */
 &type_string__String, /* HashCollection#0: String */
-&type_nullable_hash_collection__HashSetNodestring__String, /* nullable HashCollection#1: nullable HashSetNode[String] */
-&type_hash_collection__HashSetNodestring__String, /* HashCollection#1: HashSetNode[String] */
+&type_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* nullable HashCollection#1: nullable HashMapNode[String, ANode] */
+&type_hash_collection__HashMapNodestring__Stringparser_nodes__ANode, /* HashCollection#1: HashMapNode[String, ANode] */
 &type_nullable_string__String, /* nullable HashCollection#0: nullable String */
 }
 };
-/* runtime type MPropertyColorer[MAttribute] */
-const struct type type_layout_builders__MPropertyColorermodel__MAttribute = {
+/* runtime type Array[ExternFile] */
+const struct type type_array__Arrayc_tools__ExternFile = {
 -1, /*CAST DEAD*/
-"MPropertyColorer[MAttribute]", /* class_name_string */
+"Array[ExternFile]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MPropertyColorermodel__MAttribute,
-4,
+&resolution_table_array__Arrayc_tools__ExternFile,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-136, /* MPropertyColorer[PropertyLayoutElement] */
-674, /* MPropertyColorer[MAttribute] */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+619, /* Collection[ExternFile] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1659, /* AbstractArrayRead[ExternFile] */
+1459, /* Array[Object] */
+2034, /* Array[ExternFile] */
 },
 };
-const struct types resolution_table_layout_builders__MPropertyColorermodel__MAttribute = {
+const struct types resolution_table_array__Arrayc_tools__ExternFile = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[MPropertyColorer#0, Int]: HashMap[MAttribute, Int] */
-&type_abstract_collection__Mapmodel__MAttributekernel__Int, /* Map[MPropertyColorer#0, Int]: Map[MAttribute, Int] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MAttribute, /* Map[MClass, Set[MPropertyColorer#0]]: Map[MClass, Set[MAttribute]] */
-&type_layout_builders__Layoutmodel__MAttribute, /* Layout[MPropertyColorer#0]: Layout[MAttribute] */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[MPropertyColorer#0]: Collection[MAttribute] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MAttribute, /* Map[MClass, Set[PropertyLayoutBuilder#0]]: Map[MClass, Set[MAttribute]] */
+&type_c_tools__ExternFile, /* Sequence#0: ExternFile */
+&type_c_tools__ExternFile, /* SimpleCollection#0: ExternFile */
+&type_array__NativeArrayc_tools__ExternFile, /* NativeArray[Array#0]: NativeArray[ExternFile] */
+&type_array__Arrayc_tools__ExternFile, /* Array[Array#0]: Array[ExternFile] */
+&type_array__NativeArrayc_tools__ExternFile, /* NativeArray[ArrayCapable#0]: NativeArray[ExternFile] */
+&type_c_tools__ExternFile, /* RemovableCollection#0: ExternFile */
+&type_abstract_collection__Collectionc_tools__ExternFile, /* Collection[Sequence#0]: Collection[ExternFile] */
+&type_abstract_collection__Collectionc_tools__ExternFile, /* Collection[SimpleCollection#0]: Collection[ExternFile] */
+&type_c_tools__ExternFile, /* Collection#0: ExternFile */
+&type_abstract_collection__Collectionc_tools__ExternFile, /* Collection[Collection#0]: Collection[ExternFile] */
+&type_c_tools__ExternFile, /* SequenceRead#0: ExternFile */
+&type_c_tools__ExternFile, /* AbstractArrayRead#0: ExternFile */
+&type_array__Arrayc_tools__ExternFile, /* Array[AbstractArrayRead#0]: Array[ExternFile] */
+&type_array__ArrayIteratorc_tools__ExternFile, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ExternFile] */
 }
 };
-/* runtime type HashMap[MClass, Set[MAttribute]] */
-const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute = {
-2257,
-"HashMap[MClass, Set[MAttribute]]", /* class_name_string */
-6,
+/* runtime type Collection[ExternFile] */
+const struct type type_abstract_collection__Collectionc_tools__ExternFile = {
+619,
+"Collection[ExternFile]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute,
-7,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[ExternFile] */
+const struct type type_array__AbstractArrayReadc_tools__ExternFile = {
+1659,
+"AbstractArrayRead[ExternFile]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArraySet[String] */
+const struct type type_array__ArraySetstring__String = {
+-1, /*CAST DEAD*/
+"ArraySet[String]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArraySetstring__String,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-112, /* Map[MClass, Set[PropertyLayoutElement]] */
-656, /* HashMap[MClass, Set[PropertyLayoutElement]] */
-675, /* Map[MClass, Set[MAttribute]] */
-1873, /* HashMap[MClass, Set[MProperty]] */
-2257, /* HashMap[MClass, Set[MAttribute]] */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+587, /* Collection[Streamable] */
+1295, /* Collection[String] */
+607, /* Set[Object] */
+1660, /* ArraySet[String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_array__ArraySetstring__String = {
 0, /* dummy */
 {
+&type_array__ArraySetIteratorstring__String, /* ArraySetIterator[ArraySet#0]: ArraySetIterator[String] */
+&type_string__String, /* SimpleCollection#0: String */
+&type_array__Arraystring__String, /* Array[ArraySet#0]: Array[String] */
+&type_abstract_collection__Collectionstring__String, /* Collection[Set#0]: Collection[String] */
 NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MAttribute]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
-&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MAttribute]] */
-&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MAttribute]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_abstract_collection__Setmodel__MAttribute, /* Map#1: Set[MAttribute] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MAttribute]] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MAttribute, /* Map[Map#0, Map#1]: Map[MClass, Set[MAttribute]] */
-&type_abstract_collection__Setmodel__MAttribute, /* MapRead#1: Set[MAttribute] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[MAttribute]] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* HashCollection#1: HashMapNode[MClass, Set[MAttribute]] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type Map[MClass, Set[MAttribute]] */
-const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MAttribute = {
-675,
-"Map[MClass, Set[MAttribute]]", /* class_name_string */
+/* runtime type SeparateErasureCompiler */
+const struct type type_separate_erasure_compiler__SeparateErasureCompiler = {
+1327,
+"SeparateErasureCompiler", /* class_name_string */
 4,
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashSet[MAttribute] */
-const struct type type_hash_collection__HashSetmodel__MAttribute = {
-2841,
-"HashSet[MAttribute]", /* class_name_string */
-14,
-0,
-&resolution_table_hash_collection__HashSetmodel__MAttribute,
-15,
+&resolution_table_separate_erasure_compiler__SeparateErasureCompiler,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* Collection[nullable MProperty] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2671, /* Set[MProperty] */
-646, /* Collection[PropertyLayoutElement] */
-1872, /* HashSet[Object] */
-2041, /* Set[PropertyLayoutElement] */
-2490, /* HashSet[PropertyLayoutElement] */
-2032, /* Collection[MProperty] */
-2777, /* Set[MAttribute] */
-2258, /* Collection[MAttribute] */
-2805, /* HashSet[MProperty] */
-2841, /* HashSet[MAttribute] */
+122, /* AbstractCompiler */
+616, /* SeparateCompiler */
+1327, /* SeparateErasureCompiler */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MAttribute = {
+const struct types resolution_table_separate_erasure_compiler__SeparateErasureCompiler = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodemodel__MAttribute, /* HashSetNode[HashSet#0]: HashSetNode[MAttribute] */
-&type_hash_collection__HashSetIteratormodel__MAttribute, /* HashSetIterator[HashSet#0]: HashSetIterator[MAttribute] */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[HashSet#0]: Collection[MAttribute] */
-&type_model__MAttribute, /* SimpleCollection#0: MAttribute */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Set#0]: Collection[MAttribute] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MAttribute]] */
-NULL, /* empty */
-&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[MAttribute] */
-&type_model__MAttribute, /* Collection#0: MAttribute */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
-&type_model__MAttribute, /* HashCollection#0: MAttribute */
-&type_nullable_hash_collection__HashSetNodemodel__MAttribute, /* nullable HashCollection#1: nullable HashSetNode[MAttribute] */
-&type_hash_collection__HashSetNodemodel__MAttribute, /* HashCollection#1: HashSetNode[MAttribute] */
-&type_nullable_model__MAttribute, /* nullable HashCollection#0: nullable MAttribute */
+&type_separate_compiler__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
 }
 };
-/* runtime type Set[MAttribute] */
-const struct type type_abstract_collection__Setmodel__MAttribute = {
-2777,
-"Set[MAttribute]", /* class_name_string */
-11,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[MAttribute] */
-const struct type type_abstract_collection__Collectionmodel__MAttribute = {
-2258,
-"Collection[MAttribute]", /* class_name_string */
-12,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[RuntimeVariable] */
-const struct type type_array__Arrayabstract_compiler__RuntimeVariable = {
-2674,
-"Array[RuntimeVariable]", /* class_name_string */
-6,
+/* runtime type Array[Match] */
+const struct type type_array__Arraystring_search__Match = {
+-1, /*CAST DEAD*/
+"Array[Match]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayabstract_compiler__RuntimeVariable,
-10,
+&resolution_table_array__Arraystring_search__Match,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-676, /* Collection[RuntimeVariable] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2259, /* AbstractArrayRead[RuntimeVariable] */
-2674, /* Array[RuntimeVariable] */
-1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2029, /* Array[Object] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+620, /* Collection[Match] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1661, /* AbstractArrayRead[Match] */
+1459, /* Array[Object] */
+2035, /* Array[Match] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__Arraystring_search__Match = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Array#0]: Array[RuntimeVariable] */
-&type_array__NativeArrayabstract_compiler__RuntimeVariable, /* NativeArray[Array#0]: NativeArray[RuntimeVariable] */
-&type_abstract_compiler__RuntimeVariable, /* Sequence#0: RuntimeVariable */
-&type_abstract_compiler__RuntimeVariable, /* SimpleCollection#0: RuntimeVariable */
-&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[Array#0]: Collection[RuntimeVariable] */
-&type_abstract_compiler__RuntimeVariable, /* Array#0: RuntimeVariable */
-&type_array__NativeArrayabstract_compiler__RuntimeVariable, /* NativeArray[ArrayCapable#0]: NativeArray[RuntimeVariable] */
-&type_abstract_compiler__RuntimeVariable, /* AbstractArray#0: RuntimeVariable */
-&type_abstract_compiler__RuntimeVariable, /* RemovableCollection#0: RuntimeVariable */
-&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[Sequence#0]: Collection[RuntimeVariable] */
-&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Sequence#0]: Array[RuntimeVariable] */
-&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[SimpleCollection#0]: Collection[RuntimeVariable] */
-&type_abstract_compiler__RuntimeVariable, /* Collection#0: RuntimeVariable */
-&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[Collection#0]: Collection[RuntimeVariable] */
-&type_abstract_compiler__RuntimeVariable, /* SequenceRead#0: RuntimeVariable */
-&type_abstract_compiler__RuntimeVariable, /* AbstractArrayRead#0: RuntimeVariable */
-&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[AbstractArrayRead#0]: Array[RuntimeVariable] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[RuntimeVariable] not a live type) */
-&type_array__ArrayIteratorabstract_compiler__RuntimeVariable, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[RuntimeVariable] */
+&type_string_search__Match, /* Sequence#0: Match */
+&type_string_search__Match, /* SimpleCollection#0: Match */
+&type_array__NativeArraystring_search__Match, /* NativeArray[Array#0]: NativeArray[Match] */
+&type_array__Arraystring_search__Match, /* Array[Array#0]: Array[Match] */
+&type_array__NativeArraystring_search__Match, /* NativeArray[ArrayCapable#0]: NativeArray[Match] */
+&type_string_search__Match, /* RemovableCollection#0: Match */
+&type_abstract_collection__Collectionstring_search__Match, /* Collection[Sequence#0]: Collection[Match] */
+&type_abstract_collection__Collectionstring_search__Match, /* Collection[SimpleCollection#0]: Collection[Match] */
+&type_string_search__Match, /* Collection#0: Match */
+&type_abstract_collection__Collectionstring_search__Match, /* Collection[Collection#0]: Collection[Match] */
+&type_string_search__Match, /* SequenceRead#0: Match */
+&type_string_search__Match, /* AbstractArrayRead#0: Match */
+&type_array__Arraystring_search__Match, /* Array[AbstractArrayRead#0]: Array[Match] */
+&type_array__ArrayIteratorstring_search__Match, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Match] */
 }
 };
-/* runtime type Collection[RuntimeVariable] */
-const struct type type_abstract_collection__Collectionabstract_compiler__RuntimeVariable = {
-676,
-"Collection[RuntimeVariable]", /* class_name_string */
-2,
+/* runtime type Collection[Match] */
+const struct type type_abstract_collection__Collectionstring_search__Match = {
+620,
+"Collection[Match]", /* class_name_string */
+5,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type AbstractArrayRead[RuntimeVariable] */
-const struct type type_array__AbstractArrayReadabstract_compiler__RuntimeVariable = {
-2259,
-"AbstractArrayRead[RuntimeVariable]", /* class_name_string */
-5,
+/* runtime type AbstractArrayRead[Match] */
+const struct type type_array__AbstractArrayReadstring_search__Match = {
+1661,
+"AbstractArrayRead[Match]", /* class_name_string */
+8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type MakefileToolchain */
-const struct type type_abstract_compiler__MakefileToolchain = {
--1, /*CAST DEAD*/
-"MakefileToolchain", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Match */
+const struct type type_string_search__Match = {
+129,
+"Match", /* class_name_string */
+2,
 0,
 NULL, /*NO RESOLUTIONS*/
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-138, /* MakefileToolchain */
+129, /* Match */
 },
 };
-/* runtime type RapidTypeVisitor */
-const struct type type_rapid_type_analysis__RapidTypeVisitor = {
+/* runtime type MDoc */
+const struct type type_mdoc__MDoc = {
 -1, /*CAST DEAD*/
-"RapidTypeVisitor", /* class_name_string */
+"MDoc", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -5366,581 +4560,2203 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-139, /* RapidTypeVisitor */
+130, /* MDoc */
 },
 };
-/* runtime type Array[MType] */
-const struct type type_array__Arraymodel__MType = {
-2863,
-"Array[MType]", /* class_name_string */
-19,
+/* runtime type Message */
+const struct type type_toolcontext__Message = {
+131,
+"Message", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arraymodel__MType,
-20,
+&resolution_table_toolcontext__Message,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable Array[nullable MType] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-1838, /* AbstractArrayRead[Object] */
-1878, /* AbstractArrayRead[nullable MType] */
-2029, /* Array[Object] */
-2033, /* Collection[MType] */
--1, /* empty */
-2260, /* Array[nullable MType] */
-2261, /* AbstractArrayRead[NitniCallback] */
--1, /* empty */
-2675, /* Array[NitniCallback] */
-2778, /* AbstractArrayRead[MType] */
--1, /* empty */
--1, /* empty */
-2863, /* Array[MType] */
+131, /* Message */
 },
 };
-const struct types resolution_table_array__Arraymodel__MType = {
+const struct types resolution_table_toolcontext__Message = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MType, /* Array[Array#0]: Array[MType] */
-&type_array__NativeArraymodel__MType, /* NativeArray[Array#0]: NativeArray[MType] */
-&type_model__MType, /* Sequence#0: MType */
-&type_model__MType, /* SimpleCollection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Array#0]: Collection[MType] */
-&type_model__MType, /* Array#0: MType */
-&type_array__NativeArraymodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[MType] */
-&type_model__MType, /* AbstractArray#0: MType */
-&type_model__MType, /* RemovableCollection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Sequence#0]: Collection[MType] */
-&type_array__Arraymodel__MType, /* Array[Sequence#0]: Array[MType] */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[SimpleCollection#0]: Collection[MType] */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
-&type_model__MType, /* SequenceRead#0: MType */
-&type_model__MType, /* AbstractArrayRead#0: MType */
-&type_array__Arraymodel__MType, /* Array[AbstractArrayRead#0]: Array[MType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MType] not a live type) */
-&type_array__ArrayIteratormodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MType] */
+&type_toolcontext__Message, /* OTHER: Message */
 }
 };
-/* runtime type Array[nullable MType] */
-const struct type type_array__Arraynullable_model__MType = {
-2260,
-"Array[nullable MType]", /* class_name_string */
-12,
+/* runtime type Array[State] */
+const struct type type_array__Arrayparser_work__State = {
+-1, /*CAST DEAD*/
+"Array[State]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraynullable_model__MType,
-13,
+&resolution_table_array__Arrayparser_work__State,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable Array[nullable MType] */
-91, /* SequenceRead[nullable Object] */
--1, /* empty */
-101, /* Collection[nullable MType] */
--1, /* empty */
--1, /* empty */
-1878, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+621, /* Collection[State] */
 -1, /* empty */
--1, /* empty */
-2260, /* Array[nullable MType] */
+1294, /* AbstractArrayRead[Object] */
+1662, /* AbstractArrayRead[State] */
+1459, /* Array[Object] */
+2036, /* Array[State] */
 },
 };
-const struct types resolution_table_array__Arraynullable_model__MType = {
+const struct types resolution_table_array__Arrayparser_work__State = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MType, /* Array[Array#0]: Array[nullable MType] */
-&type_array__NativeArraynullable_model__MType, /* NativeArray[Array#0]: NativeArray[nullable MType] */
-&type_nullable_model__MType, /* Sequence#0: nullable MType */
-&type_nullable_model__MType, /* SimpleCollection#0: nullable MType */
-&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Array#0]: Collection[nullable MType] */
-&type_nullable_model__MType, /* Array#0: nullable MType */
-&type_array__NativeArraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable MType] */
-&type_nullable_model__MType, /* AbstractArray#0: nullable MType */
-&type_nullable_model__MType, /* RemovableCollection#0: nullable MType */
-&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Sequence#0]: Collection[nullable MType] */
-&type_array__Arraynullable_model__MType, /* Array[Sequence#0]: Array[nullable MType] */
-&type_abstract_collection__Collectionnullable_model__MType, /* Collection[SimpleCollection#0]: Collection[nullable MType] */
-&type_nullable_model__MType, /* Collection#0: nullable MType */
-&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Collection#0]: Collection[nullable MType] */
-&type_nullable_model__MType, /* SequenceRead#0: nullable MType */
-&type_nullable_model__MType, /* AbstractArrayRead#0: nullable MType */
-&type_array__Arraynullable_model__MType, /* Array[AbstractArrayRead#0]: Array[nullable MType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable MType] not a live type) */
-&type_array__ArrayIteratornullable_model__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable MType] */
+&type_parser_work__State, /* Sequence#0: State */
+&type_parser_work__State, /* SimpleCollection#0: State */
+&type_array__NativeArrayparser_work__State, /* NativeArray[Array#0]: NativeArray[State] */
+&type_array__Arrayparser_work__State, /* Array[Array#0]: Array[State] */
+&type_array__NativeArrayparser_work__State, /* NativeArray[ArrayCapable#0]: NativeArray[State] */
+&type_parser_work__State, /* RemovableCollection#0: State */
+&type_abstract_collection__Collectionparser_work__State, /* Collection[Sequence#0]: Collection[State] */
+&type_abstract_collection__Collectionparser_work__State, /* Collection[SimpleCollection#0]: Collection[State] */
+&type_parser_work__State, /* Collection#0: State */
+&type_abstract_collection__Collectionparser_work__State, /* Collection[Collection#0]: Collection[State] */
+&type_parser_work__State, /* SequenceRead#0: State */
+&type_parser_work__State, /* AbstractArrayRead#0: State */
+&type_array__Arrayparser_work__State, /* Array[AbstractArrayRead#0]: Array[State] */
+&type_array__ArrayIteratorparser_work__State, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[State] */
 }
 };
-/* runtime type Array[NitniCallback] */
-const struct type type_array__Arraynitni_callbacks__NitniCallback = {
-2675,
-"Array[NitniCallback]", /* class_name_string */
-15,
+/* runtime type Collection[State] */
+const struct type type_abstract_collection__Collectionparser_work__State = {
+621,
+"Collection[State]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arraynitni_callbacks__NitniCallback,
-16,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[State] */
+const struct type type_array__AbstractArrayReadparser_work__State = {
+1662,
+"AbstractArrayRead[State]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Start */
+const struct type type_parser_nodes__Start = {
+-1, /*CAST DEAD*/
+"Start", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+7,
 {
 0, /* nullable Object */
 1, /* Object */
+8, /* nullable ANode */
 -1, /* empty */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
--1, /* empty */
-648, /* Collection[NitniCallback] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2261, /* AbstractArrayRead[NitniCallback] */
--1, /* empty */
-2675, /* Array[NitniCallback] */
+622, /* ANode */
+1328, /* Prod */
+1479, /* Start */
 },
 };
-const struct types resolution_table_array__Arraynitni_callbacks__NitniCallback = {
-0, /* dummy */
-{
-&type_array__Arraynitni_callbacks__NitniCallback, /* Array[Array#0]: Array[NitniCallback] */
-&type_array__NativeArraynitni_callbacks__NitniCallback, /* NativeArray[Array#0]: NativeArray[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* Sequence#0: NitniCallback */
-&type_nitni_callbacks__NitniCallback, /* SimpleCollection#0: NitniCallback */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[Array#0]: Collection[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* Array#0: NitniCallback */
-&type_array__NativeArraynitni_callbacks__NitniCallback, /* NativeArray[ArrayCapable#0]: NativeArray[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* AbstractArray#0: NitniCallback */
-&type_nitni_callbacks__NitniCallback, /* RemovableCollection#0: NitniCallback */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[Sequence#0]: Collection[NitniCallback] */
-&type_array__Arraynitni_callbacks__NitniCallback, /* Array[Sequence#0]: Array[NitniCallback] */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[SimpleCollection#0]: Collection[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* Collection#0: NitniCallback */
-&type_abstract_collection__Collectionnitni_callbacks__NitniCallback, /* Collection[Collection#0]: Collection[NitniCallback] */
-&type_nitni_callbacks__NitniCallback, /* SequenceRead#0: NitniCallback */
-&type_nitni_callbacks__NitniCallback, /* AbstractArrayRead#0: NitniCallback */
-&type_array__Arraynitni_callbacks__NitniCallback, /* Array[AbstractArrayRead#0]: Array[NitniCallback] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[NitniCallback] not a live type) */
-&type_array__ArrayIteratornitni_callbacks__NitniCallback, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[NitniCallback] */
-}
+/* runtime type Prod */
+const struct type type_parser_nodes__Prod = {
+1328,
+"Prod", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type nullable Array[nullable MType] */
-const struct type type_nullable_array__Arraynullable_model__MType = {
-11,
-"nullable Array[nullable MType]", /* class_name_string */
+/* runtime type ANode */
+const struct type type_parser_nodes__ANode = {
+622,
+"ANode", /* class_name_string */
+4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type nullable ANode */
+const struct type type_nullable_parser_nodes__ANode = {
+8,
+"nullable ANode", /* class_name_string */
 2,
 1,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type AbstractArrayRead[MType] */
-const struct type type_array__AbstractArrayReadmodel__MType = {
-2778,
-"AbstractArrayRead[MType]", /* class_name_string */
-16,
+/* runtime type ComputeProdLocationVisitor */
+const struct type type_parser_work__ComputeProdLocationVisitor = {
+-1, /*CAST DEAD*/
+"ComputeProdLocationVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+132, /* ComputeProdLocationVisitor */
+},
+};
+/* runtime type AParserError */
+const struct type type_parser_nodes__AParserError = {
+-1, /*CAST DEAD*/
+"AParserError", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+9,
+{
+0, /* nullable Object */
+1, /* Object */
+8, /* nullable ANode */
+-1, /* empty */
+622, /* ANode */
+1329, /* Token */
+1480, /* EOF */
+1663, /* AError */
+1868, /* AParserError */
+},
+};
+/* runtime type EOF */
+const struct type type_parser_nodes__EOF = {
+1480,
+"EOF", /* class_name_string */
+6,
+0,
+NULL, /*NO RESOLUTIONS*/
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+8, /* nullable ANode */
+-1, /* empty */
+622, /* ANode */
+1329, /* Token */
+1480, /* EOF */
+},
+};
+/* runtime type AError */
+const struct type type_parser_nodes__AError = {
+1663,
+"AError", /* class_name_string */
+7,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type AbstractArrayRead[nullable MType] */
-const struct type type_array__AbstractArrayReadnullable_model__MType = {
-1878,
-"AbstractArrayRead[nullable MType]", /* class_name_string */
+/* runtime type Token */
+const struct type type_parser_nodes__Token = {
+1329,
+"Token", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ANodes[AImport] */
+const struct type type_parser_nodes__ANodesparser_nodes__AImport = {
+-1, /*CAST DEAD*/
+"ANodes[AImport]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_parser_nodes__ANodesparser_nodes__AImport,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1318, /* Collection[Prod] */
+-1, /* empty */
+1481, /* Collection[AImport] */
+1869, /* ANodes[AImport] */
+},
+};
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__AImport = {
+0, /* dummy */
+{
+&type_parser_nodes__AImport, /* Sequence#0: AImport */
+&type_parser_nodes__AImport, /* SimpleCollection#0: AImport */
+&type_array__Arrayparser_nodes__AImport, /* Array[ANodes#0]: Array[AImport] */
+&type_parser_nodes__AImport, /* ANodes#0: AImport */
+NULL, /* empty */
+&type_parser_nodes__AImport, /* RemovableCollection#0: AImport */
+&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Sequence#0]: Collection[AImport] */
+&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[SimpleCollection#0]: Collection[AImport] */
+&type_parser_nodes__AImport, /* Collection#0: AImport */
+&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Collection#0]: Collection[AImport] */
+&type_parser_nodes__AImport, /* SequenceRead#0: AImport */
+}
+};
+/* runtime type Collection[AImport] */
+const struct type type_abstract_collection__Collectionparser_nodes__AImport = {
+1481,
+"Collection[AImport]", /* class_name_string */
 8,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type AbstractArrayRead[NitniCallback] */
-const struct type type_array__AbstractArrayReadnitni_callbacks__NitniCallback = {
-2261,
-"AbstractArrayRead[NitniCallback]", /* class_name_string */
-13,
+/* runtime type ANodes[TId] */
+const struct type type_parser_nodes__ANodesparser_nodes__TId = {
+-1, /*CAST DEAD*/
+"ANodes[TId]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_parser_nodes__ANodesparser_nodes__TId,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+601, /* Collection[ANode] */
+1330, /* Collection[TId] */
+1664, /* ANodes[TId] */
+},
+};
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__TId = {
+0, /* dummy */
+{
+&type_parser_nodes__TId, /* Sequence#0: TId */
+&type_parser_nodes__TId, /* SimpleCollection#0: TId */
+&type_array__Arrayparser_nodes__TId, /* Array[ANodes#0]: Array[TId] */
+&type_parser_nodes__TId, /* ANodes#0: TId */
+NULL, /* empty */
+&type_parser_nodes__TId, /* RemovableCollection#0: TId */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Sequence#0]: Collection[TId] */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[SimpleCollection#0]: Collection[TId] */
+&type_parser_nodes__TId, /* Collection#0: TId */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Collection#0]: Collection[TId] */
+&type_parser_nodes__TId, /* SequenceRead#0: TId */
+}
+};
+/* runtime type Collection[TId] */
+const struct type type_abstract_collection__Collectionparser_nodes__TId = {
+1330,
+"Collection[TId]", /* class_name_string */
+6,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type List[MClassType] */
-const struct type type_list__Listmodel__MClassType = {
-2676,
-"List[MClassType]", /* class_name_string */
+/* runtime type MVisibility */
+const struct type type_model_base__MVisibility = {
+133,
+"MVisibility", /* class_name_string */
 2,
 0,
-&resolution_table_list__Listmodel__MClassType,
-12,
+&resolution_table_model_base__MVisibility,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+133, /* MVisibility */
+},
+};
+const struct types resolution_table_model_base__MVisibility = {
+0, /* dummy */
+{
+&type_model_base__MVisibility, /* OTHER: MVisibility */
+}
+};
+/* runtime type LiteralVisitor */
+const struct type type_literal__LiteralVisitor = {
+-1, /*CAST DEAD*/
+"LiteralVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+134, /* LiteralVisitor */
+},
+};
+/* runtime type HashMap[MClass, MClassType] */
+const struct type type_hash_collection__HashMapmodel__MClassmodel__MClassType = {
+135,
+"HashMap[MClass, MClassType]", /* class_name_string */
+2,
+0,
+&resolution_table_hash_collection__HashMapmodel__MClassmodel__MClassType,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+135, /* HashMap[MClass, MClassType] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapmodel__MClassmodel__MClassType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, MClassType]] */
+&type_hash_collection__HashMapKeysmodel__MClassmodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, MClassType] */
+&type_hash_collection__HashMapValuesmodel__MClassmodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, MClassType] */
+&type_hash_collection__HashMapIteratormodel__MClassmodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, MClassType] */
+&type_model__MClass, /* Map#0: MClass */
+&type_model__MClassType, /* Map#1: MClassType */
+&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, MClassType] */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* nullable HashCollection#1: nullable HashMapNode[MClass, MClassType] */
+&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* HashCollection#1: HashMapNode[MClass, MClassType] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+}
+};
+/* runtime type ArrayMap[MClass, AType] */
+const struct type type_array__ArrayMapmodel__MClassparser_nodes__AType = {
+136,
+"ArrayMap[MClass, AType]", /* class_name_string */
+2,
+0,
+&resolution_table_array__ArrayMapmodel__MClassparser_nodes__AType,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+136, /* ArrayMap[MClass, AType] */
+},
+};
+const struct types resolution_table_array__ArrayMapmodel__MClassparser_nodes__AType = {
+0, /* dummy */
+{
+&type_array__ArrayMapKeysmodel__MClassparser_nodes__AType, /* ArrayMapKeys[ArrayMap#0, ArrayMap#1]: ArrayMapKeys[MClass, AType] */
+&type_array__ArrayMapValuesmodel__MClassparser_nodes__AType, /* ArrayMapValues[ArrayMap#0, ArrayMap#1]: ArrayMapValues[MClass, AType] */
+&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* Couple[ArrayMap#0, ArrayMap#1]: Couple[MClass, AType] */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_model__MClass, /* ArrayMap#0: MClass */
+&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Couple[ArrayMap#0, ArrayMap#1]]: Array[Couple[MClass, AType]] */
+&type_abstract_collection__CoupleMapIteratormodel__MClassparser_nodes__AType, /* CoupleMapIterator[CoupleMap#0, CoupleMap#1]: CoupleMapIterator[MClass, AType] */
+NULL, /* empty */
+&type_model__MClass, /* Map#0: MClass */
+&type_parser_nodes__AType, /* Map#1: AType */
+}
+};
+/* runtime type ScopeVisitor */
+const struct type type_scope__ScopeVisitor = {
+-1, /*CAST DEAD*/
+"ScopeVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+137, /* ScopeVisitor */
+},
+};
+/* runtime type Variable */
+const struct type type_scope__Variable = {
+623,
+"Variable", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+9, /* nullable Variable */
+623, /* Variable */
+},
+};
+/* runtime type nullable Variable */
+const struct type type_nullable_scope__Variable = {
+9,
+"nullable Variable", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type List[Scope] */
+const struct type type_list__Listscope__Scope = {
+1482,
+"List[Scope]", /* class_name_string */
+6,
+0,
+&resolution_table_list__Listscope__Scope,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+624, /* Collection[Scope] */
+1482, /* List[Scope] */
+},
+};
+const struct types resolution_table_list__Listscope__Scope = {
+0, /* dummy */
+{
+&type_scope__Scope, /* Sequence#0: Scope */
+&type_scope__Scope, /* SimpleCollection#0: Scope */
+&type_list__ListNodescope__Scope, /* ListNode[List#0]: ListNode[Scope] */
+&type_list__ListIteratorscope__Scope, /* ListIterator[List#0]: ListIterator[Scope] */
+&type_scope__Scope, /* List#0: Scope */
+&type_scope__Scope, /* RemovableCollection#0: Scope */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[Sequence#0]: Collection[Scope] */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[SimpleCollection#0]: Collection[Scope] */
+&type_scope__Scope, /* Collection#0: Scope */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[Collection#0]: Collection[Scope] */
+&type_scope__Scope, /* SequenceRead#0: Scope */
+&type_nullable_list__ListNodescope__Scope, /* nullable ListNode[List#0]: nullable ListNode[Scope] */
+}
+};
+/* runtime type Collection[Scope] */
+const struct type type_abstract_collection__Collectionscope__Scope = {
+624,
+"Collection[Scope]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type FlowVisitor */
+const struct type type_flow__FlowVisitor = {
+-1, /*CAST DEAD*/
+"FlowVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+138, /* FlowVisitor */
+},
+};
+/* runtime type Array[FlowContext] */
+const struct type type_array__Arrayflow__FlowContext = {
+-1, /*CAST DEAD*/
+"Array[FlowContext]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayflow__FlowContext,
+11,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+625, /* Collection[FlowContext] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1665, /* AbstractArrayRead[FlowContext] */
+1459, /* Array[Object] */
+2037, /* Array[FlowContext] */
+},
+};
+const struct types resolution_table_array__Arrayflow__FlowContext = {
+0, /* dummy */
+{
+&type_flow__FlowContext, /* Sequence#0: FlowContext */
+&type_flow__FlowContext, /* SimpleCollection#0: FlowContext */
+&type_array__NativeArrayflow__FlowContext, /* NativeArray[Array#0]: NativeArray[FlowContext] */
+&type_array__Arrayflow__FlowContext, /* Array[Array#0]: Array[FlowContext] */
+&type_array__NativeArrayflow__FlowContext, /* NativeArray[ArrayCapable#0]: NativeArray[FlowContext] */
+&type_flow__FlowContext, /* RemovableCollection#0: FlowContext */
+&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Sequence#0]: Collection[FlowContext] */
+&type_abstract_collection__Collectionflow__FlowContext, /* Collection[SimpleCollection#0]: Collection[FlowContext] */
+&type_flow__FlowContext, /* Collection#0: FlowContext */
+&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Collection#0]: Collection[FlowContext] */
+&type_flow__FlowContext, /* SequenceRead#0: FlowContext */
+&type_flow__FlowContext, /* AbstractArrayRead#0: FlowContext */
+&type_array__Arrayflow__FlowContext, /* Array[AbstractArrayRead#0]: Array[FlowContext] */
+&type_array__ArrayIteratorflow__FlowContext, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[FlowContext] */
+}
+};
+/* runtime type Collection[FlowContext] */
+const struct type type_abstract_collection__Collectionflow__FlowContext = {
+625,
+"Collection[FlowContext]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[FlowContext] */
+const struct type type_array__AbstractArrayReadflow__FlowContext = {
+1665,
+"AbstractArrayRead[FlowContext]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type LocalVarInitVisitor */
+const struct type type_local_var_init__LocalVarInitVisitor = {
+-1, /*CAST DEAD*/
+"LocalVarInitVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+139, /* LocalVarInitVisitor */
+},
+};
+/* runtime type HashSet[Variable] */
+const struct type type_hash_collection__HashSetscope__Variable = {
+1666,
+"HashSet[Variable]", /* class_name_string */
+9,
+0,
+&resolution_table_hash_collection__HashSetscope__Variable,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+626, /* Collection[Variable] */
+-1, /* empty */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1666, /* HashSet[Variable] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetscope__Variable = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodescope__Variable, /* HashSetNode[HashSet#0]: HashSetNode[Variable] */
+&type_scope__Variable, /* SimpleCollection#0: Variable */
+&type_hash_collection__HashSetIteratorscope__Variable, /* HashSetIterator[HashSet#0]: HashSetIterator[Variable] */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Set#0]: Collection[Variable] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Variable]] */
+&type_scope__Variable, /* RemovableCollection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[HashSet#0]: Collection[Variable] */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[SimpleCollection#0]: Collection[Variable] */
+&type_scope__Variable, /* Collection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
+NULL, /* empty */
+&type_scope__Variable, /* HashCollection#0: Variable */
+&type_nullable_hash_collection__HashSetNodescope__Variable, /* nullable HashCollection#1: nullable HashSetNode[Variable] */
+&type_hash_collection__HashSetNodescope__Variable, /* HashCollection#1: HashSetNode[Variable] */
+&type_nullable_scope__Variable, /* nullable HashCollection#0: nullable Variable */
+}
+};
+/* runtime type Collection[Variable] */
+const struct type type_abstract_collection__Collectionscope__Variable = {
+626,
+"Collection[Variable]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AutoSuperInitVisitor */
+const struct type type_auto_super_init__AutoSuperInitVisitor = {
+-1, /*CAST DEAD*/
+"AutoSuperInitVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+140, /* AutoSuperInitVisitor */
+},
+};
+/* runtime type Array[CallSite] */
+const struct type type_array__Arraytyping__CallSite = {
+-1, /*CAST DEAD*/
+"Array[CallSite]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arraytyping__CallSite,
+11,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+615, /* Collection[CallSite] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1667, /* AbstractArrayRead[CallSite] */
+1459, /* Array[Object] */
+2038, /* Array[CallSite] */
+},
+};
+const struct types resolution_table_array__Arraytyping__CallSite = {
+0, /* dummy */
+{
+&type_typing__CallSite, /* Sequence#0: CallSite */
+&type_typing__CallSite, /* SimpleCollection#0: CallSite */
+&type_array__NativeArraytyping__CallSite, /* NativeArray[Array#0]: NativeArray[CallSite] */
+&type_array__Arraytyping__CallSite, /* Array[Array#0]: Array[CallSite] */
+&type_array__NativeArraytyping__CallSite, /* NativeArray[ArrayCapable#0]: NativeArray[CallSite] */
+&type_typing__CallSite, /* RemovableCollection#0: CallSite */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Sequence#0]: Collection[CallSite] */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[SimpleCollection#0]: Collection[CallSite] */
+&type_typing__CallSite, /* Collection#0: CallSite */
+&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Collection#0]: Collection[CallSite] */
+&type_typing__CallSite, /* SequenceRead#0: CallSite */
+&type_typing__CallSite, /* AbstractArrayRead#0: CallSite */
+&type_array__Arraytyping__CallSite, /* Array[AbstractArrayRead#0]: Array[CallSite] */
+&type_array__ArrayIteratortyping__CallSite, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CallSite] */
+}
+};
+/* runtime type AbstractArrayRead[CallSite] */
+const struct type type_array__AbstractArrayReadtyping__CallSite = {
+1667,
+"AbstractArrayRead[CallSite]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type CallSite */
+const struct type type_typing__CallSite = {
+627,
+"CallSite", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+10, /* nullable CallSite */
+627, /* CallSite */
+},
+};
+/* runtime type nullable CallSite */
+const struct type type_nullable_typing__CallSite = {
+10,
+"nullable CallSite", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ASTBuilder */
+const struct type type_astbuilder__ASTBuilder = {
+-1, /*CAST DEAD*/
+"ASTBuilder", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+141, /* ASTBuilder */
+},
+};
+/* runtime type RapidTypeVisitor */
+const struct type type_rapid_type_analysis__RapidTypeVisitor = {
+-1, /*CAST DEAD*/
+"RapidTypeVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+142, /* RapidTypeVisitor */
+},
+};
+/* runtime type Array[MType] */
+const struct type type_array__Arraymodel__MType = {
+2165,
+"Array[MType]", /* class_name_string */
+15,
+0,
+&resolution_table_array__Arraymodel__MType,
+16,
+{
+0, /* nullable Object */
+1, /* Object */
+11, /* nullable Array[nullable MType] */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+1316, /* Collection[MType] */
+1294, /* AbstractArrayRead[Object] */
+1331, /* AbstractArrayRead[nullable MType] */
+1459, /* Array[Object] */
+-1, /* empty */
+1668, /* Array[nullable MType] */
+-1, /* empty */
+2039, /* AbstractArrayRead[MType] */
+-1, /* empty */
+2165, /* Array[MType] */
+},
+};
+const struct types resolution_table_array__Arraymodel__MType = {
+0, /* dummy */
+{
+&type_model__MType, /* Sequence#0: MType */
+&type_model__MType, /* SimpleCollection#0: MType */
+&type_array__NativeArraymodel__MType, /* NativeArray[Array#0]: NativeArray[MType] */
+&type_array__Arraymodel__MType, /* Array[Array#0]: Array[MType] */
+&type_array__NativeArraymodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[MType] */
+&type_model__MType, /* RemovableCollection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Sequence#0]: Collection[MType] */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[SimpleCollection#0]: Collection[MType] */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_model__MType, /* SequenceRead#0: MType */
+&type_model__MType, /* AbstractArrayRead#0: MType */
+&type_array__Arraymodel__MType, /* Array[AbstractArrayRead#0]: Array[MType] */
+&type_array__ArrayIteratormodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MType] */
+}
+};
+/* runtime type Array[nullable MType] */
+const struct type type_array__Arraynullable_model__MType = {
+1668,
+"Array[nullable MType]", /* class_name_string */
+11,
+0,
+&resolution_table_array__Arraynullable_model__MType,
+12,
+{
+0, /* nullable Object */
+1, /* Object */
+11, /* nullable Array[nullable MType] */
+83, /* SequenceRead[nullable Object] */
+-1, /* empty */
+93, /* Collection[nullable MType] */
+-1, /* empty */
+-1, /* empty */
+1331, /* AbstractArrayRead[nullable MType] */
+-1, /* empty */
+-1, /* empty */
+1668, /* Array[nullable MType] */
+},
+};
+const struct types resolution_table_array__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_nullable_model__MType, /* Sequence#0: nullable MType */
+&type_nullable_model__MType, /* SimpleCollection#0: nullable MType */
+&type_array__NativeArraynullable_model__MType, /* NativeArray[Array#0]: NativeArray[nullable MType] */
+&type_array__Arraynullable_model__MType, /* Array[Array#0]: Array[nullable MType] */
+&type_array__NativeArraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable MType] */
+&type_nullable_model__MType, /* RemovableCollection#0: nullable MType */
+&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Sequence#0]: Collection[nullable MType] */
+&type_abstract_collection__Collectionnullable_model__MType, /* Collection[SimpleCollection#0]: Collection[nullable MType] */
+&type_nullable_model__MType, /* Collection#0: nullable MType */
+&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Collection#0]: Collection[nullable MType] */
+&type_nullable_model__MType, /* SequenceRead#0: nullable MType */
+&type_nullable_model__MType, /* AbstractArrayRead#0: nullable MType */
+&type_array__Arraynullable_model__MType, /* Array[AbstractArrayRead#0]: Array[nullable MType] */
+&type_array__ArrayIteratornullable_model__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable MType] */
+}
+};
+/* runtime type nullable Array[nullable MType] */
+const struct type type_nullable_array__Arraynullable_model__MType = {
+11,
+"nullable Array[nullable MType]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[MType] */
+const struct type type_array__AbstractArrayReadmodel__MType = {
+2039,
+"AbstractArrayRead[MType]", /* class_name_string */
+13,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[nullable MType] */
+const struct type type_array__AbstractArrayReadnullable_model__MType = {
+1331,
+"AbstractArrayRead[nullable MType]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type List[MClassType] */
+const struct type type_list__Listmodel__MClassType = {
+1870,
+"List[MClassType]", /* class_name_string */
+11,
+0,
+&resolution_table_list__Listmodel__MClassType,
+12,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+1316, /* Collection[MType] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1464, /* Collection[MClassType] */
+1870, /* List[MClassType] */
+},
+};
+const struct types resolution_table_list__Listmodel__MClassType = {
+0, /* dummy */
+{
+&type_model__MClassType, /* Sequence#0: MClassType */
+&type_model__MClassType, /* SimpleCollection#0: MClassType */
+&type_list__ListNodemodel__MClassType, /* ListNode[List#0]: ListNode[MClassType] */
+&type_list__ListIteratormodel__MClassType, /* ListIterator[List#0]: ListIterator[MClassType] */
+&type_model__MClassType, /* List#0: MClassType */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Sequence#0]: Collection[MClassType] */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[MClassType] */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_model__MClassType, /* SequenceRead#0: MClassType */
+&type_nullable_list__ListNodemodel__MClassType, /* nullable ListNode[List#0]: nullable ListNode[MClassType] */
+}
+};
+/* runtime type HashMap[String, Int] */
+const struct type type_hash_collection__HashMapstring__Stringkernel__Int = {
+143,
+"HashMap[String, Int]", /* class_name_string */
+2,
+0,
+&resolution_table_hash_collection__HashMapstring__Stringkernel__Int,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+143, /* HashMap[String, Int] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapstring__Stringkernel__Int = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* MapRead#0: String */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringkernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Int]] */
+&type_hash_collection__HashMapKeysstring__Stringkernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Int] */
+&type_hash_collection__HashMapValuesstring__Stringkernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Int] */
+&type_hash_collection__HashMapIteratorstring__Stringkernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Int] */
+&type_string__String, /* Map#0: String */
+&type_kernel__Int, /* Map#1: Int */
+&type_hash_collection__HashMapNodestring__Stringkernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Int] */
+&type_string__String, /* HashCollection#0: String */
+&type_nullable_hash_collection__HashMapNodestring__Stringkernel__Int, /* nullable HashCollection#1: nullable HashMapNode[String, Int] */
+&type_hash_collection__HashMapNodestring__Stringkernel__Int, /* HashCollection#1: HashMapNode[String, Int] */
+&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
+}
+};
+/* runtime type CodeWriter */
+const struct type type_abstract_compiler__CodeWriter = {
+144,
+"CodeWriter", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+144, /* CodeWriter */
+},
+};
+/* runtime type List[String] */
+const struct type type_list__Liststring__String = {
+1669,
+"List[String]", /* class_name_string */
+7,
+0,
+&resolution_table_list__Liststring__String,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+587, /* Collection[Streamable] */
+1295, /* Collection[String] */
+1669, /* List[String] */
+},
+};
+const struct types resolution_table_list__Liststring__String = {
+0, /* dummy */
+{
+&type_string__String, /* Sequence#0: String */
+&type_string__String, /* SimpleCollection#0: String */
+&type_list__ListNodestring__String, /* ListNode[List#0]: ListNode[String] */
+&type_list__ListIteratorstring__String, /* ListIterator[List#0]: ListIterator[String] */
+&type_string__String, /* List#0: String */
+&type_string__String, /* RemovableCollection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Sequence#0]: Collection[String] */
+&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_string__String, /* SequenceRead#0: String */
+&type_nullable_list__ListNodestring__String, /* nullable ListNode[List#0]: nullable ListNode[String] */
+}
+};
+/* runtime type CodeFile */
+const struct type type_abstract_compiler__CodeFile = {
+145,
+"CodeFile", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+145, /* CodeFile */
+},
+};
+/* runtime type Array[CodeWriter] */
+const struct type type_array__Arrayabstract_compiler__CodeWriter = {
+-1, /*CAST DEAD*/
+"Array[CodeWriter]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayabstract_compiler__CodeWriter,
+11,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+628, /* Collection[CodeWriter] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1670, /* AbstractArrayRead[CodeWriter] */
+1459, /* Array[Object] */
+2040, /* Array[CodeWriter] */
+},
+};
+const struct types resolution_table_array__Arrayabstract_compiler__CodeWriter = {
+0, /* dummy */
+{
+&type_abstract_compiler__CodeWriter, /* Sequence#0: CodeWriter */
+&type_abstract_compiler__CodeWriter, /* SimpleCollection#0: CodeWriter */
+&type_array__NativeArrayabstract_compiler__CodeWriter, /* NativeArray[Array#0]: NativeArray[CodeWriter] */
+&type_array__Arrayabstract_compiler__CodeWriter, /* Array[Array#0]: Array[CodeWriter] */
+&type_array__NativeArrayabstract_compiler__CodeWriter, /* NativeArray[ArrayCapable#0]: NativeArray[CodeWriter] */
+&type_abstract_compiler__CodeWriter, /* RemovableCollection#0: CodeWriter */
+&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[Sequence#0]: Collection[CodeWriter] */
+&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[SimpleCollection#0]: Collection[CodeWriter] */
+&type_abstract_compiler__CodeWriter, /* Collection#0: CodeWriter */
+&type_abstract_collection__Collectionabstract_compiler__CodeWriter, /* Collection[Collection#0]: Collection[CodeWriter] */
+&type_abstract_compiler__CodeWriter, /* SequenceRead#0: CodeWriter */
+&type_abstract_compiler__CodeWriter, /* AbstractArrayRead#0: CodeWriter */
+&type_array__Arrayabstract_compiler__CodeWriter, /* Array[AbstractArrayRead#0]: Array[CodeWriter] */
+&type_array__ArrayIteratorabstract_compiler__CodeWriter, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CodeWriter] */
+}
+};
+/* runtime type Collection[CodeWriter] */
+const struct type type_abstract_collection__Collectionabstract_compiler__CodeWriter = {
+628,
+"Collection[CodeWriter]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[CodeWriter] */
+const struct type type_array__AbstractArrayReadabstract_compiler__CodeWriter = {
+1670,
+"AbstractArrayRead[CodeWriter]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[String] */
+const struct type type_hash_collection__HashSetstring__String = {
+1871,
+"HashSet[String]", /* class_name_string */
+9,
+0,
+&resolution_table_hash_collection__HashSetstring__String,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+84, /* Collection[Object] */
+587, /* Collection[Streamable] */
+1295, /* Collection[String] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1871, /* HashSet[String] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetstring__String = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodestring__String, /* HashSetNode[HashSet#0]: HashSetNode[String] */
+&type_string__String, /* SimpleCollection#0: String */
+&type_hash_collection__HashSetIteratorstring__String, /* HashSetIterator[HashSet#0]: HashSetIterator[String] */
+&type_abstract_collection__Collectionstring__String, /* Collection[Set#0]: Collection[String] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodestring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[String]] */
+&type_string__String, /* RemovableCollection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[HashSet#0]: Collection[String] */
+&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+NULL, /* empty */
+&type_string__String, /* HashCollection#0: String */
+&type_nullable_hash_collection__HashSetNodestring__String, /* nullable HashCollection#1: nullable HashSetNode[String] */
+&type_hash_collection__HashSetNodestring__String, /* HashCollection#1: HashSetNode[String] */
+&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
+}
+};
+/* runtime type POSetColorer[MClass] */
+const struct type type_coloring__POSetColorermodel__MClass = {
+-1, /*CAST DEAD*/
+"POSetColorer[MClass]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_coloring__POSetColorermodel__MClass,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+146, /* POSetColorer[MClass] */
+},
+};
+const struct types resolution_table_coloring__POSetColorermodel__MClass = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[POSetColorer#0, Int]: HashMap[MClass, Int] */
+&type_poset__POSetmodel__MClass, /* POSet[POSetColorer#0]: POSet[MClass] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass, /* Map[POSetColorer#0, Set[POSetColorer#0]]: Map[MClass, Set[MClass]] */
+&type_coloring__POSetConflictGraphmodel__MClass, /* POSetConflictGraph[POSetColorer#0]: POSetConflictGraph[MClass] */
+&type_hash_collection__HashSetmodel__MClass, /* HashSet[POSetColorer#0]: HashSet[MClass] */
+&type_abstract_collection__Setmodel__MClass, /* Set[POSetColorer#0]: Set[MClass] */
+&type_model__MClass, /* POSetColorer#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[POSetColorer#0]: Collection[MClass] */
+}
+};
+/* runtime type HashMap[MClass, Set[MAttribute]] */
+const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute = {
+1671,
+"HashMap[MClass, Set[MAttribute]]", /* class_name_string */
+6,
+0,
+&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+106, /* Map[MClass, Set[PropertyLayoutElement]] */
+609, /* HashMap[MClass, Set[PropertyLayoutElement]] */
+629, /* Map[MClass, Set[MAttribute]] */
+1322, /* HashMap[MClass, Set[MProperty]] */
+1671, /* HashMap[MClass, Set[MAttribute]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MAttribute]] */
+&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MAttribute]] */
+&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MAttribute]] */
+&type_model__MClass, /* Map#0: MClass */
+&type_abstract_collection__Setmodel__MAttribute, /* Map#1: Set[MAttribute] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MAttribute]] */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[MAttribute]] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* HashCollection#1: HashMapNode[MClass, Set[MAttribute]] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+}
+};
+/* runtime type Map[MClass, Set[MAttribute]] */
+const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MAttribute = {
+629,
+"Map[MClass, Set[MAttribute]]", /* class_name_string */
+4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[MAttribute] */
+const struct type type_hash_collection__HashSetmodel__MAttribute = {
+2178,
+"HashSet[MAttribute]", /* class_name_string */
+16,
+0,
+&resolution_table_hash_collection__HashSetmodel__MAttribute,
+17,
+{
+0, /* nullable Object */
+1, /* Object */
+92, /* Collection[nullable MProperty] */
+-1, /* empty */
+84, /* Collection[Object] */
+-1, /* empty */
+596, /* Collection[PropertyLayoutElement] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1476, /* Set[PropertyLayoutElement] */
+1462, /* Collection[MProperty] */
+1672, /* Collection[MAttribute] */
+1867, /* HashSet[PropertyLayoutElement] */
+2032, /* Set[MProperty] */
+2121, /* Set[MAttribute] */
+2148, /* HashSet[MProperty] */
+2178, /* HashSet[MAttribute] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetmodel__MAttribute = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodemodel__MAttribute, /* HashSetNode[HashSet#0]: HashSetNode[MAttribute] */
+&type_model__MAttribute, /* SimpleCollection#0: MAttribute */
+&type_hash_collection__HashSetIteratormodel__MAttribute, /* HashSetIterator[HashSet#0]: HashSetIterator[MAttribute] */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Set#0]: Collection[MAttribute] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MAttribute]] */
+&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[HashSet#0]: Collection[MAttribute] */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* Collection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
+NULL, /* empty */
+&type_model__MAttribute, /* HashCollection#0: MAttribute */
+&type_nullable_hash_collection__HashSetNodemodel__MAttribute, /* nullable HashCollection#1: nullable HashSetNode[MAttribute] */
+&type_hash_collection__HashSetNodemodel__MAttribute, /* HashCollection#1: HashSetNode[MAttribute] */
+&type_nullable_model__MAttribute, /* nullable HashCollection#0: nullable MAttribute */
+}
+};
+/* runtime type Set[MAttribute] */
+const struct type type_abstract_collection__Setmodel__MAttribute = {
+2121,
+"Set[MAttribute]", /* class_name_string */
+14,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Collection[MAttribute] */
+const struct type type_abstract_collection__Collectionmodel__MAttribute = {
+1672,
+"Collection[MAttribute]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type POSetBucketsColorer[MClass, PropertyLayoutElement] */
+const struct type type_coloring__POSetBucketsColorermodel__MClassseparate_compiler__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"POSetBucketsColorer[MClass, PropertyLayoutElement]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_coloring__POSetBucketsColorermodel__MClassseparate_compiler__PropertyLayoutElement,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+147, /* POSetBucketsColorer[MClass, PropertyLayoutElement] */
+},
+};
+const struct types resolution_table_coloring__POSetBucketsColorermodel__MClassseparate_compiler__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapseparate_compiler__PropertyLayoutElementkernel__Int, /* HashMap[POSetBucketsColorer#1, Int]: HashMap[PropertyLayoutElement, Int] */
+&type_poset__POSetmodel__MClass, /* POSet[POSetBucketsColorer#0]: POSet[MClass] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass, /* Map[POSetBucketsColorer#0, Set[POSetBucketsColorer#0]]: Map[MClass, Set[MClass]] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* Map[POSetBucketsColorer#0, Set[POSetBucketsColorer#1]]: Map[MClass, Set[PropertyLayoutElement]] */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[POSetBucketsColorer#0]: Collection[MClass] */
+&type_model__MClass, /* POSetBucketsColorer#0: MClass */
+}
+};
+/* runtime type POSetBucketsColorer[MClass, MAttribute] */
+const struct type type_coloring__POSetBucketsColorermodel__MClassmodel__MAttribute = {
+-1, /*CAST DEAD*/
+"POSetBucketsColorer[MClass, MAttribute]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_coloring__POSetBucketsColorermodel__MClassmodel__MAttribute,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+147, /* POSetBucketsColorer[MClass, PropertyLayoutElement] */
+630, /* POSetBucketsColorer[MClass, MAttribute] */
+},
+};
+const struct types resolution_table_coloring__POSetBucketsColorermodel__MClassmodel__MAttribute = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[POSetBucketsColorer#1, Int]: HashMap[MAttribute, Int] */
+&type_poset__POSetmodel__MClass, /* POSet[POSetBucketsColorer#0]: POSet[MClass] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass, /* Map[POSetBucketsColorer#0, Set[POSetBucketsColorer#0]]: Map[MClass, Set[MClass]] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MAttribute, /* Map[POSetBucketsColorer#0, Set[POSetBucketsColorer#1]]: Map[MClass, Set[MAttribute]] */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[POSetBucketsColorer#0]: Collection[MClass] */
+&type_model__MClass, /* POSetBucketsColorer#0: MClass */
+}
+};
+/* runtime type MClassKind */
+const struct type type_model__MClassKind = {
+-1, /*CAST DEAD*/
+"MClassKind", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+148, /* MClassKind */
+},
+};
+/* runtime type Array[RuntimeVariable] */
+const struct type type_array__Arrayabstract_compiler__RuntimeVariable = {
+-1, /*CAST DEAD*/
+"Array[RuntimeVariable]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayabstract_compiler__RuntimeVariable,
+11,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+631, /* Collection[RuntimeVariable] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1673, /* AbstractArrayRead[RuntimeVariable] */
+1459, /* Array[Object] */
+2041, /* Array[RuntimeVariable] */
+},
+};
+const struct types resolution_table_array__Arrayabstract_compiler__RuntimeVariable = {
+0, /* dummy */
+{
+&type_abstract_compiler__RuntimeVariable, /* Sequence#0: RuntimeVariable */
+&type_abstract_compiler__RuntimeVariable, /* SimpleCollection#0: RuntimeVariable */
+&type_array__NativeArrayabstract_compiler__RuntimeVariable, /* NativeArray[Array#0]: NativeArray[RuntimeVariable] */
+&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Array#0]: Array[RuntimeVariable] */
+&type_array__NativeArrayabstract_compiler__RuntimeVariable, /* NativeArray[ArrayCapable#0]: NativeArray[RuntimeVariable] */
+&type_abstract_compiler__RuntimeVariable, /* RemovableCollection#0: RuntimeVariable */
+&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[Sequence#0]: Collection[RuntimeVariable] */
+&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[SimpleCollection#0]: Collection[RuntimeVariable] */
+&type_abstract_compiler__RuntimeVariable, /* Collection#0: RuntimeVariable */
+&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[Collection#0]: Collection[RuntimeVariable] */
+&type_abstract_compiler__RuntimeVariable, /* SequenceRead#0: RuntimeVariable */
+&type_abstract_compiler__RuntimeVariable, /* AbstractArrayRead#0: RuntimeVariable */
+&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[AbstractArrayRead#0]: Array[RuntimeVariable] */
+&type_array__ArrayIteratorabstract_compiler__RuntimeVariable, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[RuntimeVariable] */
+}
+};
+/* runtime type Collection[RuntimeVariable] */
+const struct type type_abstract_collection__Collectionabstract_compiler__RuntimeVariable = {
+631,
+"Collection[RuntimeVariable]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[RuntimeVariable] */
+const struct type type_array__AbstractArrayReadabstract_compiler__RuntimeVariable = {
+1673,
+"AbstractArrayRead[RuntimeVariable]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type POSetColorer[MType] */
+const struct type type_coloring__POSetColorermodel__MType = {
+-1, /*CAST DEAD*/
+"POSetColorer[MType]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_coloring__POSetColorermodel__MType,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+149, /* POSetColorer[MType] */
+},
+};
+const struct types resolution_table_coloring__POSetColorermodel__MType = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[POSetColorer#0, Int]: HashMap[MType, Int] */
+&type_poset__POSetmodel__MType, /* POSet[POSetColorer#0]: POSet[MType] */
+&type_abstract_collection__Mapmodel__MTypeabstract_collection__Setmodel__MType, /* Map[POSetColorer#0, Set[POSetColorer#0]]: Map[MType, Set[MType]] */
+&type_coloring__POSetConflictGraphmodel__MType, /* POSetConflictGraph[POSetColorer#0]: POSetConflictGraph[MType] */
+&type_hash_collection__HashSetmodel__MType, /* HashSet[POSetColorer#0]: HashSet[MType] */
+&type_abstract_collection__Setmodel__MType, /* Set[POSetColorer#0]: Set[MType] */
+&type_model__MType, /* POSetColorer#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[POSetColorer#0]: Collection[MType] */
+}
+};
+/* runtime type SeparateCompilerVisitor */
+const struct type type_separate_compiler__SeparateCompilerVisitor = {
+632,
+"SeparateCompilerVisitor", /* class_name_string */
+3,
+0,
+&resolution_table_separate_compiler__SeparateCompilerVisitor,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+150, /* AbstractCompilerVisitor */
+632, /* SeparateCompilerVisitor */
+},
+};
+const struct types resolution_table_separate_compiler__SeparateCompilerVisitor = {
+0, /* dummy */
+{
+&type_separate_compiler__SeparateCompiler, /* COMPILER: SeparateCompiler */
+}
+};
+/* runtime type AbstractCompilerVisitor */
+const struct type type_abstract_compiler__AbstractCompilerVisitor = {
+150,
+"AbstractCompilerVisitor", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMap[EscapeMark, String] */
+const struct type type_hash_collection__HashMapscope__EscapeMarkstring__String = {
+151,
+"HashMap[EscapeMark, String]", /* class_name_string */
+2,
+0,
+&resolution_table_hash_collection__HashMapscope__EscapeMarkstring__String,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+151, /* HashMap[EscapeMark, String] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapscope__EscapeMarkstring__String = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_scope__EscapeMark, /* MapRead#0: EscapeMark */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[EscapeMark, String]] */
+&type_hash_collection__HashMapKeysscope__EscapeMarkstring__String, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[EscapeMark, String] */
+&type_hash_collection__HashMapValuesscope__EscapeMarkstring__String, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[EscapeMark, String] */
+&type_hash_collection__HashMapIteratorscope__EscapeMarkstring__String, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[EscapeMark, String] */
+&type_scope__EscapeMark, /* Map#0: EscapeMark */
+&type_string__String, /* Map#1: String */
+&type_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[EscapeMark, String] */
+&type_scope__EscapeMark, /* HashCollection#0: EscapeMark */
+&type_nullable_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* nullable HashCollection#1: nullable HashMapNode[EscapeMark, String] */
+&type_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* HashCollection#1: HashMapNode[EscapeMark, String] */
+&type_nullable_scope__EscapeMark, /* nullable HashCollection#0: nullable EscapeMark */
+}
+};
+/* runtime type HashMap[Variable, RuntimeVariable] */
+const struct type type_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable = {
+152,
+"HashMap[Variable, RuntimeVariable]", /* class_name_string */
+2,
+0,
+&resolution_table_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+152, /* HashMap[Variable, RuntimeVariable] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_scope__Variable, /* MapRead#0: Variable */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, RuntimeVariable]] */
+&type_hash_collection__HashMapKeysscope__Variableabstract_compiler__RuntimeVariable, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, RuntimeVariable] */
+&type_hash_collection__HashMapValuesscope__Variableabstract_compiler__RuntimeVariable, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, RuntimeVariable] */
+&type_hash_collection__HashMapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, RuntimeVariable] */
+&type_scope__Variable, /* Map#0: Variable */
+&type_abstract_compiler__RuntimeVariable, /* Map#1: RuntimeVariable */
+&type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, RuntimeVariable] */
+&type_scope__Variable, /* HashCollection#0: Variable */
+&type_nullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* nullable HashCollection#1: nullable HashMapNode[Variable, RuntimeVariable] */
+&type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* HashCollection#1: HashMapNode[Variable, RuntimeVariable] */
+&type_nullable_scope__Variable, /* nullable HashCollection#0: nullable Variable */
+}
+};
+/* runtime type MakefileToolchain */
+const struct type type_abstract_compiler__MakefileToolchain = {
+-1, /*CAST DEAD*/
+"MakefileToolchain", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+153, /* MakefileToolchain */
+},
+};
+/* runtime type HashMap[MClass, Set[MVirtualTypeProp]] */
+const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+1674,
+"HashMap[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+6,
+0,
+&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+106, /* Map[MClass, Set[PropertyLayoutElement]] */
+609, /* HashMap[MClass, Set[PropertyLayoutElement]] */
+633, /* Map[MClass, Set[MVirtualTypeProp]] */
+1322, /* HashMap[MClass, Set[MProperty]] */
+1674, /* HashMap[MClass, Set[MVirtualTypeProp]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* MapRead#0: MClass */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
+&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MVirtualTypeProp]] */
+&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MVirtualTypeProp]] */
+&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MVirtualTypeProp]] */
+&type_model__MClass, /* Map#0: MClass */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Map#1: Set[MVirtualTypeProp] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_model__MClass, /* HashCollection#0: MClass */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* nullable HashCollection#1: nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashCollection#1: HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
+}
+};
+/* runtime type Map[MClass, Set[MVirtualTypeProp]] */
+const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+633,
+"Map[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[MVirtualTypeProp] */
+const struct type type_hash_collection__HashSetmodel__MVirtualTypeProp = {
+2179,
+"HashSet[MVirtualTypeProp]", /* class_name_string */
+16,
+0,
+&resolution_table_hash_collection__HashSetmodel__MVirtualTypeProp,
+17,
+{
+0, /* nullable Object */
+1, /* Object */
+92, /* Collection[nullable MProperty] */
+-1, /* empty */
+84, /* Collection[Object] */
+-1, /* empty */
+596, /* Collection[PropertyLayoutElement] */
+607, /* Set[Object] */
+1321, /* HashSet[Object] */
+1476, /* Set[PropertyLayoutElement] */
+1462, /* Collection[MProperty] */
+1675, /* Collection[MVirtualTypeProp] */
+1867, /* HashSet[PropertyLayoutElement] */
+2032, /* Set[MProperty] */
+2122, /* Set[MVirtualTypeProp] */
+2148, /* HashSet[MProperty] */
+2179, /* HashSet[MVirtualTypeProp] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetmodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* HashSetNode[HashSet#0]: HashSetNode[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* SimpleCollection#0: MVirtualTypeProp */
+&type_hash_collection__HashSetIteratormodel__MVirtualTypeProp, /* HashSetIterator[HashSet#0]: HashSetIterator[MVirtualTypeProp] */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Set#0]: Collection[MVirtualTypeProp] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
+&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[HashSet#0]: Collection[MVirtualTypeProp] */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
+NULL, /* empty */
+&type_model__MVirtualTypeProp, /* HashCollection#0: MVirtualTypeProp */
+&type_nullable_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* nullable HashCollection#1: nullable HashSetNode[MVirtualTypeProp] */
+&type_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* HashCollection#1: HashSetNode[MVirtualTypeProp] */
+&type_nullable_model__MVirtualTypeProp, /* nullable HashCollection#0: nullable MVirtualTypeProp */
+}
+};
+/* runtime type Set[MVirtualTypeProp] */
+const struct type type_abstract_collection__Setmodel__MVirtualTypeProp = {
+2122,
+"Set[MVirtualTypeProp]", /* class_name_string */
+14,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Collection[MVirtualTypeProp] */
+const struct type type_abstract_collection__Collectionmodel__MVirtualTypeProp = {
+1675,
+"Collection[MVirtualTypeProp]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type POSetBucketsColorer[MClass, MVirtualTypeProp] */
+const struct type type_coloring__POSetBucketsColorermodel__MClassmodel__MVirtualTypeProp = {
+-1, /*CAST DEAD*/
+"POSetBucketsColorer[MClass, MVirtualTypeProp]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_coloring__POSetBucketsColorermodel__MClassmodel__MVirtualTypeProp,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+147, /* POSetBucketsColorer[MClass, PropertyLayoutElement] */
+634, /* POSetBucketsColorer[MClass, MVirtualTypeProp] */
+},
+};
+const struct types resolution_table_coloring__POSetBucketsColorermodel__MClassmodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[POSetBucketsColorer#1, Int]: HashMap[MVirtualTypeProp, Int] */
+&type_poset__POSetmodel__MClass, /* POSet[POSetBucketsColorer#0]: POSet[MClass] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass, /* Map[POSetBucketsColorer#0, Set[POSetBucketsColorer#0]]: Map[MClass, Set[MClass]] */
+&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* Map[POSetBucketsColorer#0, Set[POSetBucketsColorer#1]]: Map[MClass, Set[MVirtualTypeProp]] */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[POSetBucketsColorer#0]: Collection[MClass] */
+&type_model__MClass, /* POSetBucketsColorer#0: MClass */
+}
+};
+/* runtime type BashCompletion */
+const struct type type_toolcontext__BashCompletion = {
+-1, /*CAST DEAD*/
+"BashCompletion", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+104, /* Streamable */
+635, /* BashCompletion */
+},
+};
+/* runtime type Array[ReduceAction] */
+const struct type type_array__Arrayparser_work__ReduceAction = {
+-1, /*CAST DEAD*/
+"Array[ReduceAction]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayparser_work__ReduceAction,
+11,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+83, /* SequenceRead[nullable Object] */
+84, /* Collection[Object] */
+636, /* Collection[ReduceAction] */
+-1, /* empty */
+1294, /* AbstractArrayRead[Object] */
+1676, /* AbstractArrayRead[ReduceAction] */
+1459, /* Array[Object] */
+2042, /* Array[ReduceAction] */
+},
+};
+const struct types resolution_table_array__Arrayparser_work__ReduceAction = {
+0, /* dummy */
+{
+&type_parser_work__ReduceAction, /* Sequence#0: ReduceAction */
+&type_parser_work__ReduceAction, /* SimpleCollection#0: ReduceAction */
+&type_array__NativeArrayparser_work__ReduceAction, /* NativeArray[Array#0]: NativeArray[ReduceAction] */
+&type_array__Arrayparser_work__ReduceAction, /* Array[Array#0]: Array[ReduceAction] */
+&type_array__NativeArrayparser_work__ReduceAction, /* NativeArray[ArrayCapable#0]: NativeArray[ReduceAction] */
+&type_parser_work__ReduceAction, /* RemovableCollection#0: ReduceAction */
+&type_abstract_collection__Collectionparser_work__ReduceAction, /* Collection[Sequence#0]: Collection[ReduceAction] */
+&type_abstract_collection__Collectionparser_work__ReduceAction, /* Collection[SimpleCollection#0]: Collection[ReduceAction] */
+&type_parser_work__ReduceAction, /* Collection#0: ReduceAction */
+&type_abstract_collection__Collectionparser_work__ReduceAction, /* Collection[Collection#0]: Collection[ReduceAction] */
+&type_parser_work__ReduceAction, /* SequenceRead#0: ReduceAction */
+&type_parser_work__ReduceAction, /* AbstractArrayRead#0: ReduceAction */
+&type_array__Arrayparser_work__ReduceAction, /* Array[AbstractArrayRead#0]: Array[ReduceAction] */
+&type_array__ArrayIteratorparser_work__ReduceAction, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ReduceAction] */
+}
+};
+/* runtime type Collection[ReduceAction] */
+const struct type type_abstract_collection__Collectionparser_work__ReduceAction = {
+636,
+"Collection[ReduceAction]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[ReduceAction] */
+const struct type type_array__AbstractArrayReadparser_work__ReduceAction = {
+1676,
+"AbstractArrayRead[ReduceAction]", /* class_name_string */
+8,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ReduceAction0 */
+const struct type type_parser__ReduceAction0 = {
+-1, /*CAST DEAD*/
+"ReduceAction0", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+637, /* ReduceAction0 */
+},
+};
+/* runtime type ReduceAction */
+const struct type type_parser_work__ReduceAction = {
+154,
+"ReduceAction", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ReduceAction1 */
+const struct type type_parser__ReduceAction1 = {
+-1, /*CAST DEAD*/
+"ReduceAction1", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+638, /* ReduceAction1 */
+},
+};
+/* runtime type ReduceAction2 */
+const struct type type_parser__ReduceAction2 = {
+-1, /*CAST DEAD*/
+"ReduceAction2", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+639, /* ReduceAction2 */
+},
+};
+/* runtime type ReduceAction3 */
+const struct type type_parser__ReduceAction3 = {
+-1, /*CAST DEAD*/
+"ReduceAction3", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+640, /* ReduceAction3 */
+},
+};
+/* runtime type ReduceAction4 */
+const struct type type_parser__ReduceAction4 = {
+-1, /*CAST DEAD*/
+"ReduceAction4", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+641, /* ReduceAction4 */
+},
+};
+/* runtime type ReduceAction5 */
+const struct type type_parser__ReduceAction5 = {
+-1, /*CAST DEAD*/
+"ReduceAction5", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+642, /* ReduceAction5 */
+},
+};
+/* runtime type ReduceAction6 */
+const struct type type_parser__ReduceAction6 = {
+-1, /*CAST DEAD*/
+"ReduceAction6", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+643, /* ReduceAction6 */
+},
+};
+/* runtime type ReduceAction7 */
+const struct type type_parser__ReduceAction7 = {
+-1, /*CAST DEAD*/
+"ReduceAction7", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+644, /* ReduceAction7 */
+},
+};
+/* runtime type ReduceAction8 */
+const struct type type_parser__ReduceAction8 = {
+-1, /*CAST DEAD*/
+"ReduceAction8", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+645, /* ReduceAction8 */
+},
+};
+/* runtime type ReduceAction9 */
+const struct type type_parser__ReduceAction9 = {
+-1, /*CAST DEAD*/
+"ReduceAction9", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+646, /* ReduceAction9 */
+},
+};
+/* runtime type ReduceAction10 */
+const struct type type_parser__ReduceAction10 = {
+-1, /*CAST DEAD*/
+"ReduceAction10", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+647, /* ReduceAction10 */
+},
+};
+/* runtime type ReduceAction11 */
+const struct type type_parser__ReduceAction11 = {
+-1, /*CAST DEAD*/
+"ReduceAction11", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+648, /* ReduceAction11 */
+},
+};
+/* runtime type ReduceAction12 */
+const struct type type_parser__ReduceAction12 = {
+-1, /*CAST DEAD*/
+"ReduceAction12", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+649, /* ReduceAction12 */
+},
+};
+/* runtime type ReduceAction13 */
+const struct type type_parser__ReduceAction13 = {
+-1, /*CAST DEAD*/
+"ReduceAction13", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+650, /* ReduceAction13 */
+},
+};
+/* runtime type ReduceAction14 */
+const struct type type_parser__ReduceAction14 = {
+-1, /*CAST DEAD*/
+"ReduceAction14", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+651, /* ReduceAction14 */
+},
+};
+/* runtime type ReduceAction15 */
+const struct type type_parser__ReduceAction15 = {
+-1, /*CAST DEAD*/
+"ReduceAction15", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+652, /* ReduceAction15 */
+},
+};
+/* runtime type ReduceAction16 */
+const struct type type_parser__ReduceAction16 = {
+-1, /*CAST DEAD*/
+"ReduceAction16", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2676, /* List[MClassType] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2033, /* Collection[MType] */
-2240, /* Collection[MClassType] */
+154, /* ReduceAction */
+653, /* ReduceAction16 */
 },
 };
-const struct types resolution_table_list__Listmodel__MClassType = {
-0, /* dummy */
-{
-&type_list__Listmodel__MClassType, /* List[List#0]: List[MClassType] */
-&type_list__ListNodemodel__MClassType, /* ListNode[List#0]: ListNode[MClassType] */
-&type_model__MClassType, /* Sequence#0: MClassType */
-&type_model__MClassType, /* SimpleCollection#0: MClassType */
-&type_list__ListIteratormodel__MClassType, /* ListIterator[List#0]: ListIterator[MClassType] */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[List#0]: Collection[MClassType] */
-&type_model__MClassType, /* List#0: MClassType */
-&type_nullable_list__ListNodemodel__MClassType, /* nullable ListNode[List#0]: nullable ListNode[MClassType] */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Sequence#0]: Collection[MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Sequence#0]: Array[MClassType] */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[MClassType] */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
-&type_model__MClassType, /* SequenceRead#0: MClassType */
-}
-};
-/* runtime type CodeWriter */
-const struct type type_abstract_compiler__CodeWriter = {
-140,
-"CodeWriter", /* class_name_string */
-2,
+/* runtime type ReduceAction17 */
+const struct type type_parser__ReduceAction17 = {
+-1, /*CAST DEAD*/
+"ReduceAction17", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-140, /* CodeWriter */
+154, /* ReduceAction */
+654, /* ReduceAction17 */
 },
 };
-/* runtime type List[String] */
-const struct type type_list__Liststring__String = {
-2262,
-"List[String]", /* class_name_string */
-2,
+/* runtime type ReduceAction18 */
+const struct type type_parser__ReduceAction18 = {
+-1, /*CAST DEAD*/
+"ReduceAction18", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__Liststring__String,
-7,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2262, /* List[String] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-652, /* Collection[Streamable] */
-1870, /* Collection[String] */
+154, /* ReduceAction */
+655, /* ReduceAction18 */
 },
 };
-const struct types resolution_table_list__Liststring__String = {
-0, /* dummy */
-{
-&type_list__Liststring__String, /* List[List#0]: List[String] */
-&type_list__ListNodestring__String, /* ListNode[List#0]: ListNode[String] */
-&type_string__String, /* Sequence#0: String */
-&type_string__String, /* SimpleCollection#0: String */
-&type_list__ListIteratorstring__String, /* ListIterator[List#0]: ListIterator[String] */
-&type_abstract_collection__Collectionstring__String, /* Collection[List#0]: Collection[String] */
-&type_string__String, /* List#0: String */
-&type_nullable_list__ListNodestring__String, /* nullable ListNode[List#0]: nullable ListNode[String] */
-&type_string__String, /* RemovableCollection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Sequence#0]: Collection[String] */
-&type_array__Arraystring__String, /* Array[Sequence#0]: Array[String] */
-&type_abstract_collection__Collectionstring__String, /* Collection[SimpleCollection#0]: Collection[String] */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
-&type_string__String, /* SequenceRead#0: String */
-}
-};
-/* runtime type Array[MClassType] */
-const struct type type_array__Arraymodel__MClassType = {
-2875,
-"Array[MClassType]", /* class_name_string */
-20,
+/* runtime type ReduceAction19 */
+const struct type type_parser__ReduceAction19 = {
+-1, /*CAST DEAD*/
+"ReduceAction19", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraymodel__MClassType,
-21,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable Array[nullable MType] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-1838, /* AbstractArrayRead[Object] */
-1878, /* AbstractArrayRead[nullable MType] */
-2029, /* Array[Object] */
-2033, /* Collection[MType] */
-2240, /* Collection[MClassType] */
-2260, /* Array[nullable MType] */
-2261, /* AbstractArrayRead[NitniCallback] */
--1, /* empty */
-2675, /* Array[NitniCallback] */
-2778, /* AbstractArrayRead[MType] */
-2822, /* AbstractArrayRead[MClassType] */
--1, /* empty */
-2863, /* Array[MType] */
-2875, /* Array[MClassType] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MClassType = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MClassType, /* Array[Array#0]: Array[MClassType] */
-&type_array__NativeArraymodel__MClassType, /* NativeArray[Array#0]: NativeArray[MClassType] */
-&type_model__MClassType, /* Sequence#0: MClassType */
-&type_model__MClassType, /* SimpleCollection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Array#0]: Collection[MClassType] */
-&type_model__MClassType, /* Array#0: MClassType */
-&type_array__NativeArraymodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[MClassType] */
-&type_model__MClassType, /* AbstractArray#0: MClassType */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Sequence#0]: Collection[MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Sequence#0]: Array[MClassType] */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[MClassType] */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
-&type_model__MClassType, /* SequenceRead#0: MClassType */
-&type_model__MClassType, /* AbstractArrayRead#0: MClassType */
-&type_array__Arraymodel__MClassType, /* Array[AbstractArrayRead#0]: Array[MClassType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MClassType] not a live type) */
-&type_array__ArrayIteratormodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MClassType] */
-}
-};
-/* runtime type AbstractArrayRead[MClassType] */
-const struct type type_array__AbstractArrayReadmodel__MClassType = {
-2822,
-"AbstractArrayRead[MClassType]", /* class_name_string */
-17,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+154, /* ReduceAction */
+656, /* ReduceAction19 */
+},
 };
-/* runtime type MClassKind */
-const struct type type_model__MClassKind = {
+/* runtime type ReduceAction20 */
+const struct type type_parser__ReduceAction20 = {
 -1, /*CAST DEAD*/
-"MClassKind", /* class_name_string */
+"ReduceAction20", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-141, /* MClassKind */
+154, /* ReduceAction */
+657, /* ReduceAction20 */
 },
 };
-/* runtime type MTypeBMizer */
-const struct type type_layout_builders__MTypeBMizer = {
+/* runtime type ReduceAction21 */
+const struct type type_parser__ReduceAction21 = {
 -1, /*CAST DEAD*/
-"MTypeBMizer", /* class_name_string */
+"ReduceAction21", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MTypeBMizer,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-142, /* MTypeBMizer */
+154, /* ReduceAction */
+658, /* ReduceAction21 */
 },
 };
-const struct types resolution_table_layout_builders__MTypeBMizer = {
-0, /* dummy */
+/* runtime type ReduceAction22 */
+const struct type type_parser__ReduceAction22 = {
+-1, /*CAST DEAD*/
+"ReduceAction22", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_layout_builders__POSetBuildermodel__MType, /* POSetBuilder[TypingBMizer#0]: POSetBuilder[MType] */
-&type_nullable_poset__POSetmodel__MType, /* nullable POSet[TypingBMizer#0]: nullable POSet[MType] */
-&type_abstract_collection__Setmodel__MType, /* Set[TypingBMizer#0]: Set[MType] */
-&type_layout_builders__Layoutmodel__MType, /* Layout[TypingBMizer#0]: Layout[MType] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[TypingBMizer#0, Int]: HashMap[MType, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MType, /* Set[TypingLayoutBuilder#0]: Set[MType] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+659, /* ReduceAction22 */
+},
 };
-/* runtime type MTypeHasher */
-const struct type type_layout_builders__MTypeHasher = {
+/* runtime type ReduceAction23 */
+const struct type type_parser__ReduceAction23 = {
 -1, /*CAST DEAD*/
-"MTypeHasher", /* class_name_string */
+"ReduceAction23", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MTypeHasher,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-143, /* MTypeHasher */
+154, /* ReduceAction */
+660, /* ReduceAction23 */
 },
 };
-const struct types resolution_table_layout_builders__MTypeHasher = {
-0, /* dummy */
+/* runtime type ReduceAction24 */
+const struct type type_parser__ReduceAction24 = {
+-1, /*CAST DEAD*/
+"ReduceAction24", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_layout_builders__POSetBuildermodel__MType, /* POSetBuilder[TypingHasher#0]: POSetBuilder[MType] */
-&type_nullable_poset__POSetmodel__MType, /* nullable POSet[TypingHasher#0]: nullable POSet[MType] */
-&type_abstract_collection__Setmodel__MType, /* Set[TypingHasher#0]: Set[MType] */
-&type_layout_builders__PHLayoutmodel__MTypemodel__MType, /* PHLayout[TypingHasher#0, TypingHasher#0]: PHLayout[MType, MType] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[TypingHasher#0, Int]: HashMap[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType, /* HashMap[TypingHasher#0, Set[TypingHasher#0]]: HashMap[MType, Set[MType]] */
-&type_hash_collection__HashSetmodel__MType, /* HashSet[TypingHasher#0]: HashSet[MType] */
-&type_abstract_collection__Mapmodel__MTypeabstract_collection__Setmodel__MType, /* Map[PerfectHasher#0, Set[PerfectHasher#1]]: Map[MType, Set[MType]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[PerfectHasher#1, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[PerfectHasher#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Setmodel__MType, /* Set[PerfectHasher#1]: Set[MType] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[PerfectHasher#0, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[PerfectHasher#0, Map[PerfectHasher#1, Int]]: HashMap[MType, Map[MType, Int]] */
-&type_abstract_collection__Setmodel__MType, /* Set[TypingLayoutBuilder#0]: Set[MType] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[PerfectHasher#1, Int]: HashMap[MType, Int] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+661, /* ReduceAction24 */
+},
 };
-/* runtime type MTypeColorer */
-const struct type type_layout_builders__MTypeColorer = {
+/* runtime type ReduceAction26 */
+const struct type type_parser__ReduceAction26 = {
 -1, /*CAST DEAD*/
-"MTypeColorer", /* class_name_string */
+"ReduceAction26", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MTypeColorer,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-144, /* MTypeColorer */
+154, /* ReduceAction */
+662, /* ReduceAction26 */
 },
 };
-const struct types resolution_table_layout_builders__MTypeColorer = {
-0, /* dummy */
+/* runtime type ReduceAction27 */
+const struct type type_parser__ReduceAction27 = {
+-1, /*CAST DEAD*/
+"ReduceAction27", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_hash_collection__HashSetmodel__MType, /* HashSet[TypingColorer#0]: HashSet[MType] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[TypingColorer#0, Int]: HashMap[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType, /* HashMap[TypingColorer#0, Array[TypingColorer#0]]: HashMap[MType, Array[MType]] */
-&type_abstract_collection__Setmodel__MType, /* Set[TypingColorer#0]: Set[MType] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[TypingColorer#0, Int]: Map[MType, Int] */
-&type_layout_builders__POSetBuildermodel__MType, /* POSetBuilder[TypingColorer#0]: POSetBuilder[MType] */
-&type_nullable_poset__POSetmodel__MType, /* nullable POSet[TypingColorer#0]: nullable POSet[MType] */
-&type_layout_builders__Layoutmodel__MType, /* Layout[TypingColorer#0]: Layout[MType] */
-&type_model__MType, /* TypingColorer#0: MType */
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[TypingColorer#0, HashSet[TypingColorer#0]]: HashMap[MType, HashSet[MType]] */
-&type_nullable_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType, /* nullable HashMap[TypingColorer#0, Set[TypingColorer#0]]: nullable HashMap[MType, Set[MType]] */
-NULL, /* empty (Map[TypingColorer#0, Array[TypingColorer#0]]: Map[MType, Array[MType]] not a live type) */
-&type_array__Arraymodel__MType, /* Array[TypingColorer#0]: Array[MType] */
-&type_abstract_collection__Setmodel__MType, /* Set[TypingLayoutBuilder#0]: Set[MType] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+663, /* ReduceAction27 */
+},
 };
-/* runtime type SeparateCompilerVisitor */
-const struct type type_separate_compiler__SeparateCompilerVisitor = {
-677,
-"SeparateCompilerVisitor", /* class_name_string */
-3,
+/* runtime type ReduceAction28 */
+const struct type type_parser__ReduceAction28 = {
+-1, /*CAST DEAD*/
+"ReduceAction28", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_separate_compiler__SeparateCompilerVisitor,
+NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-145, /* AbstractCompilerVisitor */
-677, /* SeparateCompilerVisitor */
+154, /* ReduceAction */
+664, /* ReduceAction28 */
 },
 };
-const struct types resolution_table_separate_compiler__SeparateCompilerVisitor = {
-0, /* dummy */
+/* runtime type ReduceAction29 */
+const struct type type_parser__ReduceAction29 = {
+-1, /*CAST DEAD*/
+"ReduceAction29", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_separate_compiler__SeparateCompiler, /* COMPILER: SeparateCompiler */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+665, /* ReduceAction29 */
+},
 };
-/* runtime type AbstractCompilerVisitor */
-const struct type type_abstract_compiler__AbstractCompilerVisitor = {
-145,
-"AbstractCompilerVisitor", /* class_name_string */
-2,
+/* runtime type ReduceAction30 */
+const struct type type_parser__ReduceAction30 = {
+-1, /*CAST DEAD*/
+"ReduceAction30", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+666, /* ReduceAction30 */
+},
 };
-/* runtime type HashMap[EscapeMark, String] */
-const struct type type_hash_collection__HashMapscope__EscapeMarkstring__String = {
-146,
-"HashMap[EscapeMark, String]", /* class_name_string */
-2,
+/* runtime type ReduceAction31 */
+const struct type type_parser__ReduceAction31 = {
+-1, /*CAST DEAD*/
+"ReduceAction31", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapscope__EscapeMarkstring__String,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-146, /* HashMap[EscapeMark, String] */
+154, /* ReduceAction */
+667, /* ReduceAction31 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapscope__EscapeMarkstring__String = {
-0, /* dummy */
+/* runtime type ReduceAction32 */
+const struct type type_parser__ReduceAction32 = {
+-1, /*CAST DEAD*/
+"ReduceAction32", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__EscapeMark, /* MapRead#0: EscapeMark */
-&type_hash_collection__HashMapKeysscope__EscapeMarkstring__String, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[EscapeMark, String] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[EscapeMark, String]] */
-&type_hash_collection__HashMapValuesscope__EscapeMarkstring__String, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[EscapeMark, String] */
-&type_hash_collection__HashMapIteratorscope__EscapeMarkstring__String, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[EscapeMark, String] */
-&type_scope__EscapeMark, /* Map#0: EscapeMark */
-&type_string__String, /* Map#1: String */
-&type_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[EscapeMark, String] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[EscapeMark, String] not a live type) */
-&type_string__String, /* MapRead#1: String */
-&type_scope__EscapeMark, /* HashCollection#0: EscapeMark */
-&type_nullable_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* nullable HashCollection#1: nullable HashMapNode[EscapeMark, String] */
-&type_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* HashCollection#1: HashMapNode[EscapeMark, String] */
-&type_nullable_scope__EscapeMark, /* nullable HashCollection#0: nullable EscapeMark */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+668, /* ReduceAction32 */
+},
 };
-/* runtime type HashMap[Variable, RuntimeVariable] */
-const struct type type_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable = {
-147,
-"HashMap[Variable, RuntimeVariable]", /* class_name_string */
-2,
+/* runtime type ReduceAction33 */
+const struct type type_parser__ReduceAction33 = {
+-1, /*CAST DEAD*/
+"ReduceAction33", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-147, /* HashMap[Variable, RuntimeVariable] */
+154, /* ReduceAction */
+669, /* ReduceAction33 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__Variable, /* MapRead#0: Variable */
-&type_hash_collection__HashMapKeysscope__Variableabstract_compiler__RuntimeVariable, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, RuntimeVariable] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, RuntimeVariable]] */
-&type_hash_collection__HashMapValuesscope__Variableabstract_compiler__RuntimeVariable, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, RuntimeVariable] */
-&type_hash_collection__HashMapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, RuntimeVariable] */
-&type_scope__Variable, /* Map#0: Variable */
-&type_abstract_compiler__RuntimeVariable, /* Map#1: RuntimeVariable */
-&type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, RuntimeVariable] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, RuntimeVariable] not a live type) */
-&type_abstract_compiler__RuntimeVariable, /* MapRead#1: RuntimeVariable */
-&type_scope__Variable, /* HashCollection#0: Variable */
-&type_nullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* nullable HashCollection#1: nullable HashMapNode[Variable, RuntimeVariable] */
-&type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* HashCollection#1: HashMapNode[Variable, RuntimeVariable] */
-&type_nullable_scope__Variable, /* nullable HashCollection#0: nullable Variable */
-}
-};
-/* runtime type NativeFile */
-const struct type type_file__NativeFile = {
+/* runtime type ReduceAction34 */
+const struct type type_parser__ReduceAction34 = {
 -1, /*CAST DEAD*/
-"NativeFile", /* class_name_string */
+"ReduceAction34", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -5948,115 +6764,119 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-148, /* Pointer */
-678, /* NativeFile */
+154, /* ReduceAction */
+670, /* ReduceAction34 */
 },
 };
-/* runtime type Pointer */
-const struct type type_kernel__Pointer = {
+/* runtime type ReduceAction35 */
+const struct type type_parser__ReduceAction35 = {
 -1, /*CAST DEAD*/
-"Pointer", /* class_name_string */
+"ReduceAction35", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+671, /* ReduceAction35 */
+},
 };
-/* runtime type MProject */
-const struct type type_mproject__MProject = {
-149,
-"MProject", /* class_name_string */
-2,
+/* runtime type ReduceAction36 */
+const struct type type_parser__ReduceAction36 = {
+-1, /*CAST DEAD*/
+"ReduceAction36", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-149, /* MProject */
+154, /* ReduceAction */
+672, /* ReduceAction36 */
 },
 };
-/* runtime type POSet[MGroup] */
-const struct type type_poset__POSetmproject__MGroup = {
-2044,
-"POSet[MGroup]", /* class_name_string */
-3,
+/* runtime type ReduceAction37 */
+const struct type type_parser__ReduceAction37 = {
+-1, /*CAST DEAD*/
+"ReduceAction37", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_poset__POSetmproject__MGroup,
-6,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-150, /* Collection[nullable MGroup] */
-2044, /* POSet[MGroup] */
-92, /* Collection[Object] */
-1879, /* Collection[MGroup] */
+154, /* ReduceAction */
+673, /* ReduceAction37 */
 },
 };
-const struct types resolution_table_poset__POSetmproject__MGroup = {
-0, /* dummy */
+/* runtime type ReduceAction38 */
+const struct type type_parser__ReduceAction38 = {
+-1, /*CAST DEAD*/
+"ReduceAction38", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_mproject__MGroup, /* AbstractSorter#0: MGroup */
-&type_array__Arraymproject__MGroup, /* Array[AbstractSorter#0]: Array[MGroup] */
-&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MGroup, POSetElement[MGroup]] */
-&type_mproject__MGroup, /* POSet#0: MGroup */
-&type_poset__POSetElementmproject__MGroup, /* POSetElement[POSet#0]: POSetElement[MGroup] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_mproject__MGroup, /* Collection#0: MGroup */
-&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Collection#0]: Collection[MGroup] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+674, /* ReduceAction38 */
+},
 };
-/* runtime type Collection[MGroup] */
-const struct type type_abstract_collection__Collectionmproject__MGroup = {
-1879,
-"Collection[MGroup]", /* class_name_string */
-5,
+/* runtime type ReduceAction39 */
+const struct type type_parser__ReduceAction39 = {
+-1, /*CAST DEAD*/
+"ReduceAction39", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+675, /* ReduceAction39 */
+},
 };
-/* runtime type Collection[nullable MGroup] */
-const struct type type_abstract_collection__Collectionnullable_mproject__MGroup = {
-150,
-"Collection[nullable MGroup]", /* class_name_string */
-2,
+/* runtime type ReduceAction40 */
+const struct type type_parser__ReduceAction40 = {
+-1, /*CAST DEAD*/
+"ReduceAction40", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+676, /* ReduceAction40 */
+},
 };
-/* runtime type MGroup */
-const struct type type_mproject__MGroup = {
-679,
-"MGroup", /* class_name_string */
-3,
+/* runtime type ReduceAction41 */
+const struct type type_parser__ReduceAction41 = {
+-1, /*CAST DEAD*/
+"ReduceAction41", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-12, /* nullable MGroup */
-679, /* MGroup */
+154, /* ReduceAction */
+677, /* ReduceAction41 */
 },
 };
-/* runtime type nullable MGroup */
-const struct type type_nullable_mproject__MGroup = {
-12,
-"nullable MGroup", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type ModulePath */
-const struct type type_modelbuilder__ModulePath = {
+/* runtime type ReduceAction43 */
+const struct type type_parser__ReduceAction43 = {
 -1, /*CAST DEAD*/
-"ModulePath", /* class_name_string */
+"ReduceAction43", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -6064,37 +6884,29 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable ModulePath */
-680, /* ModulePath */
+154, /* ReduceAction */
+678, /* ReduceAction43 */
 },
 };
-/* runtime type nullable ModulePath */
-const struct type type_nullable_modelbuilder__ModulePath = {
-13,
-"nullable ModulePath", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type IFStream */
-const struct type type_file__IFStream = {
+/* runtime type ReduceAction44 */
+const struct type type_parser__ReduceAction44 = {
 -1, /*CAST DEAD*/
-"IFStream", /* class_name_string */
+"ReduceAction44", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-151, /* IFStream */
+154, /* ReduceAction */
+679, /* ReduceAction44 */
 },
 };
-/* runtime type Lexer */
-const struct type type_lexer__Lexer = {
+/* runtime type ReduceAction45 */
+const struct type type_parser__ReduceAction45 = {
 -1, /*CAST DEAD*/
-"Lexer", /* class_name_string */
+"ReduceAction45", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -6102,96 +6914,89 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-152, /* TablesCapable */
-681, /* Lexer */
+154, /* ReduceAction */
+680, /* ReduceAction45 */
 },
 };
-/* runtime type TablesCapable */
-const struct type type_tables__TablesCapable = {
+/* runtime type ReduceAction46 */
+const struct type type_parser__ReduceAction46 = {
 -1, /*CAST DEAD*/
-"TablesCapable", /* class_name_string */
+"ReduceAction46", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-152, /* TablesCapable */
+154, /* ReduceAction */
+681, /* ReduceAction46 */
 },
 };
-/* runtime type SourceFile */
-const struct type type_location__SourceFile = {
+/* runtime type ReduceAction47 */
+const struct type type_parser__ReduceAction47 = {
 -1, /*CAST DEAD*/
-"SourceFile", /* class_name_string */
+"ReduceAction47", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-153, /* SourceFile */
+154, /* ReduceAction */
+682, /* ReduceAction47 */
 },
 };
-/* runtime type Array[Int] */
-const struct type type_array__Arraykernel__Int = {
-2677,
-"Array[Int]", /* class_name_string */
-6,
+/* runtime type ReduceAction48 */
+const struct type type_parser__ReduceAction48 = {
+-1, /*CAST DEAD*/
+"ReduceAction48", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraykernel__Int,
-10,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2263, /* AbstractArrayRead[Int] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-661, /* Collection[Int] */
-2677, /* Array[Int] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
+154, /* ReduceAction */
+683, /* ReduceAction48 */
 },
 };
-const struct types resolution_table_array__Arraykernel__Int = {
-0, /* dummy */
+/* runtime type ReduceAction49 */
+const struct type type_parser__ReduceAction49 = {
+-1, /*CAST DEAD*/
+"ReduceAction49", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arraykernel__Int, /* Array[Array#0]: Array[Int] */
-&type_array__NativeArraykernel__Int, /* NativeArray[Array#0]: NativeArray[Int] */
-&type_kernel__Int, /* Sequence#0: Int */
-&type_kernel__Int, /* SimpleCollection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Array#0]: Collection[Int] */
-&type_kernel__Int, /* Array#0: Int */
-&type_array__NativeArraykernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[Int] */
-&type_kernel__Int, /* AbstractArray#0: Int */
-&type_kernel__Int, /* RemovableCollection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Sequence#0]: Collection[Int] */
-&type_array__Arraykernel__Int, /* Array[Sequence#0]: Array[Int] */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[SimpleCollection#0]: Collection[Int] */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
-&type_kernel__Int, /* SequenceRead#0: Int */
-&type_kernel__Int, /* AbstractArrayRead#0: Int */
-&type_array__Arraykernel__Int, /* Array[AbstractArrayRead#0]: Array[Int] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Int] not a live type) */
-&type_array__ArrayIteratorkernel__Int, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Int] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+684, /* ReduceAction49 */
+},
 };
-/* runtime type AbstractArrayRead[Int] */
-const struct type type_array__AbstractArrayReadkernel__Int = {
-2263,
-"AbstractArrayRead[Int]", /* class_name_string */
-2,
+/* runtime type ReduceAction50 */
+const struct type type_parser__ReduceAction50 = {
+-1, /*CAST DEAD*/
+"ReduceAction50", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+685, /* ReduceAction50 */
+},
 };
-/* runtime type Parser */
-const struct type type_parser__Parser = {
+/* runtime type ReduceAction51 */
+const struct type type_parser__ReduceAction51 = {
 -1, /*CAST DEAD*/
-"Parser", /* class_name_string */
+"ReduceAction51", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -6199,14 +7004,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-152, /* TablesCapable */
-682, /* Parser */
+154, /* ReduceAction */
+686, /* ReduceAction51 */
 },
 };
-/* runtime type Stderr */
-const struct type type_file__Stderr = {
+/* runtime type ReduceAction52 */
+const struct type type_parser__ReduceAction52 = {
 -1, /*CAST DEAD*/
-"Stderr", /* class_name_string */
+"ReduceAction52", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -6214,1756 +7019,1139 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-127, /* OFStream */
-683, /* Stderr */
+154, /* ReduceAction */
+687, /* ReduceAction52 */
 },
 };
-/* runtime type Array[AStdClassdef] */
-const struct type type_array__Arrayparser_nodes__AStdClassdef = {
-2864,
-"Array[AStdClassdef]", /* class_name_string */
-17,
+/* runtime type ReduceAction53 */
+const struct type type_parser__ReduceAction53 = {
+-1, /*CAST DEAD*/
+"ReduceAction53", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__AStdClassdef,
-18,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2045, /* Collection[AClassdef] */
-1838, /* AbstractArrayRead[Object] */
-2243, /* AbstractArrayRead[ANode] */
-2029, /* Array[Object] */
-2264, /* Collection[AStdClassdef] */
-2664, /* Array[ANode] */
-2665, /* AbstractArrayRead[Prod] */
-2779, /* AbstractArrayRead[AClassdef] */
-2802, /* Array[Prod] */
-2823, /* AbstractArrayRead[AStdClassdef] */
-2842, /* Array[AClassdef] */
-2864, /* Array[AStdClassdef] */
+154, /* ReduceAction */
+688, /* ReduceAction53 */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AStdClassdef = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AStdClassdef, /* Array[Array#0]: Array[AStdClassdef] */
-&type_array__NativeArrayparser_nodes__AStdClassdef, /* NativeArray[Array#0]: NativeArray[AStdClassdef] */
-&type_parser_nodes__AStdClassdef, /* Sequence#0: AStdClassdef */
-&type_parser_nodes__AStdClassdef, /* SimpleCollection#0: AStdClassdef */
-&type_abstract_collection__Collectionparser_nodes__AStdClassdef, /* Collection[Array#0]: Collection[AStdClassdef] */
-&type_parser_nodes__AStdClassdef, /* Array#0: AStdClassdef */
-&type_array__NativeArrayparser_nodes__AStdClassdef, /* NativeArray[ArrayCapable#0]: NativeArray[AStdClassdef] */
-&type_parser_nodes__AStdClassdef, /* AbstractArray#0: AStdClassdef */
-&type_parser_nodes__AStdClassdef, /* RemovableCollection#0: AStdClassdef */
-&type_abstract_collection__Collectionparser_nodes__AStdClassdef, /* Collection[Sequence#0]: Collection[AStdClassdef] */
-&type_array__Arrayparser_nodes__AStdClassdef, /* Array[Sequence#0]: Array[AStdClassdef] */
-&type_abstract_collection__Collectionparser_nodes__AStdClassdef, /* Collection[SimpleCollection#0]: Collection[AStdClassdef] */
-&type_parser_nodes__AStdClassdef, /* Collection#0: AStdClassdef */
-&type_abstract_collection__Collectionparser_nodes__AStdClassdef, /* Collection[Collection#0]: Collection[AStdClassdef] */
-&type_parser_nodes__AStdClassdef, /* SequenceRead#0: AStdClassdef */
-&type_parser_nodes__AStdClassdef, /* AbstractArrayRead#0: AStdClassdef */
-&type_array__Arrayparser_nodes__AStdClassdef, /* Array[AbstractArrayRead#0]: Array[AStdClassdef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AStdClassdef] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AStdClassdef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AStdClassdef] */
-}
-};
-/* runtime type Array[AClassdef] */
-const struct type type_array__Arrayparser_nodes__AClassdef = {
-2842,
-"Array[AClassdef]", /* class_name_string */
-16,
+/* runtime type ReduceAction54 */
+const struct type type_parser__ReduceAction54 = {
+-1, /*CAST DEAD*/
+"ReduceAction54", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__AClassdef,
-17,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2045, /* Collection[AClassdef] */
-1838, /* AbstractArrayRead[Object] */
-2243, /* AbstractArrayRead[ANode] */
-2029, /* Array[Object] */
--1, /* empty */
-2664, /* Array[ANode] */
-2665, /* AbstractArrayRead[Prod] */
-2779, /* AbstractArrayRead[AClassdef] */
-2802, /* Array[Prod] */
--1, /* empty */
-2842, /* Array[AClassdef] */
+154, /* ReduceAction */
+689, /* ReduceAction54 */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AClassdef = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Array#0]: Array[AClassdef] */
-&type_array__NativeArrayparser_nodes__AClassdef, /* NativeArray[Array#0]: NativeArray[AClassdef] */
-&type_parser_nodes__AClassdef, /* Sequence#0: AClassdef */
-&type_parser_nodes__AClassdef, /* SimpleCollection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Array#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* Array#0: AClassdef */
-&type_array__NativeArrayparser_nodes__AClassdef, /* NativeArray[ArrayCapable#0]: NativeArray[AClassdef] */
-&type_parser_nodes__AClassdef, /* AbstractArray#0: AClassdef */
-&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Sequence#0]: Collection[AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Sequence#0]: Array[AClassdef] */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[SimpleCollection#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* SequenceRead#0: AClassdef */
-&type_parser_nodes__AClassdef, /* AbstractArrayRead#0: AClassdef */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[AbstractArrayRead#0]: Array[AClassdef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AClassdef] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AClassdef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AClassdef] */
-}
-};
-/* runtime type Collection[AStdClassdef] */
-const struct type type_abstract_collection__Collectionparser_nodes__AStdClassdef = {
-2264,
-"Collection[AStdClassdef]", /* class_name_string */
-10,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[AClassdef] */
-const struct type type_abstract_collection__Collectionparser_nodes__AClassdef = {
-2045,
-"Collection[AClassdef]", /* class_name_string */
-6,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[AStdClassdef] */
-const struct type type_array__AbstractArrayReadparser_nodes__AStdClassdef = {
-2823,
-"AbstractArrayRead[AStdClassdef]", /* class_name_string */
-15,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[AClassdef] */
-const struct type type_array__AbstractArrayReadparser_nodes__AClassdef = {
-2779,
-"AbstractArrayRead[AClassdef]", /* class_name_string */
-13,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type DivByZeroVisitor */
-const struct type type_div_by_zero__DivByZeroVisitor = {
+/* runtime type ReduceAction55 */
+const struct type type_parser__ReduceAction55 = {
 -1, /*CAST DEAD*/
-"DivByZeroVisitor", /* class_name_string */
+"ReduceAction55", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-154, /* DivByZeroVisitor */
+154, /* ReduceAction */
+690, /* ReduceAction55 */
 },
 };
-/* runtime type ANodes[AClassdef] */
-const struct type type_parser_nodes__ANodesparser_nodes__AClassdef = {
+/* runtime type ReduceAction56 */
+const struct type type_parser__ReduceAction56 = {
 -1, /*CAST DEAD*/
-"ANodes[AClassdef]", /* class_name_string */
+"ReduceAction56", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_parser_nodes__ANodesparser_nodes__AClassdef,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2045, /* Collection[AClassdef] */
-2492, /* ANodes[AClassdef] */
+154, /* ReduceAction */
+691, /* ReduceAction56 */
 },
 };
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__AClassdef = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AClassdef, /* Array[ANodes#0]: Array[AClassdef] */
-&type_parser_nodes__AClassdef, /* ANodes#0: AClassdef */
-&type_parser_nodes__AClassdef, /* Sequence#0: AClassdef */
-&type_parser_nodes__AClassdef, /* SimpleCollection#0: AClassdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Sequence#0]: Collection[AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Sequence#0]: Array[AClassdef] */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[SimpleCollection#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* SequenceRead#0: AClassdef */
-}
-};
-/* runtime type ANodes[APropdef] */
-const struct type type_parser_nodes__ANodesparser_nodes__APropdef = {
+/* runtime type ReduceAction57 */
+const struct type type_parser__ReduceAction57 = {
 -1, /*CAST DEAD*/
-"ANodes[APropdef]", /* class_name_string */
+"ReduceAction57", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_parser_nodes__ANodesparser_nodes__APropdef,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2046, /* Collection[APropdef] */
-2493, /* ANodes[APropdef] */
+154, /* ReduceAction */
+692, /* ReduceAction57 */
 },
 };
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__APropdef = {
-0, /* dummy */
+/* runtime type ReduceAction58 */
+const struct type type_parser__ReduceAction58 = {
+-1, /*CAST DEAD*/
+"ReduceAction58", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arrayparser_nodes__APropdef, /* Array[ANodes#0]: Array[APropdef] */
-&type_parser_nodes__APropdef, /* ANodes#0: APropdef */
-&type_parser_nodes__APropdef, /* Sequence#0: APropdef */
-&type_parser_nodes__APropdef, /* SimpleCollection#0: APropdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Sequence#0]: Collection[APropdef] */
-&type_array__Arrayparser_nodes__APropdef, /* Array[Sequence#0]: Array[APropdef] */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[SimpleCollection#0]: Collection[APropdef] */
-&type_parser_nodes__APropdef, /* Collection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
-&type_parser_nodes__APropdef, /* SequenceRead#0: APropdef */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+693, /* ReduceAction58 */
+},
 };
-/* runtime type Collection[APropdef] */
-const struct type type_abstract_collection__Collectionparser_nodes__APropdef = {
-2046,
-"Collection[APropdef]", /* class_name_string */
-6,
+/* runtime type ReduceAction59 */
+const struct type type_parser__ReduceAction59 = {
+-1, /*CAST DEAD*/
+"ReduceAction59", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+694, /* ReduceAction59 */
+},
 };
-/* runtime type TransformVisitor */
-const struct type type_transform__TransformVisitor = {
+/* runtime type ReduceAction60 */
+const struct type type_parser__ReduceAction60 = {
 -1, /*CAST DEAD*/
-"TransformVisitor", /* class_name_string */
+"ReduceAction60", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-155, /* TransformVisitor */
+154, /* ReduceAction */
+695, /* ReduceAction60 */
 },
 };
-/* runtime type ASTValidationVisitor */
-const struct type type_astvalidation__ASTValidationVisitor = {
+/* runtime type ReduceAction61 */
+const struct type type_parser__ReduceAction61 = {
 -1, /*CAST DEAD*/
-"ASTValidationVisitor", /* class_name_string */
+"ReduceAction61", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-156, /* ASTValidationVisitor */
+154, /* ReduceAction */
+696, /* ReduceAction61 */
 },
 };
-/* runtime type List[ANode] */
-const struct type type_list__Listparser_nodes__ANode = {
-2047,
-"List[ANode]", /* class_name_string */
-2,
+/* runtime type ReduceAction62 */
+const struct type type_parser__ReduceAction62 = {
+-1, /*CAST DEAD*/
+"ReduceAction62", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__Listparser_nodes__ANode,
-6,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2047, /* List[ANode] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
+154, /* ReduceAction */
+697, /* ReduceAction62 */
 },
 };
-const struct types resolution_table_list__Listparser_nodes__ANode = {
-0, /* dummy */
+/* runtime type ReduceAction63 */
+const struct type type_parser__ReduceAction63 = {
+-1, /*CAST DEAD*/
+"ReduceAction63", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_list__Listparser_nodes__ANode, /* List[List#0]: List[ANode] */
-&type_list__ListNodeparser_nodes__ANode, /* ListNode[List#0]: ListNode[ANode] */
-&type_parser_nodes__ANode, /* Sequence#0: ANode */
-&type_parser_nodes__ANode, /* SimpleCollection#0: ANode */
-&type_list__ListIteratorparser_nodes__ANode, /* ListIterator[List#0]: ListIterator[ANode] */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[List#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* List#0: ANode */
-&type_nullable_list__ListNodeparser_nodes__ANode, /* nullable ListNode[List#0]: nullable ListNode[ANode] */
-&type_parser_nodes__ANode, /* RemovableCollection#0: ANode */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Sequence#0]: Collection[ANode] */
-&type_array__Arrayparser_nodes__ANode, /* Array[Sequence#0]: Array[ANode] */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[SimpleCollection#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* Collection#0: ANode */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Collection#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* SequenceRead#0: ANode */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+698, /* ReduceAction63 */
+},
 };
-/* runtime type HashSet[ANode] */
-const struct type type_hash_collection__HashSetparser_nodes__ANode = {
-2265,
-"HashSet[ANode]", /* class_name_string */
-2,
+/* runtime type ReduceAction64 */
+const struct type type_parser__ReduceAction64 = {
+-1, /*CAST DEAD*/
+"ReduceAction64", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetparser_nodes__ANode,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2265, /* HashSet[ANode] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
--1, /* empty */
-1872, /* HashSet[Object] */
+154, /* ReduceAction */
+699, /* ReduceAction64 */
 },
 };
-const struct types resolution_table_hash_collection__HashSetparser_nodes__ANode = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetNodeparser_nodes__ANode, /* HashSetNode[HashSet#0]: HashSetNode[ANode] */
-&type_hash_collection__HashSetIteratorparser_nodes__ANode, /* HashSetIterator[HashSet#0]: HashSetIterator[ANode] */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[HashSet#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* SimpleCollection#0: ANode */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Set#0]: Collection[ANode] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodeparser_nodes__ANode, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[ANode]] */
-NULL, /* empty */
-&type_parser_nodes__ANode, /* RemovableCollection#0: ANode */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[SimpleCollection#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* Collection#0: ANode */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Collection#0]: Collection[ANode] */
-&type_parser_nodes__ANode, /* HashCollection#0: ANode */
-&type_nullable_hash_collection__HashSetNodeparser_nodes__ANode, /* nullable HashCollection#1: nullable HashSetNode[ANode] */
-&type_hash_collection__HashSetNodeparser_nodes__ANode, /* HashCollection#1: HashSetNode[ANode] */
-&type_nullable_parser_nodes__ANode, /* nullable HashCollection#0: nullable ANode */
-}
+/* runtime type ReduceAction65 */
+const struct type type_parser__ReduceAction65 = {
+-1, /*CAST DEAD*/
+"ReduceAction65", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+700, /* ReduceAction65 */
+},
 };
-/* runtime type MClassPOSetBuilder */
-const struct type type_layout_builders__MClassPOSetBuilder = {
+/* runtime type ReduceAction66 */
+const struct type type_parser__ReduceAction66 = {
 -1, /*CAST DEAD*/
-"MClassPOSetBuilder", /* class_name_string */
+"ReduceAction66", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MClassPOSetBuilder,
+NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-157, /* POSetBuilder[MClass] */
-684, /* MClassPOSetBuilder */
+154, /* ReduceAction */
+701, /* ReduceAction66 */
 },
 };
-const struct types resolution_table_layout_builders__MClassPOSetBuilder = {
-0, /* dummy */
-{
-&type_abstract_collection__Setmodel__MClass, /* Set[POSetBuilder#0]: Set[MClass] */
-}
-};
-/* runtime type POSetBuilder[MClass] */
-const struct type type_layout_builders__POSetBuildermodel__MClass = {
-157,
-"POSetBuilder[MClass]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMap[MClass, Array[nullable MClass]] */
-const struct type type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass = {
-158,
-"HashMap[MClass, Array[nullable MClass]]", /* class_name_string */
-2,
+/* runtime type ReduceAction67 */
+const struct type type_parser__ReduceAction67 = {
+-1, /*CAST DEAD*/
+"ReduceAction67", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-158, /* HashMap[MClass, Array[nullable MClass]] */
+154, /* ReduceAction */
+702, /* ReduceAction67 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Array[nullable MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
-&type_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Array[nullable MClass]] */
-&type_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Array[nullable MClass]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_array__Arraynullable_model__MClass, /* Map#1: Array[nullable MClass] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Array[nullable MClass]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, Array[nullable MClass]] not a live type) */
-&type_array__Arraynullable_model__MClass, /* MapRead#1: Array[nullable MClass] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* nullable HashCollection#1: nullable HashMapNode[MClass, Array[nullable MClass]] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* HashCollection#1: HashMapNode[MClass, Array[nullable MClass]] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
-}
-};
-/* runtime type Array[nullable MPropDef] */
-const struct type type_array__Arraynullable_model__MPropDef = {
-2048,
-"Array[nullable MPropDef]", /* class_name_string */
-8,
+/* runtime type ReduceAction68 */
+const struct type type_parser__ReduceAction68 = {
+-1, /*CAST DEAD*/
+"ReduceAction68", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraynullable_model__MPropDef,
-9,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1880, /* AbstractArrayRead[nullable MPropDef] */
-91, /* SequenceRead[nullable Object] */
--1, /* empty */
-124, /* Collection[nullable MPropDef] */
--1, /* empty */
--1, /* empty */
-2048, /* Array[nullable MPropDef] */
+154, /* ReduceAction */
+703, /* ReduceAction68 */
 },
 };
-const struct types resolution_table_array__Arraynullable_model__MPropDef = {
-0, /* dummy */
-{
-&type_array__Arraynullable_model__MPropDef, /* Array[Array#0]: Array[nullable MPropDef] */
-&type_array__NativeArraynullable_model__MPropDef, /* NativeArray[Array#0]: NativeArray[nullable MPropDef] */
-&type_nullable_model__MPropDef, /* Sequence#0: nullable MPropDef */
-&type_nullable_model__MPropDef, /* SimpleCollection#0: nullable MPropDef */
-&type_abstract_collection__Collectionnullable_model__MPropDef, /* Collection[Array#0]: Collection[nullable MPropDef] */
-&type_nullable_model__MPropDef, /* Array#0: nullable MPropDef */
-&type_array__NativeArraynullable_model__MPropDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable MPropDef] */
-&type_nullable_model__MPropDef, /* AbstractArray#0: nullable MPropDef */
-&type_nullable_model__MPropDef, /* RemovableCollection#0: nullable MPropDef */
-&type_abstract_collection__Collectionnullable_model__MPropDef, /* Collection[Sequence#0]: Collection[nullable MPropDef] */
-&type_array__Arraynullable_model__MPropDef, /* Array[Sequence#0]: Array[nullable MPropDef] */
-&type_abstract_collection__Collectionnullable_model__MPropDef, /* Collection[SimpleCollection#0]: Collection[nullable MPropDef] */
-&type_nullable_model__MPropDef, /* Collection#0: nullable MPropDef */
-&type_abstract_collection__Collectionnullable_model__MPropDef, /* Collection[Collection#0]: Collection[nullable MPropDef] */
-&type_nullable_model__MPropDef, /* SequenceRead#0: nullable MPropDef */
-&type_nullable_model__MPropDef, /* AbstractArrayRead#0: nullable MPropDef */
-&type_array__Arraynullable_model__MPropDef, /* Array[AbstractArrayRead#0]: Array[nullable MPropDef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable MPropDef] not a live type) */
-&type_array__ArrayIteratornullable_model__MPropDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable MPropDef] */
-}
-};
-/* runtime type AbstractArrayRead[nullable MPropDef] */
-const struct type type_array__AbstractArrayReadnullable_model__MPropDef = {
-1880,
-"AbstractArrayRead[nullable MPropDef]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[MPropDef] */
-const struct type type_array__Arraymodel__MPropDef = {
-2843,
-"Array[MPropDef]", /* class_name_string */
-16,
+/* runtime type ReduceAction69 */
+const struct type type_parser__ReduceAction69 = {
+-1, /*CAST DEAD*/
+"ReduceAction69", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraymodel__MPropDef,
-17,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1880, /* AbstractArrayRead[nullable MPropDef] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-124, /* Collection[nullable MPropDef] */
-646, /* Collection[PropertyLayoutElement] */
-1838, /* AbstractArrayRead[Object] */
-2048, /* Array[nullable MPropDef] */
-2029, /* Array[Object] */
-2042, /* Collection[MPropDef] */
-2239, /* AbstractArrayRead[PropertyLayoutElement] */
--1, /* empty */
-2661, /* Array[PropertyLayoutElement] */
-2780, /* AbstractArrayRead[MPropDef] */
--1, /* empty */
-2843, /* Array[MPropDef] */
+154, /* ReduceAction */
+704, /* ReduceAction69 */
 },
 };
-const struct types resolution_table_array__Arraymodel__MPropDef = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MPropDef, /* Array[Array#0]: Array[MPropDef] */
-&type_array__NativeArraymodel__MPropDef, /* NativeArray[Array#0]: NativeArray[MPropDef] */
-&type_model__MPropDef, /* Sequence#0: MPropDef */
-&type_model__MPropDef, /* SimpleCollection#0: MPropDef */
-&type_abstract_collection__Collectionmodel__MPropDef, /* Collection[Array#0]: Collection[MPropDef] */
-&type_model__MPropDef, /* Array#0: MPropDef */
-&type_array__NativeArraymodel__MPropDef, /* NativeArray[ArrayCapable#0]: NativeArray[MPropDef] */
-&type_model__MPropDef, /* AbstractArray#0: MPropDef */
-&type_model__MPropDef, /* RemovableCollection#0: MPropDef */
-&type_abstract_collection__Collectionmodel__MPropDef, /* Collection[Sequence#0]: Collection[MPropDef] */
-&type_array__Arraymodel__MPropDef, /* Array[Sequence#0]: Array[MPropDef] */
-&type_abstract_collection__Collectionmodel__MPropDef, /* Collection[SimpleCollection#0]: Collection[MPropDef] */
-&type_model__MPropDef, /* Collection#0: MPropDef */
-&type_abstract_collection__Collectionmodel__MPropDef, /* Collection[Collection#0]: Collection[MPropDef] */
-&type_model__MPropDef, /* SequenceRead#0: MPropDef */
-&type_model__MPropDef, /* AbstractArrayRead#0: MPropDef */
-&type_array__Arraymodel__MPropDef, /* Array[AbstractArrayRead#0]: Array[MPropDef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MPropDef] not a live type) */
-&type_array__ArrayIteratormodel__MPropDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MPropDef] */
-}
-};
-/* runtime type AbstractArrayRead[MPropDef] */
-const struct type type_array__AbstractArrayReadmodel__MPropDef = {
-2780,
-"AbstractArrayRead[MPropDef]", /* class_name_string */
-14,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type SeparateErasureCompilerVisitor */
-const struct type type_separate_erasure_compiler__SeparateErasureCompilerVisitor = {
+/* runtime type ReduceAction70 */
+const struct type type_parser__ReduceAction70 = {
 -1, /*CAST DEAD*/
-"SeparateErasureCompilerVisitor", /* class_name_string */
+"ReduceAction70", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_separate_erasure_compiler__SeparateErasureCompilerVisitor,
-5,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-145, /* AbstractCompilerVisitor */
-677, /* SeparateCompilerVisitor */
-1881, /* SeparateErasureCompilerVisitor */
+154, /* ReduceAction */
+705, /* ReduceAction70 */
 },
 };
-const struct types resolution_table_separate_erasure_compiler__SeparateErasureCompilerVisitor = {
-0, /* dummy */
-{
-&type_separate_compiler__SeparateCompiler, /* COMPILER: SeparateCompiler */
-}
-};
-/* runtime type GlobalCompilerVisitor */
-const struct type type_global_compiler__GlobalCompilerVisitor = {
-685,
-"GlobalCompilerVisitor", /* class_name_string */
-3,
+/* runtime type ReduceAction71 */
+const struct type type_parser__ReduceAction71 = {
+-1, /*CAST DEAD*/
+"ReduceAction71", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_global_compiler__GlobalCompilerVisitor,
+NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-145, /* AbstractCompilerVisitor */
-685, /* GlobalCompilerVisitor */
+154, /* ReduceAction */
+706, /* ReduceAction71 */
 },
 };
-const struct types resolution_table_global_compiler__GlobalCompilerVisitor = {
-0, /* dummy */
-{
-&type_global_compiler__GlobalCompiler, /* COMPILER: GlobalCompiler */
-}
-};
-/* runtime type RuntimeVariable */
-const struct type type_abstract_compiler__RuntimeVariable = {
-159,
-"RuntimeVariable", /* class_name_string */
-2,
+/* runtime type ReduceAction72 */
+const struct type type_parser__ReduceAction72 = {
+-1, /*CAST DEAD*/
+"ReduceAction72", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-159, /* RuntimeVariable */
+154, /* ReduceAction */
+707, /* ReduceAction72 */
 },
 };
-/* runtime type SeparateRuntimeFunction */
-const struct type type_separate_compiler__SeparateRuntimeFunction = {
+/* runtime type ReduceAction73 */
+const struct type type_parser__ReduceAction73 = {
 -1, /*CAST DEAD*/
-"SeparateRuntimeFunction", /* class_name_string */
+"ReduceAction73", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_separate_compiler__SeparateRuntimeFunction,
-5,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-14, /* nullable AbstractRuntimeFunction */
-686, /* AbstractRuntimeFunction */
-1882, /* SeparateRuntimeFunction */
+154, /* ReduceAction */
+708, /* ReduceAction73 */
 },
 };
-const struct types resolution_table_separate_compiler__SeparateRuntimeFunction = {
-0, /* dummy */
-{
-&type_abstract_compiler__AbstractCompiler, /* COMPILER: AbstractCompiler */
-&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
-}
-};
-/* runtime type AbstractRuntimeFunction */
-const struct type type_abstract_compiler__AbstractRuntimeFunction = {
-686,
-"AbstractRuntimeFunction", /* class_name_string */
-3,
+/* runtime type ReduceAction74 */
+const struct type type_parser__ReduceAction74 = {
+-1, /*CAST DEAD*/
+"ReduceAction74", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AbstractRuntimeFunction */
-const struct type type_nullable_abstract_compiler__AbstractRuntimeFunction = {
-14,
-"nullable AbstractRuntimeFunction", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+709, /* ReduceAction74 */
+},
 };
-/* runtime type VirtualRuntimeFunction */
-const struct type type_separate_compiler__VirtualRuntimeFunction = {
+/* runtime type ReduceAction75 */
+const struct type type_parser__ReduceAction75 = {
 -1, /*CAST DEAD*/
-"VirtualRuntimeFunction", /* class_name_string */
+"ReduceAction75", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_separate_compiler__VirtualRuntimeFunction,
-5,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-14, /* nullable AbstractRuntimeFunction */
-686, /* AbstractRuntimeFunction */
-1883, /* VirtualRuntimeFunction */
+154, /* ReduceAction */
+710, /* ReduceAction75 */
 },
 };
-const struct types resolution_table_separate_compiler__VirtualRuntimeFunction = {
-0, /* dummy */
+/* runtime type ReduceAction76 */
+const struct type type_parser__ReduceAction76 = {
+-1, /*CAST DEAD*/
+"ReduceAction76", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_abstract_compiler__AbstractCompiler, /* COMPILER: AbstractCompiler */
-&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+711, /* ReduceAction76 */
+},
 };
-/* runtime type MGenericType */
-const struct type type_model__MGenericType = {
-2678,
-"MGenericType", /* class_name_string */
-8,
+/* runtime type ReduceAction77 */
+const struct type type_parser__ReduceAction77 = {
+-1, /*CAST DEAD*/
+"ReduceAction77", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-9,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-7, /* nullable NitniCallback */
-104, /* nullable MType */
-651, /* NitniCallback */
-687, /* nullable MClassType */
-2034, /* MType */
-2494, /* MClassType */
-2678, /* MGenericType */
+154, /* ReduceAction */
+712, /* ReduceAction77 */
 },
 };
-/* runtime type MClassType */
-const struct type type_model__MClassType = {
-2494,
-"MClassType", /* class_name_string */
-7,
+/* runtime type ReduceAction78 */
+const struct type type_parser__ReduceAction78 = {
+-1, /*CAST DEAD*/
+"ReduceAction78", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-8,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-7, /* nullable NitniCallback */
-104, /* nullable MType */
-651, /* NitniCallback */
-687, /* nullable MClassType */
-2034, /* MType */
-2494, /* MClassType */
+154, /* ReduceAction */
+713, /* ReduceAction78 */
 },
 };
-/* runtime type nullable MClassType */
-const struct type type_nullable_model__MClassType = {
-687,
-"nullable MClassType", /* class_name_string */
-5,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMap[MModule, Set[MClassDef]] */
-const struct type type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassDef = {
-160,
-"HashMap[MModule, Set[MClassDef]]", /* class_name_string */
-2,
+/* runtime type ReduceAction79 */
+const struct type type_parser__ReduceAction79 = {
+-1, /*CAST DEAD*/
+"ReduceAction79", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassDef,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-160, /* HashMap[MModule, Set[MClassDef]] */
+154, /* ReduceAction */
+714, /* ReduceAction79 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassDef = {
-0, /* dummy */
+/* runtime type ReduceAction80 */
+const struct type type_parser__ReduceAction80 = {
+-1, /*CAST DEAD*/
+"ReduceAction80", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_mmodule__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapKeysmmodule__MModuleabstract_collection__Setmodel__MClassDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, Set[MClassDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, Set[MClassDef]]] */
-&type_hash_collection__HashMapValuesmmodule__MModuleabstract_collection__Setmodel__MClassDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, Set[MClassDef]] */
-&type_hash_collection__HashMapIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, Set[MClassDef]] */
-&type_mmodule__MModule, /* Map#0: MModule */
-&type_abstract_collection__Setmodel__MClassDef, /* Map#1: Set[MClassDef] */
-&type_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, Set[MClassDef]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, Set[MClassDef]] not a live type) */
-&type_abstract_collection__Setmodel__MClassDef, /* MapRead#1: Set[MClassDef] */
-&type_mmodule__MModule, /* HashCollection#0: MModule */
-&type_nullable_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassDef, /* nullable HashCollection#1: nullable HashMapNode[MModule, Set[MClassDef]] */
-&type_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassDef, /* HashCollection#1: HashMapNode[MModule, Set[MClassDef]] */
-&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+715, /* ReduceAction80 */
+},
 };
-/* runtime type HashMap[MModule, Set[MClass]] */
-const struct type type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClass = {
-161,
-"HashMap[MModule, Set[MClass]]", /* class_name_string */
-2,
+/* runtime type ReduceAction81 */
+const struct type type_parser__ReduceAction81 = {
+-1, /*CAST DEAD*/
+"ReduceAction81", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClass,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-161, /* HashMap[MModule, Set[MClass]] */
+154, /* ReduceAction */
+716, /* ReduceAction81 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClass = {
-0, /* dummy */
+/* runtime type ReduceAction82 */
+const struct type type_parser__ReduceAction82 = {
+-1, /*CAST DEAD*/
+"ReduceAction82", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_mmodule__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapKeysmmodule__MModuleabstract_collection__Setmodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, Set[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, Set[MClass]]] */
-&type_hash_collection__HashMapValuesmmodule__MModuleabstract_collection__Setmodel__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, Set[MClass]] */
-&type_hash_collection__HashMapIteratormmodule__MModuleabstract_collection__Setmodel__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, Set[MClass]] */
-&type_mmodule__MModule, /* Map#0: MModule */
-&type_abstract_collection__Setmodel__MClass, /* Map#1: Set[MClass] */
-&type_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, Set[MClass]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, Set[MClass]] not a live type) */
-&type_abstract_collection__Setmodel__MClass, /* MapRead#1: Set[MClass] */
-&type_mmodule__MModule, /* HashCollection#0: MModule */
-&type_nullable_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClass, /* nullable HashCollection#1: nullable HashMapNode[MModule, Set[MClass]] */
-&type_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClass, /* HashCollection#1: HashMapNode[MModule, Set[MClass]] */
-&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+717, /* ReduceAction82 */
+},
 };
-/* runtime type HashMap[MModule, Set[MClassType]] */
-const struct type type_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassType = {
-162,
-"HashMap[MModule, Set[MClassType]]", /* class_name_string */
-2,
+/* runtime type ReduceAction83 */
+const struct type type_parser__ReduceAction83 = {
+-1, /*CAST DEAD*/
+"ReduceAction83", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassType,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-162, /* HashMap[MModule, Set[MClassType]] */
+154, /* ReduceAction */
+718, /* ReduceAction83 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmmodule__MModuleabstract_collection__Setmodel__MClassType = {
-0, /* dummy */
+/* runtime type ReduceAction84 */
+const struct type type_parser__ReduceAction84 = {
+-1, /*CAST DEAD*/
+"ReduceAction84", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_mmodule__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapKeysmmodule__MModuleabstract_collection__Setmodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, Set[MClassType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, Set[MClassType]]] */
-&type_hash_collection__HashMapValuesmmodule__MModuleabstract_collection__Setmodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, Set[MClassType]] */
-&type_hash_collection__HashMapIteratormmodule__MModuleabstract_collection__Setmodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, Set[MClassType]] */
-&type_mmodule__MModule, /* Map#0: MModule */
-&type_abstract_collection__Setmodel__MClassType, /* Map#1: Set[MClassType] */
-&type_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, Set[MClassType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, Set[MClassType]] not a live type) */
-&type_abstract_collection__Setmodel__MClassType, /* MapRead#1: Set[MClassType] */
-&type_mmodule__MModule, /* HashCollection#0: MModule */
-&type_nullable_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassType, /* nullable HashCollection#1: nullable HashMapNode[MModule, Set[MClassType]] */
-&type_hash_collection__HashMapNodemmodule__MModuleabstract_collection__Setmodel__MClassType, /* HashCollection#1: HashMapNode[MModule, Set[MClassType]] */
-&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+719, /* ReduceAction84 */
+},
 };
-/* runtime type MClass */
-const struct type type_model__MClass = {
-688,
-"MClass", /* class_name_string */
-3,
+/* runtime type ReduceAction85 */
+const struct type type_parser__ReduceAction85 = {
+-1, /*CAST DEAD*/
+"ReduceAction85", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable MClass */
-688, /* MClass */
+154, /* ReduceAction */
+720, /* ReduceAction85 */
 },
 };
-/* runtime type nullable MClass */
-const struct type type_nullable_model__MClass = {
-15,
-"nullable MClass", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[MGenericType] */
-const struct type type_array__Arraymodel__MGenericType = {
-2878,
-"Array[MGenericType]", /* class_name_string */
-21,
+/* runtime type ReduceAction86 */
+const struct type type_parser__ReduceAction86 = {
+-1, /*CAST DEAD*/
+"ReduceAction86", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraymodel__MGenericType,
-22,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable Array[nullable MType] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-1838, /* AbstractArrayRead[Object] */
-1878, /* AbstractArrayRead[nullable MType] */
-2029, /* Array[Object] */
-2033, /* Collection[MType] */
-2240, /* Collection[MClassType] */
-2260, /* Array[nullable MType] */
-2261, /* AbstractArrayRead[NitniCallback] */
-2495, /* Collection[MGenericType] */
-2675, /* Array[NitniCallback] */
-2778, /* AbstractArrayRead[MType] */
-2822, /* AbstractArrayRead[MClassType] */
-2844, /* AbstractArrayRead[MGenericType] */
-2863, /* Array[MType] */
-2875, /* Array[MClassType] */
-2878, /* Array[MGenericType] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MGenericType = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MGenericType, /* Array[Array#0]: Array[MGenericType] */
-&type_array__NativeArraymodel__MGenericType, /* NativeArray[Array#0]: NativeArray[MGenericType] */
-&type_model__MGenericType, /* Sequence#0: MGenericType */
-&type_model__MGenericType, /* SimpleCollection#0: MGenericType */
-&type_abstract_collection__Collectionmodel__MGenericType, /* Collection[Array#0]: Collection[MGenericType] */
-&type_model__MGenericType, /* Array#0: MGenericType */
-&type_array__NativeArraymodel__MGenericType, /* NativeArray[ArrayCapable#0]: NativeArray[MGenericType] */
-&type_model__MGenericType, /* AbstractArray#0: MGenericType */
-&type_model__MGenericType, /* RemovableCollection#0: MGenericType */
-&type_abstract_collection__Collectionmodel__MGenericType, /* Collection[Sequence#0]: Collection[MGenericType] */
-&type_array__Arraymodel__MGenericType, /* Array[Sequence#0]: Array[MGenericType] */
-&type_abstract_collection__Collectionmodel__MGenericType, /* Collection[SimpleCollection#0]: Collection[MGenericType] */
-&type_model__MGenericType, /* Collection#0: MGenericType */
-&type_abstract_collection__Collectionmodel__MGenericType, /* Collection[Collection#0]: Collection[MGenericType] */
-&type_model__MGenericType, /* SequenceRead#0: MGenericType */
-&type_model__MGenericType, /* AbstractArrayRead#0: MGenericType */
-&type_array__Arraymodel__MGenericType, /* Array[AbstractArrayRead#0]: Array[MGenericType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MGenericType] not a live type) */
-&type_array__ArrayIteratormodel__MGenericType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MGenericType] */
-}
-};
-/* runtime type Collection[MGenericType] */
-const struct type type_abstract_collection__Collectionmodel__MGenericType = {
-2495,
-"Collection[MGenericType]", /* class_name_string */
-14,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[MGenericType] */
-const struct type type_array__AbstractArrayReadmodel__MGenericType = {
-2844,
-"AbstractArrayRead[MGenericType]", /* class_name_string */
-18,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+154, /* ReduceAction */
+721, /* ReduceAction86 */
+},
 };
-/* runtime type MClassDef */
-const struct type type_model__MClassDef = {
-689,
-"MClassDef", /* class_name_string */
-3,
+/* runtime type ReduceAction87 */
+const struct type type_parser__ReduceAction87 = {
+-1, /*CAST DEAD*/
+"ReduceAction87", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-16, /* nullable MClassDef */
-689, /* MClassDef */
+154, /* ReduceAction */
+722, /* ReduceAction87 */
 },
 };
-/* runtime type nullable MClassDef */
-const struct type type_nullable_model__MClassDef = {
-16,
-"nullable MClassDef", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Location */
-const struct type type_location__Location = {
-163,
-"Location", /* class_name_string */
-2,
+/* runtime type ReduceAction88 */
+const struct type type_parser__ReduceAction88 = {
+-1, /*CAST DEAD*/
+"ReduceAction88", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_location__Location,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-163, /* Location */
+154, /* ReduceAction */
+723, /* ReduceAction88 */
 },
 };
-const struct types resolution_table_location__Location = {
-0, /* dummy */
-{
-&type_location__Location, /* OTHER: Location */
-}
-};
-/* runtime type HashSet[MClassDef] */
-const struct type type_hash_collection__HashSetmodel__MClassDef = {
-2496,
-"HashSet[MClassDef]", /* class_name_string */
-6,
+/* runtime type ReduceAction89 */
+const struct type type_parser__ReduceAction89 = {
+-1, /*CAST DEAD*/
+"ReduceAction89", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetmodel__MClassDef,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-647, /* Collection[MClassDef] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2049, /* Set[MClassDef] */
-2496, /* HashSet[MClassDef] */
-1872, /* HashSet[Object] */
+154, /* ReduceAction */
+724, /* ReduceAction89 */
 },
 };
-const struct types resolution_table_hash_collection__HashSetmodel__MClassDef = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetNodemodel__MClassDef, /* HashSetNode[HashSet#0]: HashSetNode[MClassDef] */
-&type_hash_collection__HashSetIteratormodel__MClassDef, /* HashSetIterator[HashSet#0]: HashSetIterator[MClassDef] */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[HashSet#0]: Collection[MClassDef] */
-&type_model__MClassDef, /* SimpleCollection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Set#0]: Collection[MClassDef] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MClassDef]] */
-NULL, /* empty */
-&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[SimpleCollection#0]: Collection[MClassDef] */
-&type_model__MClassDef, /* Collection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
-&type_model__MClassDef, /* HashCollection#0: MClassDef */
-&type_nullable_hash_collection__HashSetNodemodel__MClassDef, /* nullable HashCollection#1: nullable HashSetNode[MClassDef] */
-&type_hash_collection__HashSetNodemodel__MClassDef, /* HashCollection#1: HashSetNode[MClassDef] */
-&type_nullable_model__MClassDef, /* nullable HashCollection#0: nullable MClassDef */
-}
-};
-/* runtime type Set[MClassDef] */
-const struct type type_abstract_collection__Setmodel__MClassDef = {
-2049,
-"Set[MClassDef]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type MTypePOSetBuilder */
-const struct type type_layout_builders__MTypePOSetBuilder = {
+/* runtime type ReduceAction90 */
+const struct type type_parser__ReduceAction90 = {
 -1, /*CAST DEAD*/
-"MTypePOSetBuilder", /* class_name_string */
+"ReduceAction90", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__MTypePOSetBuilder,
+NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-164, /* POSetBuilder[MType] */
-690, /* MTypePOSetBuilder */
+154, /* ReduceAction */
+725, /* ReduceAction90 */
 },
 };
-const struct types resolution_table_layout_builders__MTypePOSetBuilder = {
-0, /* dummy */
-{
-&type_abstract_collection__Setmodel__MType, /* Set[POSetBuilder#0]: Set[MType] */
-}
-};
-/* runtime type POSetBuilder[MType] */
-const struct type type_layout_builders__POSetBuildermodel__MType = {
-164,
-"POSetBuilder[MType]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMap[MClassType, Set[MType]] */
-const struct type type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Setmodel__MType = {
-2266,
-"HashMap[MClassType, Set[MType]]", /* class_name_string */
-6,
+/* runtime type ReduceAction91 */
+const struct type type_parser__ReduceAction91 = {
+-1, /*CAST DEAD*/
+"ReduceAction91", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassTypeabstract_collection__Setmodel__MType,
-7,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable HashMap[MType, Set[MType]] */
-165, /* Map[MType, Set[MType]] */
-691, /* Map[MClassType, Set[MType]] */
-1884, /* HashMap[MType, Set[MType]] */
-2266, /* HashMap[MClassType, Set[MType]] */
+154, /* ReduceAction */
+726, /* ReduceAction91 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassTypeabstract_collection__Setmodel__MType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* MapRead#0: MClassType */
-&type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, Set[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, Set[MType]]] */
-&type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, Set[MType]] */
-&type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, Set[MType]] */
-&type_model__MClassType, /* Map#0: MClassType */
-&type_abstract_collection__Setmodel__MType, /* Map#1: Set[MType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, Set[MType]] */
-&type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Setmodel__MType, /* Map[Map#0, Map#1]: Map[MClassType, Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* MapRead#1: Set[MType] */
-&type_model__MClassType, /* HashCollection#0: MClassType */
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* nullable HashCollection#1: nullable HashMapNode[MClassType, Set[MType]] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* HashCollection#1: HashMapNode[MClassType, Set[MType]] */
-&type_nullable_model__MClassType, /* nullable HashCollection#0: nullable MClassType */
-}
-};
-/* runtime type HashMap[MType, Set[MType]] */
-const struct type type_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType = {
-1884,
-"HashMap[MType, Set[MType]]", /* class_name_string */
-5,
+/* runtime type ReduceAction94 */
+const struct type type_parser__ReduceAction94 = {
+-1, /*CAST DEAD*/
+"ReduceAction94", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType,
-6,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable HashMap[MType, Set[MType]] */
-165, /* Map[MType, Set[MType]] */
--1, /* empty */
-1884, /* HashMap[MType, Set[MType]] */
+154, /* ReduceAction */
+727, /* ReduceAction94 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Setmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Set[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Set[MType]]] */
-&type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Setmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Set[MType]] */
-&type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Setmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Set[MType]] */
-&type_model__MType, /* Map#0: MType */
-&type_abstract_collection__Setmodel__MType, /* Map#1: Set[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Set[MType]] */
-&type_abstract_collection__Mapmodel__MTypeabstract_collection__Setmodel__MType, /* Map[Map#0, Map#1]: Map[MType, Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* MapRead#1: Set[MType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* nullable HashCollection#1: nullable HashMapNode[MType, Set[MType]] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* HashCollection#1: HashMapNode[MType, Set[MType]] */
-&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
-}
-};
-/* runtime type Map[MType, Set[MType]] */
-const struct type type_abstract_collection__Mapmodel__MTypeabstract_collection__Setmodel__MType = {
-165,
-"Map[MType, Set[MType]]", /* class_name_string */
-3,
+/* runtime type ReduceAction95 */
+const struct type type_parser__ReduceAction95 = {
+-1, /*CAST DEAD*/
+"ReduceAction95", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Map[MClassType, Set[MType]] */
-const struct type type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Setmodel__MType = {
-691,
-"Map[MClassType, Set[MType]]", /* class_name_string */
+NULL, /*NO RESOLUTIONS*/
 4,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable HashMap[MType, Set[MType]] */
-const struct type type_nullable_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType = {
-17,
-"nullable HashMap[MType, Set[MType]]", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+728, /* ReduceAction95 */
+},
 };
-/* runtime type ResolutionBMizer */
-const struct type type_layout_builders__ResolutionBMizer = {
+/* runtime type ReduceAction96 */
+const struct type type_parser__ReduceAction96 = {
 -1, /*CAST DEAD*/
-"ResolutionBMizer", /* class_name_string */
+"ReduceAction96", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-166, /* ResolutionBMizer */
+154, /* ReduceAction */
+729, /* ReduceAction96 */
 },
 };
-/* runtime type ResolutionHasher */
-const struct type type_layout_builders__ResolutionHasher = {
+/* runtime type ReduceAction97 */
+const struct type type_parser__ReduceAction97 = {
 -1, /*CAST DEAD*/
-"ResolutionHasher", /* class_name_string */
+"ReduceAction97", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__ResolutionHasher,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-167, /* ResolutionHasher */
+154, /* ReduceAction */
+730, /* ReduceAction97 */
 },
 };
-const struct types resolution_table_layout_builders__ResolutionHasher = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Setmodel__MType, /* Map[PerfectHasher#0, Set[PerfectHasher#1]]: Map[MClassType, Set[MType]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[PerfectHasher#1, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[PerfectHasher#0, Int]: HashMap[MClassType, Int] */
-&type_abstract_collection__Setmodel__MType, /* Set[PerfectHasher#1]: Set[MType] */
-&type_abstract_collection__Mapmodel__MClassTypekernel__Int, /* Map[PerfectHasher#0, Int]: Map[MClassType, Int] */
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[PerfectHasher#0, Map[PerfectHasher#1, Int]]: HashMap[MClassType, Map[MType, Int]] */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[PerfectHasher#1, Int]: HashMap[MType, Int] */
-}
-};
-/* runtime type ResolutionColorer */
-const struct type type_layout_builders__ResolutionColorer = {
+/* runtime type ReduceAction98 */
+const struct type type_parser__ReduceAction98 = {
 -1, /*CAST DEAD*/
-"ResolutionColorer", /* class_name_string */
+"ReduceAction98", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-168, /* ResolutionColorer */
+154, /* ReduceAction */
+731, /* ReduceAction98 */
 },
 };
-/* runtime type HashMap[MType, Int] */
-const struct type type_hash_collection__HashMapmodel__MTypekernel__Int = {
-692,
-"HashMap[MType, Int]", /* class_name_string */
-3,
+/* runtime type ReduceAction99 */
+const struct type type_parser__ReduceAction99 = {
+-1, /*CAST DEAD*/
+"ReduceAction99", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypekernel__Int,
+NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-169, /* Map[MType, Int] */
-692, /* HashMap[MType, Int] */
+154, /* ReduceAction */
+732, /* ReduceAction99 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypekernel__Int = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapKeysmodel__MTypekernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypekernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Int]] */
-&type_hash_collection__HashMapValuesmodel__MTypekernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Int] */
-&type_hash_collection__HashMapIteratormodel__MTypekernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Int] */
-&type_model__MType, /* Map#0: MType */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodemodel__MTypekernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Map#0, Map#1]: Map[MType, Int] */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_model__MType, /* HashCollection#0: MType */
-&type_nullable_hash_collection__HashMapNodemodel__MTypekernel__Int, /* nullable HashCollection#1: nullable HashMapNode[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MTypekernel__Int, /* HashCollection#1: HashMapNode[MType, Int] */
-&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
-}
-};
-/* runtime type Map[MType, Int] */
-const struct type type_abstract_collection__Mapmodel__MTypekernel__Int = {
-169,
-"Map[MType, Int]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Message */
-const struct type type_toolcontext__Message = {
-170,
-"Message", /* class_name_string */
-2,
+/* runtime type ReduceAction100 */
+const struct type type_parser__ReduceAction100 = {
+-1, /*CAST DEAD*/
+"ReduceAction100", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_toolcontext__Message,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-170, /* Message */
+154, /* ReduceAction */
+733, /* ReduceAction100 */
 },
 };
-const struct types resolution_table_toolcontext__Message = {
-0, /* dummy */
+/* runtime type ReduceAction101 */
+const struct type type_parser__ReduceAction101 = {
+-1, /*CAST DEAD*/
+"ReduceAction101", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_toolcontext__Message, /* OTHER: Message */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+734, /* ReduceAction101 */
+},
 };
-/* runtime type Array[State] */
-const struct type type_array__Arrayparser__State = {
-2679,
-"Array[State]", /* class_name_string */
-6,
+/* runtime type ReduceAction102 */
+const struct type type_parser__ReduceAction102 = {
+-1, /*CAST DEAD*/
+"ReduceAction102", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser__State,
-10,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-693, /* Collection[State] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2267, /* AbstractArrayRead[State] */
-2679, /* Array[State] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
+154, /* ReduceAction */
+735, /* ReduceAction102 */
 },
 };
-const struct types resolution_table_array__Arrayparser__State = {
-0, /* dummy */
+/* runtime type ReduceAction103 */
+const struct type type_parser__ReduceAction103 = {
+-1, /*CAST DEAD*/
+"ReduceAction103", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arrayparser__State, /* Array[Array#0]: Array[State] */
-&type_array__NativeArrayparser__State, /* NativeArray[Array#0]: NativeArray[State] */
-&type_parser__State, /* Sequence#0: State */
-&type_parser__State, /* SimpleCollection#0: State */
-&type_abstract_collection__Collectionparser__State, /* Collection[Array#0]: Collection[State] */
-&type_parser__State, /* Array#0: State */
-&type_array__NativeArrayparser__State, /* NativeArray[ArrayCapable#0]: NativeArray[State] */
-&type_parser__State, /* AbstractArray#0: State */
-&type_parser__State, /* RemovableCollection#0: State */
-&type_abstract_collection__Collectionparser__State, /* Collection[Sequence#0]: Collection[State] */
-&type_array__Arrayparser__State, /* Array[Sequence#0]: Array[State] */
-&type_abstract_collection__Collectionparser__State, /* Collection[SimpleCollection#0]: Collection[State] */
-&type_parser__State, /* Collection#0: State */
-&type_abstract_collection__Collectionparser__State, /* Collection[Collection#0]: Collection[State] */
-&type_parser__State, /* SequenceRead#0: State */
-&type_parser__State, /* AbstractArrayRead#0: State */
-&type_array__Arrayparser__State, /* Array[AbstractArrayRead#0]: Array[State] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[State] not a live type) */
-&type_array__ArrayIteratorparser__State, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[State] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+736, /* ReduceAction103 */
+},
 };
-/* runtime type Collection[State] */
-const struct type type_abstract_collection__Collectionparser__State = {
-693,
-"Collection[State]", /* class_name_string */
-2,
+/* runtime type ReduceAction104 */
+const struct type type_parser__ReduceAction104 = {
+-1, /*CAST DEAD*/
+"ReduceAction104", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+737, /* ReduceAction104 */
+},
 };
-/* runtime type AbstractArrayRead[State] */
-const struct type type_array__AbstractArrayReadparser__State = {
-2267,
-"AbstractArrayRead[State]", /* class_name_string */
-5,
+/* runtime type ReduceAction105 */
+const struct type type_parser__ReduceAction105 = {
+-1, /*CAST DEAD*/
+"ReduceAction105", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+738, /* ReduceAction105 */
+},
 };
-/* runtime type Start */
-const struct type type_parser_nodes__Start = {
+/* runtime type ReduceAction106 */
+const struct type type_parser__ReduceAction106 = {
 -1, /*CAST DEAD*/
-"Start", /* class_name_string */
+"ReduceAction106", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-6,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-18, /* nullable ANode */
-2050, /* Start */
-694, /* ANode */
-1885, /* Prod */
+154, /* ReduceAction */
+739, /* ReduceAction106 */
 },
 };
-/* runtime type Prod */
-const struct type type_parser_nodes__Prod = {
-1885,
-"Prod", /* class_name_string */
-5,
+/* runtime type ReduceAction107 */
+const struct type type_parser__ReduceAction107 = {
+-1, /*CAST DEAD*/
+"ReduceAction107", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type ANode */
-const struct type type_parser_nodes__ANode = {
-694,
-"ANode", /* class_name_string */
+NULL, /*NO RESOLUTIONS*/
 4,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable ANode */
-const struct type type_nullable_parser_nodes__ANode = {
-18,
-"nullable ANode", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+740, /* ReduceAction107 */
+},
 };
-/* runtime type ComputeProdLocationVisitor */
-const struct type type_parser__ComputeProdLocationVisitor = {
+/* runtime type ReduceAction108 */
+const struct type type_parser__ReduceAction108 = {
 -1, /*CAST DEAD*/
-"ComputeProdLocationVisitor", /* class_name_string */
+"ReduceAction108", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* ComputeProdLocationVisitor */
+154, /* ReduceAction */
+741, /* ReduceAction108 */
 },
 };
-/* runtime type AParserError */
-const struct type type_parser_nodes__AParserError = {
+/* runtime type ReduceAction109 */
+const struct type type_parser__ReduceAction109 = {
 -1, /*CAST DEAD*/
-"AParserError", /* class_name_string */
+"ReduceAction109", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-8,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-18, /* nullable ANode */
-2051, /* EOF */
-694, /* ANode */
-1886, /* Token */
-2268, /* AError */
-2497, /* AParserError */
+154, /* ReduceAction */
+742, /* ReduceAction109 */
 },
 };
-/* runtime type EOF */
-const struct type type_parser_nodes__EOF = {
-2051,
-"EOF", /* class_name_string */
-3,
+/* runtime type ReduceAction110 */
+const struct type type_parser__ReduceAction110 = {
+-1, /*CAST DEAD*/
+"ReduceAction110", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-6,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-18, /* nullable ANode */
-2051, /* EOF */
-694, /* ANode */
-1886, /* Token */
+154, /* ReduceAction */
+743, /* ReduceAction110 */
 },
 };
-/* runtime type AError */
-const struct type type_parser_nodes__AError = {
-2268,
-"AError", /* class_name_string */
-6,
+/* runtime type ReduceAction111 */
+const struct type type_parser__ReduceAction111 = {
+-1, /*CAST DEAD*/
+"ReduceAction111", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+744, /* ReduceAction111 */
+},
 };
-/* runtime type Token */
-const struct type type_parser_nodes__Token = {
-1886,
-"Token", /* class_name_string */
-5,
+/* runtime type ReduceAction112 */
+const struct type type_parser__ReduceAction112 = {
+-1, /*CAST DEAD*/
+"ReduceAction112", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+745, /* ReduceAction112 */
+},
 };
-/* runtime type ANodes[AImport] */
-const struct type type_parser_nodes__ANodesparser_nodes__AImport = {
+/* runtime type ReduceAction113 */
+const struct type type_parser__ReduceAction113 = {
 -1, /*CAST DEAD*/
-"ANodes[AImport]", /* class_name_string */
+"ReduceAction113", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_parser_nodes__ANodesparser_nodes__AImport,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2052, /* Collection[AImport] */
-2498, /* ANodes[AImport] */
+154, /* ReduceAction */
+746, /* ReduceAction113 */
 },
 };
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__AImport = {
-0, /* dummy */
+/* runtime type ReduceAction114 */
+const struct type type_parser__ReduceAction114 = {
+-1, /*CAST DEAD*/
+"ReduceAction114", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arrayparser_nodes__AImport, /* Array[ANodes#0]: Array[AImport] */
-&type_parser_nodes__AImport, /* ANodes#0: AImport */
-&type_parser_nodes__AImport, /* Sequence#0: AImport */
-&type_parser_nodes__AImport, /* SimpleCollection#0: AImport */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AImport, /* RemovableCollection#0: AImport */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Sequence#0]: Collection[AImport] */
-&type_array__Arrayparser_nodes__AImport, /* Array[Sequence#0]: Array[AImport] */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[SimpleCollection#0]: Collection[AImport] */
-&type_parser_nodes__AImport, /* Collection#0: AImport */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Collection#0]: Collection[AImport] */
-&type_parser_nodes__AImport, /* SequenceRead#0: AImport */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+747, /* ReduceAction114 */
+},
 };
-/* runtime type Collection[AImport] */
-const struct type type_abstract_collection__Collectionparser_nodes__AImport = {
-2052,
-"Collection[AImport]", /* class_name_string */
-6,
+/* runtime type ReduceAction115 */
+const struct type type_parser__ReduceAction115 = {
+-1, /*CAST DEAD*/
+"ReduceAction115", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+748, /* ReduceAction115 */
+},
 };
-/* runtime type MVisibility */
-const struct type type_model_base__MVisibility = {
-172,
-"MVisibility", /* class_name_string */
-2,
+/* runtime type ReduceAction116 */
+const struct type type_parser__ReduceAction116 = {
+-1, /*CAST DEAD*/
+"ReduceAction116", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_model_base__MVisibility,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* MVisibility */
+154, /* ReduceAction */
+749, /* ReduceAction116 */
 },
 };
-const struct types resolution_table_model_base__MVisibility = {
-0, /* dummy */
+/* runtime type ReduceAction117 */
+const struct type type_parser__ReduceAction117 = {
+-1, /*CAST DEAD*/
+"ReduceAction117", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_model_base__MVisibility, /* OTHER: MVisibility */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+750, /* ReduceAction117 */
+},
 };
-/* runtime type SimpleMiscVisitor */
-const struct type type_simple_misc_analysis__SimpleMiscVisitor = {
+/* runtime type ReduceAction118 */
+const struct type type_parser__ReduceAction118 = {
 -1, /*CAST DEAD*/
-"SimpleMiscVisitor", /* class_name_string */
+"ReduceAction118", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* SimpleMiscVisitor */
+154, /* ReduceAction */
+751, /* ReduceAction118 */
 },
 };
-/* runtime type LiteralVisitor */
-const struct type type_literal__LiteralVisitor = {
+/* runtime type ReduceAction119 */
+const struct type type_parser__ReduceAction119 = {
 -1, /*CAST DEAD*/
-"LiteralVisitor", /* class_name_string */
+"ReduceAction119", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* LiteralVisitor */
+154, /* ReduceAction */
+752, /* ReduceAction119 */
 },
 };
-/* runtime type CollectAnnotationsByNameVisitor */
-const struct type type_parser_util__CollectAnnotationsByNameVisitor = {
+/* runtime type ReduceAction120 */
+const struct type type_parser__ReduceAction120 = {
 -1, /*CAST DEAD*/
-"CollectAnnotationsByNameVisitor", /* class_name_string */
+"ReduceAction120", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-175, /* CollectAnnotationsByNameVisitor */
+154, /* ReduceAction */
+753, /* ReduceAction120 */
 },
 };
-/* runtime type Array[AAnnotation] */
-const struct type type_array__Arrayparser_nodes__AAnnotation = {
-2845,
-"Array[AAnnotation]", /* class_name_string */
-13,
+/* runtime type ReduceAction121 */
+const struct type type_parser__ReduceAction121 = {
+-1, /*CAST DEAD*/
+"ReduceAction121", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__AAnnotation,
-15,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2053, /* Collection[AAnnotation] */
-1838, /* AbstractArrayRead[Object] */
-2243, /* AbstractArrayRead[ANode] */
-2029, /* Array[Object] */
-2781, /* AbstractArrayRead[AAnnotation] */
-2664, /* Array[ANode] */
-2665, /* AbstractArrayRead[Prod] */
-2845, /* Array[AAnnotation] */
-2802, /* Array[Prod] */
+154, /* ReduceAction */
+754, /* ReduceAction121 */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AAnnotation = {
-0, /* dummy */
+/* runtime type ReduceAction122 */
+const struct type type_parser__ReduceAction122 = {
+-1, /*CAST DEAD*/
+"ReduceAction122", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[Array#0]: Array[AAnnotation] */
-&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[Array#0]: NativeArray[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* Sequence#0: AAnnotation */
-&type_parser_nodes__AAnnotation, /* SimpleCollection#0: AAnnotation */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[Array#0]: Collection[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* Array#0: AAnnotation */
-&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[ArrayCapable#0]: NativeArray[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* AbstractArray#0: AAnnotation */
-&type_parser_nodes__AAnnotation, /* RemovableCollection#0: AAnnotation */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[Sequence#0]: Collection[AAnnotation] */
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[Sequence#0]: Array[AAnnotation] */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[SimpleCollection#0]: Collection[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* Collection#0: AAnnotation */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[Collection#0]: Collection[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* SequenceRead#0: AAnnotation */
-&type_parser_nodes__AAnnotation, /* AbstractArrayRead#0: AAnnotation */
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[AbstractArrayRead#0]: Array[AAnnotation] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AAnnotation] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AAnnotation, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AAnnotation] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+755, /* ReduceAction122 */
+},
 };
-/* runtime type Collection[AAnnotation] */
-const struct type type_abstract_collection__Collectionparser_nodes__AAnnotation = {
-2053,
-"Collection[AAnnotation]", /* class_name_string */
-6,
+/* runtime type ReduceAction123 */
+const struct type type_parser__ReduceAction123 = {
+-1, /*CAST DEAD*/
+"ReduceAction123", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+756, /* ReduceAction123 */
+},
 };
-/* runtime type AbstractArrayRead[AAnnotation] */
-const struct type type_array__AbstractArrayReadparser_nodes__AAnnotation = {
-2781,
-"AbstractArrayRead[AAnnotation]", /* class_name_string */
-10,
+/* runtime type ReduceAction124 */
+const struct type type_parser__ReduceAction124 = {
+-1, /*CAST DEAD*/
+"ReduceAction124", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+757, /* ReduceAction124 */
+},
 };
-/* runtime type HashMap[MClass, MClassType] */
-const struct type type_hash_collection__HashMapmodel__MClassmodel__MClassType = {
-176,
-"HashMap[MClass, MClassType]", /* class_name_string */
-2,
+/* runtime type ReduceAction125 */
+const struct type type_parser__ReduceAction125 = {
+-1, /*CAST DEAD*/
+"ReduceAction125", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassmodel__MClassType,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-176, /* HashMap[MClass, MClassType] */
+154, /* ReduceAction */
+758, /* ReduceAction125 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassmodel__MClassType = {
-0, /* dummy */
+/* runtime type ReduceAction127 */
+const struct type type_parser__ReduceAction127 = {
+-1, /*CAST DEAD*/
+"ReduceAction127", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapKeysmodel__MClassmodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, MClassType] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, MClassType]] */
-&type_hash_collection__HashMapValuesmodel__MClassmodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, MClassType] */
-&type_hash_collection__HashMapIteratormodel__MClassmodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, MClassType] */
-&type_model__MClass, /* Map#0: MClass */
-&type_model__MClassType, /* Map#1: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, MClassType] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, MClassType] not a live type) */
-&type_model__MClassType, /* MapRead#1: MClassType */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_nullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* nullable HashCollection#1: nullable HashMapNode[MClass, MClassType] */
-&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* HashCollection#1: HashMapNode[MClass, MClassType] */
-&type_nullable_model__MClass, /* nullable HashCollection#0: nullable MClass */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+759, /* ReduceAction127 */
+},
 };
-/* runtime type ArrayMap[MClass, AType] */
-const struct type type_array__ArrayMapmodel__MClassparser_nodes__AType = {
-177,
-"ArrayMap[MClass, AType]", /* class_name_string */
-2,
+/* runtime type ReduceAction128 */
+const struct type type_parser__ReduceAction128 = {
+-1, /*CAST DEAD*/
+"ReduceAction128", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayMapmodel__MClassparser_nodes__AType,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-177, /* ArrayMap[MClass, AType] */
+154, /* ReduceAction */
+760, /* ReduceAction128 */
 },
 };
-const struct types resolution_table_array__ArrayMapmodel__MClassparser_nodes__AType = {
-0, /* dummy */
+/* runtime type ReduceAction129 */
+const struct type type_parser__ReduceAction129 = {
+-1, /*CAST DEAD*/
+"ReduceAction129", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__ArrayMapKeysmodel__MClassparser_nodes__AType, /* ArrayMapKeys[ArrayMap#0, ArrayMap#1]: ArrayMapKeys[MClass, AType] */
-&type_array__ArrayMapValuesmodel__MClassparser_nodes__AType, /* ArrayMapValues[ArrayMap#0, ArrayMap#1]: ArrayMapValues[MClass, AType] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* Couple[ArrayMap#0, ArrayMap#1]: Couple[MClass, AType] */
-&type_abstract_collection__CoupleMapIteratormodel__MClassparser_nodes__AType, /* CoupleMapIterator[ArrayMap#0, ArrayMap#1]: CoupleMapIterator[MClass, AType] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_model__MClass, /* CoupleMap#0: MClass */
-&type_model__MClass, /* ArrayMap#0: MClass */
-&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Couple[ArrayMap#0, ArrayMap#1]]: Array[Couple[MClass, AType]] */
-NULL, /* empty */
-&type_model__MClass, /* Map#0: MClass */
-&type_parser_nodes__AType, /* Map#1: AType */
-NULL, /* empty */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, AType] not a live type) */
-&type_parser_nodes__AType, /* MapRead#1: AType */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+761, /* ReduceAction129 */
+},
 };
-/* runtime type ANodes[AExternCodeBlock] */
-const struct type type_parser_nodes__ANodesparser_nodes__AExternCodeBlock = {
+/* runtime type ReduceAction130 */
+const struct type type_parser__ReduceAction130 = {
 -1, /*CAST DEAD*/
-"ANodes[AExternCodeBlock]", /* class_name_string */
+"ReduceAction130", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_parser_nodes__ANodesparser_nodes__AExternCodeBlock,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1871, /* Collection[Prod] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-653, /* Collection[ANode] */
-2054, /* Collection[AExternCodeBlock] */
-2499, /* ANodes[AExternCodeBlock] */
+154, /* ReduceAction */
+762, /* ReduceAction130 */
 },
 };
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__AExternCodeBlock = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[ANodes#0]: Array[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* ANodes#0: AExternCodeBlock */
-&type_parser_nodes__AExternCodeBlock, /* Sequence#0: AExternCodeBlock */
-&type_parser_nodes__AExternCodeBlock, /* SimpleCollection#0: AExternCodeBlock */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AExternCodeBlock, /* RemovableCollection#0: AExternCodeBlock */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[Sequence#0]: Collection[AExternCodeBlock] */
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Sequence#0]: Array[AExternCodeBlock] */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[SimpleCollection#0]: Collection[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* Collection#0: AExternCodeBlock */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[Collection#0]: Collection[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* SequenceRead#0: AExternCodeBlock */
-}
-};
-/* runtime type Collection[AExternCodeBlock] */
-const struct type type_abstract_collection__Collectionparser_nodes__AExternCodeBlock = {
-2054,
-"Collection[AExternCodeBlock]", /* class_name_string */
-6,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type ForeignCType */
-const struct type type_c__ForeignCType = {
+/* runtime type ReduceAction131 */
+const struct type type_parser__ReduceAction131 = {
 -1, /*CAST DEAD*/
-"ForeignCType", /* class_name_string */
+"ReduceAction131", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -7971,827 +8159,629 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-178, /* ForeignType */
-695, /* ForeignCType */
+154, /* ReduceAction */
+763, /* ReduceAction131 */
 },
 };
-/* runtime type ForeignType */
-const struct type type_ffi_base__ForeignType = {
+/* runtime type ReduceAction132 */
+const struct type type_parser__ReduceAction132 = {
 -1, /*CAST DEAD*/
-"ForeignType", /* class_name_string */
+"ReduceAction132", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-178, /* ForeignType */
+154, /* ReduceAction */
+764, /* ReduceAction132 */
 },
 };
-/* runtime type ForeignCppType */
-const struct type type_cpp__ForeignCppType = {
-696,
-"ForeignCppType", /* class_name_string */
-3,
+/* runtime type ReduceAction133 */
+const struct type type_parser__ReduceAction133 = {
+-1, /*CAST DEAD*/
+"ReduceAction133", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-178, /* ForeignType */
-696, /* ForeignCppType */
+154, /* ReduceAction */
+765, /* ReduceAction133 */
 },
 };
-/* runtime type ScopeVisitor */
-const struct type type_scope__ScopeVisitor = {
+/* runtime type ReduceAction134 */
+const struct type type_parser__ReduceAction134 = {
 -1, /*CAST DEAD*/
-"ScopeVisitor", /* class_name_string */
+"ReduceAction134", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-179, /* ScopeVisitor */
+154, /* ReduceAction */
+766, /* ReduceAction134 */
 },
 };
-/* runtime type Variable */
-const struct type type_scope__Variable = {
-697,
-"Variable", /* class_name_string */
-3,
+/* runtime type ReduceAction136 */
+const struct type type_parser__ReduceAction136 = {
+-1, /*CAST DEAD*/
+"ReduceAction136", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-19, /* nullable Variable */
-697, /* Variable */
+154, /* ReduceAction */
+767, /* ReduceAction136 */
 },
 };
-/* runtime type nullable Variable */
-const struct type type_nullable_scope__Variable = {
-19,
-"nullable Variable", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type List[Scope] */
-const struct type type_list__Listscope__Scope = {
-2055,
-"List[Scope]", /* class_name_string */
-2,
+/* runtime type ReduceAction137 */
+const struct type type_parser__ReduceAction137 = {
+-1, /*CAST DEAD*/
+"ReduceAction137", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__Listscope__Scope,
-6,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2055, /* List[Scope] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-698, /* Collection[Scope] */
+154, /* ReduceAction */
+768, /* ReduceAction137 */
 },
 };
-const struct types resolution_table_list__Listscope__Scope = {
-0, /* dummy */
-{
-&type_list__Listscope__Scope, /* List[List#0]: List[Scope] */
-&type_list__ListNodescope__Scope, /* ListNode[List#0]: ListNode[Scope] */
-&type_scope__Scope, /* Sequence#0: Scope */
-&type_scope__Scope, /* SimpleCollection#0: Scope */
-&type_list__ListIteratorscope__Scope, /* ListIterator[List#0]: ListIterator[Scope] */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[List#0]: Collection[Scope] */
-&type_scope__Scope, /* List#0: Scope */
-&type_nullable_list__ListNodescope__Scope, /* nullable ListNode[List#0]: nullable ListNode[Scope] */
-&type_scope__Scope, /* RemovableCollection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Sequence#0]: Collection[Scope] */
-&type_array__Arrayscope__Scope, /* Array[Sequence#0]: Array[Scope] */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[SimpleCollection#0]: Collection[Scope] */
-&type_scope__Scope, /* Collection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Collection#0]: Collection[Scope] */
-&type_scope__Scope, /* SequenceRead#0: Scope */
-}
-};
-/* runtime type Collection[Scope] */
-const struct type type_abstract_collection__Collectionscope__Scope = {
-698,
-"Collection[Scope]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type FlowVisitor */
-const struct type type_flow__FlowVisitor = {
+/* runtime type ReduceAction139 */
+const struct type type_parser__ReduceAction139 = {
 -1, /*CAST DEAD*/
-"FlowVisitor", /* class_name_string */
+"ReduceAction139", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-180, /* FlowVisitor */
+154, /* ReduceAction */
+769, /* ReduceAction139 */
 },
 };
-/* runtime type Array[FlowContext] */
-const struct type type_array__Arrayflow__FlowContext = {
-2680,
-"Array[FlowContext]", /* class_name_string */
-6,
+/* runtime type ReduceAction140 */
+const struct type type_parser__ReduceAction140 = {
+-1, /*CAST DEAD*/
+"ReduceAction140", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayflow__FlowContext,
-10,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-699, /* Collection[FlowContext] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2269, /* AbstractArrayRead[FlowContext] */
-2680, /* Array[FlowContext] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
+154, /* ReduceAction */
+770, /* ReduceAction140 */
 },
 };
-const struct types resolution_table_array__Arrayflow__FlowContext = {
-0, /* dummy */
-{
-&type_array__Arrayflow__FlowContext, /* Array[Array#0]: Array[FlowContext] */
-&type_array__NativeArrayflow__FlowContext, /* NativeArray[Array#0]: NativeArray[FlowContext] */
-&type_flow__FlowContext, /* Sequence#0: FlowContext */
-&type_flow__FlowContext, /* SimpleCollection#0: FlowContext */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Array#0]: Collection[FlowContext] */
-&type_flow__FlowContext, /* Array#0: FlowContext */
-&type_array__NativeArrayflow__FlowContext, /* NativeArray[ArrayCapable#0]: NativeArray[FlowContext] */
-&type_flow__FlowContext, /* AbstractArray#0: FlowContext */
-&type_flow__FlowContext, /* RemovableCollection#0: FlowContext */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Sequence#0]: Collection[FlowContext] */
-&type_array__Arrayflow__FlowContext, /* Array[Sequence#0]: Array[FlowContext] */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[SimpleCollection#0]: Collection[FlowContext] */
-&type_flow__FlowContext, /* Collection#0: FlowContext */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Collection#0]: Collection[FlowContext] */
-&type_flow__FlowContext, /* SequenceRead#0: FlowContext */
-&type_flow__FlowContext, /* AbstractArrayRead#0: FlowContext */
-&type_array__Arrayflow__FlowContext, /* Array[AbstractArrayRead#0]: Array[FlowContext] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[FlowContext] not a live type) */
-&type_array__ArrayIteratorflow__FlowContext, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[FlowContext] */
-}
-};
-/* runtime type Collection[FlowContext] */
-const struct type type_abstract_collection__Collectionflow__FlowContext = {
-699,
-"Collection[FlowContext]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[FlowContext] */
-const struct type type_array__AbstractArrayReadflow__FlowContext = {
-2269,
-"AbstractArrayRead[FlowContext]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type LocalVarInitVisitor */
-const struct type type_local_var_init__LocalVarInitVisitor = {
+/* runtime type ReduceAction141 */
+const struct type type_parser__ReduceAction141 = {
 -1, /*CAST DEAD*/
-"LocalVarInitVisitor", /* class_name_string */
+"ReduceAction141", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-181, /* LocalVarInitVisitor */
+154, /* ReduceAction */
+771, /* ReduceAction141 */
 },
 };
-/* runtime type HashSet[Variable] */
-const struct type type_hash_collection__HashSetscope__Variable = {
-2270,
-"HashSet[Variable]", /* class_name_string */
-5,
+/* runtime type ReduceAction142 */
+const struct type type_parser__ReduceAction142 = {
+-1, /*CAST DEAD*/
+"ReduceAction142", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetscope__Variable,
-8,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-700, /* Collection[Variable] */
-655, /* Set[Object] */
-92, /* Collection[Object] */
-2270, /* HashSet[Variable] */
--1, /* empty */
-1872, /* HashSet[Object] */
+154, /* ReduceAction */
+772, /* ReduceAction142 */
 },
 };
-const struct types resolution_table_hash_collection__HashSetscope__Variable = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetNodescope__Variable, /* HashSetNode[HashSet#0]: HashSetNode[Variable] */
-&type_hash_collection__HashSetIteratorscope__Variable, /* HashSetIterator[HashSet#0]: HashSetIterator[Variable] */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[HashSet#0]: Collection[Variable] */
-&type_scope__Variable, /* SimpleCollection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Set#0]: Collection[Variable] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Variable]] */
-NULL, /* empty */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[SimpleCollection#0]: Collection[Variable] */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
-&type_scope__Variable, /* HashCollection#0: Variable */
-&type_nullable_hash_collection__HashSetNodescope__Variable, /* nullable HashCollection#1: nullable HashSetNode[Variable] */
-&type_hash_collection__HashSetNodescope__Variable, /* HashCollection#1: HashSetNode[Variable] */
-&type_nullable_scope__Variable, /* nullable HashCollection#0: nullable Variable */
-}
-};
-/* runtime type Collection[Variable] */
-const struct type type_abstract_collection__Collectionscope__Variable = {
-700,
-"Collection[Variable]", /* class_name_string */
-2,
+/* runtime type ReduceAction143 */
+const struct type type_parser__ReduceAction143 = {
+-1, /*CAST DEAD*/
+"ReduceAction143", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+773, /* ReduceAction143 */
+},
 };
-/* runtime type AutoSuperInitVisitor */
-const struct type type_auto_super_init__AutoSuperInitVisitor = {
+/* runtime type ReduceAction144 */
+const struct type type_parser__ReduceAction144 = {
 -1, /*CAST DEAD*/
-"AutoSuperInitVisitor", /* class_name_string */
+"ReduceAction144", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-182, /* AutoSuperInitVisitor */
+154, /* ReduceAction */
+774, /* ReduceAction144 */
 },
 };
-/* runtime type Array[CallSite] */
-const struct type type_array__Arraytyping__CallSite = {
-2681,
-"Array[CallSite]", /* class_name_string */
-6,
+/* runtime type ReduceAction145 */
+const struct type type_parser__ReduceAction145 = {
+-1, /*CAST DEAD*/
+"ReduceAction145", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraytyping__CallSite,
-10,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-701, /* Collection[CallSite] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2271, /* AbstractArrayRead[CallSite] */
-2681, /* Array[CallSite] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
+154, /* ReduceAction */
+775, /* ReduceAction145 */
 },
 };
-const struct types resolution_table_array__Arraytyping__CallSite = {
-0, /* dummy */
+/* runtime type ReduceAction146 */
+const struct type type_parser__ReduceAction146 = {
+-1, /*CAST DEAD*/
+"ReduceAction146", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arraytyping__CallSite, /* Array[Array#0]: Array[CallSite] */
-&type_array__NativeArraytyping__CallSite, /* NativeArray[Array#0]: NativeArray[CallSite] */
-&type_typing__CallSite, /* Sequence#0: CallSite */
-&type_typing__CallSite, /* SimpleCollection#0: CallSite */
-&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Array#0]: Collection[CallSite] */
-&type_typing__CallSite, /* Array#0: CallSite */
-&type_array__NativeArraytyping__CallSite, /* NativeArray[ArrayCapable#0]: NativeArray[CallSite] */
-&type_typing__CallSite, /* AbstractArray#0: CallSite */
-&type_typing__CallSite, /* RemovableCollection#0: CallSite */
-&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Sequence#0]: Collection[CallSite] */
-&type_array__Arraytyping__CallSite, /* Array[Sequence#0]: Array[CallSite] */
-&type_abstract_collection__Collectiontyping__CallSite, /* Collection[SimpleCollection#0]: Collection[CallSite] */
-&type_typing__CallSite, /* Collection#0: CallSite */
-&type_abstract_collection__Collectiontyping__CallSite, /* Collection[Collection#0]: Collection[CallSite] */
-&type_typing__CallSite, /* SequenceRead#0: CallSite */
-&type_typing__CallSite, /* AbstractArrayRead#0: CallSite */
-&type_array__Arraytyping__CallSite, /* Array[AbstractArrayRead#0]: Array[CallSite] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[CallSite] not a live type) */
-&type_array__ArrayIteratortyping__CallSite, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CallSite] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+776, /* ReduceAction146 */
+},
 };
-/* runtime type Collection[CallSite] */
-const struct type type_abstract_collection__Collectiontyping__CallSite = {
-701,
-"Collection[CallSite]", /* class_name_string */
-2,
+/* runtime type ReduceAction147 */
+const struct type type_parser__ReduceAction147 = {
+-1, /*CAST DEAD*/
+"ReduceAction147", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+777, /* ReduceAction147 */
+},
 };
-/* runtime type AbstractArrayRead[CallSite] */
-const struct type type_array__AbstractArrayReadtyping__CallSite = {
-2271,
-"AbstractArrayRead[CallSite]", /* class_name_string */
-5,
+/* runtime type ReduceAction148 */
+const struct type type_parser__ReduceAction148 = {
+-1, /*CAST DEAD*/
+"ReduceAction148", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+778, /* ReduceAction148 */
+},
 };
-/* runtime type CallSite */
-const struct type type_typing__CallSite = {
-183,
-"CallSite", /* class_name_string */
-2,
+/* runtime type ReduceAction150 */
+const struct type type_parser__ReduceAction150 = {
+-1, /*CAST DEAD*/
+"ReduceAction150", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-183, /* CallSite */
+154, /* ReduceAction */
+779, /* ReduceAction150 */
 },
 };
-/* runtime type ASTBuilder */
-const struct type type_astbuilder__ASTBuilder = {
+/* runtime type ReduceAction151 */
+const struct type type_parser__ReduceAction151 = {
 -1, /*CAST DEAD*/
-"ASTBuilder", /* class_name_string */
+"ReduceAction151", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-184, /* ASTBuilder */
+154, /* ReduceAction */
+780, /* ReduceAction151 */
 },
 };
-/* runtime type HashMap[FFILanguage, Set[NitniCallback]] */
-const struct type type_hash_collection__HashMapffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback = {
-185,
-"HashMap[FFILanguage, Set[NitniCallback]]", /* class_name_string */
-2,
+/* runtime type ReduceAction152 */
+const struct type type_parser__ReduceAction152 = {
+-1, /*CAST DEAD*/
+"ReduceAction152", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* HashMap[FFILanguage, Set[NitniCallback]] */
+154, /* ReduceAction */
+781, /* ReduceAction152 */
 },
 };
-const struct types resolution_table_hash_collection__HashMapffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_ffi_base__FFILanguage, /* MapRead#0: FFILanguage */
-&type_hash_collection__HashMapKeysffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[FFILanguage, Set[NitniCallback]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodeffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[FFILanguage, Set[NitniCallback]]] */
-&type_hash_collection__HashMapValuesffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[FFILanguage, Set[NitniCallback]] */
-&type_hash_collection__HashMapIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[FFILanguage, Set[NitniCallback]] */
-&type_ffi_base__FFILanguage, /* Map#0: FFILanguage */
-&type_abstract_collection__Setnitni_callbacks__NitniCallback, /* Map#1: Set[NitniCallback] */
-&type_hash_collection__HashMapNodeffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[FFILanguage, Set[NitniCallback]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[FFILanguage, Set[NitniCallback]] not a live type) */
-&type_abstract_collection__Setnitni_callbacks__NitniCallback, /* MapRead#1: Set[NitniCallback] */
-&type_ffi_base__FFILanguage, /* HashCollection#0: FFILanguage */
-&type_nullable_hash_collection__HashMapNodeffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* nullable HashCollection#1: nullable HashMapNode[FFILanguage, Set[NitniCallback]] */
-&type_hash_collection__HashMapNodeffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* HashCollection#1: HashMapNode[FFILanguage, Set[NitniCallback]] */
-&type_nullable_ffi_base__FFILanguage, /* nullable HashCollection#0: nullable FFILanguage */
-}
-};
-/* runtime type POSet[MClass] */
-const struct type type_poset__POSetmodel__MClass = {
-2272,
-"POSet[MClass]", /* class_name_string */
-3,
+/* runtime type ReduceAction153 */
+const struct type type_parser__ReduceAction153 = {
+-1, /*CAST DEAD*/
+"ReduceAction153", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_poset__POSetmodel__MClass,
-7,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-20, /* nullable POSet[MClass] */
-2272, /* POSet[MClass] */
-92, /* Collection[Object] */
-99, /* Collection[nullable MClass] */
-1866, /* Collection[MClass] */
+154, /* ReduceAction */
+782, /* ReduceAction153 */
 },
 };
-const struct types resolution_table_poset__POSetmodel__MClass = {
-0, /* dummy */
-{
-&type_model__MClass, /* AbstractSorter#0: MClass */
-&type_array__Arraymodel__MClass, /* Array[AbstractSorter#0]: Array[MClass] */
-&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MClass, POSetElement[MClass]] */
-&type_model__MClass, /* POSet#0: MClass */
-&type_poset__POSetElementmodel__MClass, /* POSetElement[POSet#0]: POSetElement[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
-}
-};
-/* runtime type nullable POSet[MClass] */
-const struct type type_nullable_poset__POSetmodel__MClass = {
-20,
-"nullable POSet[MClass]", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type MClassDefSorter */
-const struct type type_model__MClassDefSorter = {
+/* runtime type ReduceAction154 */
+const struct type type_parser__ReduceAction154 = {
 -1, /*CAST DEAD*/
-"MClassDefSorter", /* class_name_string */
+"ReduceAction154", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_model__MClassDefSorter,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-186, /* MClassDefSorter */
+154, /* ReduceAction */
+783, /* ReduceAction154 */
 },
 };
-const struct types resolution_table_model__MClassDefSorter = {
-0, /* dummy */
-{
-&type_model__MClassDef, /* AbstractSorter#0: MClassDef */
-&type_array__Arraymodel__MClassDef, /* Array[AbstractSorter#0]: Array[MClassDef] */
-}
-};
-/* runtime type Frame */
-const struct type type_abstract_compiler__Frame = {
+/* runtime type ReduceAction156 */
+const struct type type_parser__ReduceAction156 = {
 -1, /*CAST DEAD*/
-"Frame", /* class_name_string */
+"ReduceAction156", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_compiler__Frame,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* Frame */
+154, /* ReduceAction */
+784, /* ReduceAction156 */
 },
 };
-const struct types resolution_table_abstract_compiler__Frame = {
-0, /* dummy */
-{
-&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
-}
-};
-/* runtime type ExternCFile */
-const struct type type_c__ExternCFile = {
-702,
-"ExternCFile", /* class_name_string */
-3,
+/* runtime type ReduceAction157 */
+const struct type type_parser__ReduceAction157 = {
+-1, /*CAST DEAD*/
+"ReduceAction157", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* ExternFile */
-702, /* ExternCFile */
+154, /* ReduceAction */
+785, /* ReduceAction157 */
 },
 };
-/* runtime type ExternFile */
-const struct type type_ffi_base__ExternFile = {
-188,
-"ExternFile", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[MParameterType] */
-const struct type type_array__Arraymodel__MParameterType = {
-2876,
-"Array[MParameterType]", /* class_name_string */
-17,
+/* runtime type ReduceAction158 */
+const struct type type_parser__ReduceAction158 = {
+-1, /*CAST DEAD*/
+"ReduceAction158", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraymodel__MParameterType,
-20,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable Array[nullable MType] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-101, /* Collection[nullable MType] */
-648, /* Collection[NitniCallback] */
-1838, /* AbstractArrayRead[Object] */
-1878, /* AbstractArrayRead[nullable MType] */
-2029, /* Array[Object] */
-2033, /* Collection[MType] */
-2273, /* Collection[MParameterType] */
-2260, /* Array[nullable MType] */
-2261, /* AbstractArrayRead[NitniCallback] */
-2824, /* AbstractArrayRead[MParameterType] */
-2675, /* Array[NitniCallback] */
-2778, /* AbstractArrayRead[MType] */
-2876, /* Array[MParameterType] */
--1, /* empty */
-2863, /* Array[MType] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MParameterType = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MParameterType, /* Array[Array#0]: Array[MParameterType] */
-&type_array__NativeArraymodel__MParameterType, /* NativeArray[Array#0]: NativeArray[MParameterType] */
-&type_model__MParameterType, /* Sequence#0: MParameterType */
-&type_model__MParameterType, /* SimpleCollection#0: MParameterType */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[Array#0]: Collection[MParameterType] */
-&type_model__MParameterType, /* Array#0: MParameterType */
-&type_array__NativeArraymodel__MParameterType, /* NativeArray[ArrayCapable#0]: NativeArray[MParameterType] */
-&type_model__MParameterType, /* AbstractArray#0: MParameterType */
-&type_model__MParameterType, /* RemovableCollection#0: MParameterType */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[Sequence#0]: Collection[MParameterType] */
-&type_array__Arraymodel__MParameterType, /* Array[Sequence#0]: Array[MParameterType] */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[SimpleCollection#0]: Collection[MParameterType] */
-&type_model__MParameterType, /* Collection#0: MParameterType */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[Collection#0]: Collection[MParameterType] */
-&type_model__MParameterType, /* SequenceRead#0: MParameterType */
-&type_model__MParameterType, /* AbstractArrayRead#0: MParameterType */
-&type_array__Arraymodel__MParameterType, /* Array[AbstractArrayRead#0]: Array[MParameterType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MParameterType] not a live type) */
-&type_array__ArrayIteratormodel__MParameterType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MParameterType] */
-}
+154, /* ReduceAction */
+786, /* ReduceAction158 */
+},
 };
-/* runtime type Collection[MParameterType] */
-const struct type type_abstract_collection__Collectionmodel__MParameterType = {
-2273,
-"Collection[MParameterType]", /* class_name_string */
-11,
+/* runtime type ReduceAction159 */
+const struct type type_parser__ReduceAction159 = {
+-1, /*CAST DEAD*/
+"ReduceAction159", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+787, /* ReduceAction159 */
+},
 };
-/* runtime type AbstractArrayRead[MParameterType] */
-const struct type type_array__AbstractArrayReadmodel__MParameterType = {
-2824,
-"AbstractArrayRead[MParameterType]", /* class_name_string */
-14,
+/* runtime type ReduceAction160 */
+const struct type type_parser__ReduceAction160 = {
+-1, /*CAST DEAD*/
+"ReduceAction160", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+788, /* ReduceAction160 */
+},
 };
-/* runtime type MParameterType */
-const struct type type_model__MParameterType = {
-2274,
-"MParameterType", /* class_name_string */
-5,
+/* runtime type ReduceAction161 */
+const struct type type_parser__ReduceAction161 = {
+-1, /*CAST DEAD*/
+"ReduceAction161", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-7,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-7, /* nullable NitniCallback */
-104, /* nullable MType */
-651, /* NitniCallback */
-2274, /* MParameterType */
-2034, /* MType */
+154, /* ReduceAction */
+789, /* ReduceAction161 */
 },
 };
-/* runtime type Layout[MType] */
-const struct type type_layout_builders__Layoutmodel__MType = {
+/* runtime type ReduceAction162 */
+const struct type type_parser__ReduceAction162 = {
 -1, /*CAST DEAD*/
-"Layout[MType]", /* class_name_string */
+"ReduceAction162", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__Layoutmodel__MType,
-3,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-189, /* Layout[MType] */
+154, /* ReduceAction */
+790, /* ReduceAction162 */
 },
 };
-const struct types resolution_table_layout_builders__Layoutmodel__MType = {
-0, /* dummy */
+/* runtime type ReduceAction163 */
+const struct type type_parser__ReduceAction163 = {
+-1, /*CAST DEAD*/
+"ReduceAction163", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Layout#0, Int]: Map[MType, Int] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+791, /* ReduceAction163 */
+},
 };
-/* runtime type PHLayout[MClassType, MType] */
-const struct type type_layout_builders__PHLayoutmodel__MClassTypemodel__MType = {
-1887,
-"PHLayout[MClassType, MType]", /* class_name_string */
-4,
+/* runtime type ReduceAction167 */
+const struct type type_parser__ReduceAction167 = {
+-1, /*CAST DEAD*/
+"ReduceAction167", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__PHLayoutmodel__MClassTypemodel__MType,
-5,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-189, /* Layout[MType] */
-703, /* PHLayout[MType, MType] */
-1887, /* PHLayout[MClassType, MType] */
+154, /* ReduceAction */
+792, /* ReduceAction167 */
 },
 };
-const struct types resolution_table_layout_builders__PHLayoutmodel__MClassTypemodel__MType = {
-0, /* dummy */
+/* runtime type ReduceAction168 */
+const struct type type_parser__ReduceAction168 = {
+-1, /*CAST DEAD*/
+"ReduceAction168", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Layout#0, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[PHLayout#0, Int]: HashMap[MClassType, Int] */
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[PHLayout#0, Map[PHLayout#1, Int]]: HashMap[MClassType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MClassTypekernel__Int, /* Map[PHLayout#0, Int]: Map[MClassType, Int] */
-&type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* Map[PHLayout#0, Map[PHLayout#1, Int]]: Map[MClassType, Map[MType, Int]] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+793, /* ReduceAction168 */
+},
 };
-/* runtime type PHLayout[MType, MType] */
-const struct type type_layout_builders__PHLayoutmodel__MTypemodel__MType = {
-703,
-"PHLayout[MType, MType]", /* class_name_string */
-3,
+/* runtime type ReduceAction169 */
+const struct type type_parser__ReduceAction169 = {
+-1, /*CAST DEAD*/
+"ReduceAction169", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_layout_builders__PHLayoutmodel__MTypemodel__MType,
+NULL, /*NO RESOLUTIONS*/
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-189, /* Layout[MType] */
-703, /* PHLayout[MType, MType] */
+154, /* ReduceAction */
+794, /* ReduceAction169 */
 },
 };
-const struct types resolution_table_layout_builders__PHLayoutmodel__MTypemodel__MType = {
-0, /* dummy */
+/* runtime type ReduceAction170 */
+const struct type type_parser__ReduceAction170 = {
+-1, /*CAST DEAD*/
+"ReduceAction170", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Layout#0, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[PHLayout#0, Int]: HashMap[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[PHLayout#0, Map[PHLayout#1, Int]]: HashMap[MType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[PHLayout#0, Int]: Map[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* Map[PHLayout#0, Map[PHLayout#1, Int]]: Map[MType, Map[MType, Int]] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+795, /* ReduceAction170 */
+},
 };
-/* runtime type Array[Match] */
-const struct type type_array__Arraystring_search__Match = {
-2682,
-"Array[Match]", /* class_name_string */
-6,
+/* runtime type ReduceAction171 */
+const struct type type_parser__ReduceAction171 = {
+-1, /*CAST DEAD*/
+"ReduceAction171", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraystring_search__Match,
-10,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-704, /* Collection[Match] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2275, /* AbstractArrayRead[Match] */
-2682, /* Array[Match] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
+154, /* ReduceAction */
+796, /* ReduceAction171 */
 },
 };
-const struct types resolution_table_array__Arraystring_search__Match = {
-0, /* dummy */
+/* runtime type ReduceAction172 */
+const struct type type_parser__ReduceAction172 = {
+-1, /*CAST DEAD*/
+"ReduceAction172", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arraystring_search__Match, /* Array[Array#0]: Array[Match] */
-&type_array__NativeArraystring_search__Match, /* NativeArray[Array#0]: NativeArray[Match] */
-&type_string_search__Match, /* Sequence#0: Match */
-&type_string_search__Match, /* SimpleCollection#0: Match */
-&type_abstract_collection__Collectionstring_search__Match, /* Collection[Array#0]: Collection[Match] */
-&type_string_search__Match, /* Array#0: Match */
-&type_array__NativeArraystring_search__Match, /* NativeArray[ArrayCapable#0]: NativeArray[Match] */
-&type_string_search__Match, /* AbstractArray#0: Match */
-&type_string_search__Match, /* RemovableCollection#0: Match */
-&type_abstract_collection__Collectionstring_search__Match, /* Collection[Sequence#0]: Collection[Match] */
-&type_array__Arraystring_search__Match, /* Array[Sequence#0]: Array[Match] */
-&type_abstract_collection__Collectionstring_search__Match, /* Collection[SimpleCollection#0]: Collection[Match] */
-&type_string_search__Match, /* Collection#0: Match */
-&type_abstract_collection__Collectionstring_search__Match, /* Collection[Collection#0]: Collection[Match] */
-&type_string_search__Match, /* SequenceRead#0: Match */
-&type_string_search__Match, /* AbstractArrayRead#0: Match */
-&type_array__Arraystring_search__Match, /* Array[AbstractArrayRead#0]: Array[Match] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Match] not a live type) */
-&type_array__ArrayIteratorstring_search__Match, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Match] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+797, /* ReduceAction172 */
+},
 };
-/* runtime type Collection[Match] */
-const struct type type_abstract_collection__Collectionstring_search__Match = {
-704,
-"Collection[Match]", /* class_name_string */
-2,
+/* runtime type ReduceAction173 */
+const struct type type_parser__ReduceAction173 = {
+-1, /*CAST DEAD*/
+"ReduceAction173", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+798, /* ReduceAction173 */
+},
 };
-/* runtime type AbstractArrayRead[Match] */
-const struct type type_array__AbstractArrayReadstring_search__Match = {
-2275,
-"AbstractArrayRead[Match]", /* class_name_string */
-5,
+/* runtime type ReduceAction174 */
+const struct type type_parser__ReduceAction174 = {
+-1, /*CAST DEAD*/
+"ReduceAction174", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+799, /* ReduceAction174 */
+},
 };
-/* runtime type Match */
-const struct type type_string_search__Match = {
-190,
-"Match", /* class_name_string */
-2,
+/* runtime type ReduceAction175 */
+const struct type type_parser__ReduceAction175 = {
+-1, /*CAST DEAD*/
+"ReduceAction175", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-190, /* Match */
+154, /* ReduceAction */
+800, /* ReduceAction175 */
 },
 };
-/* runtime type Array[ReduceAction] */
-const struct type type_array__Arrayparser__ReduceAction = {
-2683,
-"Array[ReduceAction]", /* class_name_string */
-6,
+/* runtime type ReduceAction176 */
+const struct type type_parser__ReduceAction176 = {
+-1, /*CAST DEAD*/
+"ReduceAction176", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser__ReduceAction,
-10,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-705, /* Collection[ReduceAction] */
-91, /* SequenceRead[nullable Object] */
-92, /* Collection[Object] */
-2276, /* AbstractArrayRead[ReduceAction] */
-2683, /* Array[ReduceAction] */
-1838, /* AbstractArrayRead[Object] */
--1, /* empty */
-2029, /* Array[Object] */
+154, /* ReduceAction */
+801, /* ReduceAction176 */
 },
 };
-const struct types resolution_table_array__Arrayparser__ReduceAction = {
-0, /* dummy */
+/* runtime type ReduceAction180 */
+const struct type type_parser__ReduceAction180 = {
+-1, /*CAST DEAD*/
+"ReduceAction180", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
 {
-&type_array__Arrayparser__ReduceAction, /* Array[Array#0]: Array[ReduceAction] */
-&type_array__NativeArrayparser__ReduceAction, /* NativeArray[Array#0]: NativeArray[ReduceAction] */
-&type_parser__ReduceAction, /* Sequence#0: ReduceAction */
-&type_parser__ReduceAction, /* SimpleCollection#0: ReduceAction */
-&type_abstract_collection__Collectionparser__ReduceAction, /* Collection[Array#0]: Collection[ReduceAction] */
-&type_parser__ReduceAction, /* Array#0: ReduceAction */
-&type_array__NativeArrayparser__ReduceAction, /* NativeArray[ArrayCapable#0]: NativeArray[ReduceAction] */
-&type_parser__ReduceAction, /* AbstractArray#0: ReduceAction */
-&type_parser__ReduceAction, /* RemovableCollection#0: ReduceAction */
-&type_abstract_collection__Collectionparser__ReduceAction, /* Collection[Sequence#0]: Collection[ReduceAction] */
-&type_array__Arrayparser__ReduceAction, /* Array[Sequence#0]: Array[ReduceAction] */
-&type_abstract_collection__Collectionparser__ReduceAction, /* Collection[SimpleCollection#0]: Collection[ReduceAction] */
-&type_parser__ReduceAction, /* Collection#0: ReduceAction */
-&type_abstract_collection__Collectionparser__ReduceAction, /* Collection[Collection#0]: Collection[ReduceAction] */
-&type_parser__ReduceAction, /* SequenceRead#0: ReduceAction */
-&type_parser__ReduceAction, /* AbstractArrayRead#0: ReduceAction */
-&type_array__Arrayparser__ReduceAction, /* Array[AbstractArrayRead#0]: Array[ReduceAction] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ReduceAction] not a live type) */
-&type_array__ArrayIteratorparser__ReduceAction, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ReduceAction] */
-}
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+802, /* ReduceAction180 */
+},
 };
-/* runtime type Collection[ReduceAction] */
-const struct type type_abstract_collection__Collectionparser__ReduceAction = {
-705,
-"Collection[ReduceAction]", /* class_name_string */
-2,
+/* runtime type ReduceAction181 */
+const struct type type_parser__ReduceAction181 = {
+-1, /*CAST DEAD*/
+"ReduceAction181", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+803, /* ReduceAction181 */
+},
 };
-/* runtime type AbstractArrayRead[ReduceAction] */
-const struct type type_array__AbstractArrayReadparser__ReduceAction = {
-2276,
-"AbstractArrayRead[ReduceAction]", /* class_name_string */
-5,
+/* runtime type ReduceAction182 */
+const struct type type_parser__ReduceAction182 = {
+-1, /*CAST DEAD*/
+"ReduceAction182", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+804, /* ReduceAction182 */
+},
 };
-/* runtime type ReduceAction0 */
-const struct type type_parser__ReduceAction0 = {
+/* runtime type ReduceAction183 */
+const struct type type_parser__ReduceAction183 = {
 -1, /*CAST DEAD*/
-"ReduceAction0", /* class_name_string */
+"ReduceAction183", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8799,23 +8789,29 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-706, /* ReduceAction0 */
+154, /* ReduceAction */
+805, /* ReduceAction183 */
 },
 };
-/* runtime type ReduceAction */
-const struct type type_parser__ReduceAction = {
-191,
-"ReduceAction", /* class_name_string */
-2,
+/* runtime type ReduceAction184 */
+const struct type type_parser__ReduceAction184 = {
+-1, /*CAST DEAD*/
+"ReduceAction184", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* ReduceAction */
+806, /* ReduceAction184 */
+},
 };
-/* runtime type ReduceAction1 */
-const struct type type_parser__ReduceAction1 = {
+/* runtime type ReduceAction185 */
+const struct type type_parser__ReduceAction185 = {
 -1, /*CAST DEAD*/
-"ReduceAction1", /* class_name_string */
+"ReduceAction185", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8823,14 +8819,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-707, /* ReduceAction1 */
+154, /* ReduceAction */
+807, /* ReduceAction185 */
 },
 };
-/* runtime type ReduceAction2 */
-const struct type type_parser__ReduceAction2 = {
+/* runtime type ReduceAction186 */
+const struct type type_parser__ReduceAction186 = {
 -1, /*CAST DEAD*/
-"ReduceAction2", /* class_name_string */
+"ReduceAction186", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8838,14 +8834,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-708, /* ReduceAction2 */
+154, /* ReduceAction */
+808, /* ReduceAction186 */
 },
 };
-/* runtime type ReduceAction3 */
-const struct type type_parser__ReduceAction3 = {
+/* runtime type ReduceAction193 */
+const struct type type_parser__ReduceAction193 = {
 -1, /*CAST DEAD*/
-"ReduceAction3", /* class_name_string */
+"ReduceAction193", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8853,14 +8849,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-709, /* ReduceAction3 */
+154, /* ReduceAction */
+809, /* ReduceAction193 */
 },
 };
-/* runtime type ReduceAction4 */
-const struct type type_parser__ReduceAction4 = {
+/* runtime type ReduceAction194 */
+const struct type type_parser__ReduceAction194 = {
 -1, /*CAST DEAD*/
-"ReduceAction4", /* class_name_string */
+"ReduceAction194", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8868,14 +8864,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-710, /* ReduceAction4 */
+154, /* ReduceAction */
+810, /* ReduceAction194 */
 },
 };
-/* runtime type ReduceAction5 */
-const struct type type_parser__ReduceAction5 = {
+/* runtime type ReduceAction195 */
+const struct type type_parser__ReduceAction195 = {
 -1, /*CAST DEAD*/
-"ReduceAction5", /* class_name_string */
+"ReduceAction195", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8883,14 +8879,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-711, /* ReduceAction5 */
+154, /* ReduceAction */
+811, /* ReduceAction195 */
 },
 };
-/* runtime type ReduceAction6 */
-const struct type type_parser__ReduceAction6 = {
+/* runtime type ReduceAction196 */
+const struct type type_parser__ReduceAction196 = {
 -1, /*CAST DEAD*/
-"ReduceAction6", /* class_name_string */
+"ReduceAction196", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8898,14 +8894,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-712, /* ReduceAction6 */
+154, /* ReduceAction */
+812, /* ReduceAction196 */
 },
 };
-/* runtime type ReduceAction7 */
-const struct type type_parser__ReduceAction7 = {
+/* runtime type ReduceAction197 */
+const struct type type_parser__ReduceAction197 = {
 -1, /*CAST DEAD*/
-"ReduceAction7", /* class_name_string */
+"ReduceAction197", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8913,14 +8909,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-713, /* ReduceAction7 */
+154, /* ReduceAction */
+813, /* ReduceAction197 */
 },
 };
-/* runtime type ReduceAction8 */
-const struct type type_parser__ReduceAction8 = {
+/* runtime type ReduceAction198 */
+const struct type type_parser__ReduceAction198 = {
 -1, /*CAST DEAD*/
-"ReduceAction8", /* class_name_string */
+"ReduceAction198", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8928,14 +8924,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-714, /* ReduceAction8 */
+154, /* ReduceAction */
+814, /* ReduceAction198 */
 },
 };
-/* runtime type ReduceAction9 */
-const struct type type_parser__ReduceAction9 = {
+/* runtime type ReduceAction199 */
+const struct type type_parser__ReduceAction199 = {
 -1, /*CAST DEAD*/
-"ReduceAction9", /* class_name_string */
+"ReduceAction199", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8943,14 +8939,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-715, /* ReduceAction9 */
+154, /* ReduceAction */
+815, /* ReduceAction199 */
 },
 };
-/* runtime type ReduceAction10 */
-const struct type type_parser__ReduceAction10 = {
+/* runtime type ReduceAction201 */
+const struct type type_parser__ReduceAction201 = {
 -1, /*CAST DEAD*/
-"ReduceAction10", /* class_name_string */
+"ReduceAction201", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8958,14 +8954,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-716, /* ReduceAction10 */
+154, /* ReduceAction */
+816, /* ReduceAction201 */
 },
 };
-/* runtime type ReduceAction11 */
-const struct type type_parser__ReduceAction11 = {
+/* runtime type ReduceAction202 */
+const struct type type_parser__ReduceAction202 = {
 -1, /*CAST DEAD*/
-"ReduceAction11", /* class_name_string */
+"ReduceAction202", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8973,14 +8969,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-717, /* ReduceAction11 */
+154, /* ReduceAction */
+817, /* ReduceAction202 */
 },
 };
-/* runtime type ReduceAction12 */
-const struct type type_parser__ReduceAction12 = {
+/* runtime type ReduceAction204 */
+const struct type type_parser__ReduceAction204 = {
 -1, /*CAST DEAD*/
-"ReduceAction12", /* class_name_string */
+"ReduceAction204", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -8988,14 +8984,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-718, /* ReduceAction12 */
+154, /* ReduceAction */
+818, /* ReduceAction204 */
 },
 };
-/* runtime type ReduceAction13 */
-const struct type type_parser__ReduceAction13 = {
+/* runtime type ReduceAction205 */
+const struct type type_parser__ReduceAction205 = {
 -1, /*CAST DEAD*/
-"ReduceAction13", /* class_name_string */
+"ReduceAction205", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9003,14 +8999,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-719, /* ReduceAction13 */
+154, /* ReduceAction */
+819, /* ReduceAction205 */
 },
 };
-/* runtime type ReduceAction14 */
-const struct type type_parser__ReduceAction14 = {
+/* runtime type ReduceAction206 */
+const struct type type_parser__ReduceAction206 = {
 -1, /*CAST DEAD*/
-"ReduceAction14", /* class_name_string */
+"ReduceAction206", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9018,14 +9014,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-720, /* ReduceAction14 */
+154, /* ReduceAction */
+820, /* ReduceAction206 */
 },
 };
-/* runtime type ReduceAction15 */
-const struct type type_parser__ReduceAction15 = {
+/* runtime type ReduceAction207 */
+const struct type type_parser__ReduceAction207 = {
 -1, /*CAST DEAD*/
-"ReduceAction15", /* class_name_string */
+"ReduceAction207", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9033,14 +9029,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-721, /* ReduceAction15 */
+154, /* ReduceAction */
+821, /* ReduceAction207 */
 },
 };
-/* runtime type ReduceAction16 */
-const struct type type_parser__ReduceAction16 = {
+/* runtime type ReduceAction208 */
+const struct type type_parser__ReduceAction208 = {
 -1, /*CAST DEAD*/
-"ReduceAction16", /* class_name_string */
+"ReduceAction208", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9048,14 +9044,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-722, /* ReduceAction16 */
+154, /* ReduceAction */
+822, /* ReduceAction208 */
 },
 };
-/* runtime type ReduceAction17 */
-const struct type type_parser__ReduceAction17 = {
+/* runtime type ReduceAction209 */
+const struct type type_parser__ReduceAction209 = {
 -1, /*CAST DEAD*/
-"ReduceAction17", /* class_name_string */
+"ReduceAction209", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9063,14 +9059,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-723, /* ReduceAction17 */
+154, /* ReduceAction */
+823, /* ReduceAction209 */
 },
 };
-/* runtime type ReduceAction18 */
-const struct type type_parser__ReduceAction18 = {
+/* runtime type ReduceAction210 */
+const struct type type_parser__ReduceAction210 = {
 -1, /*CAST DEAD*/
-"ReduceAction18", /* class_name_string */
+"ReduceAction210", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9078,14 +9074,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-724, /* ReduceAction18 */
+154, /* ReduceAction */
+824, /* ReduceAction210 */
 },
 };
-/* runtime type ReduceAction19 */
-const struct type type_parser__ReduceAction19 = {
+/* runtime type ReduceAction211 */
+const struct type type_parser__ReduceAction211 = {
 -1, /*CAST DEAD*/
-"ReduceAction19", /* class_name_string */
+"ReduceAction211", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9093,14 +9089,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-725, /* ReduceAction19 */
+154, /* ReduceAction */
+825, /* ReduceAction211 */
 },
 };
-/* runtime type ReduceAction20 */
-const struct type type_parser__ReduceAction20 = {
+/* runtime type ReduceAction212 */
+const struct type type_parser__ReduceAction212 = {
 -1, /*CAST DEAD*/
-"ReduceAction20", /* class_name_string */
+"ReduceAction212", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9108,14 +9104,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-726, /* ReduceAction20 */
+154, /* ReduceAction */
+826, /* ReduceAction212 */
 },
 };
-/* runtime type ReduceAction21 */
-const struct type type_parser__ReduceAction21 = {
+/* runtime type ReduceAction213 */
+const struct type type_parser__ReduceAction213 = {
 -1, /*CAST DEAD*/
-"ReduceAction21", /* class_name_string */
+"ReduceAction213", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9123,14 +9119,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-727, /* ReduceAction21 */
+154, /* ReduceAction */
+827, /* ReduceAction213 */
 },
 };
-/* runtime type ReduceAction22 */
-const struct type type_parser__ReduceAction22 = {
+/* runtime type ReduceAction214 */
+const struct type type_parser__ReduceAction214 = {
 -1, /*CAST DEAD*/
-"ReduceAction22", /* class_name_string */
+"ReduceAction214", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9138,14 +9134,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-728, /* ReduceAction22 */
+154, /* ReduceAction */
+828, /* ReduceAction214 */
 },
 };
-/* runtime type ReduceAction23 */
-const struct type type_parser__ReduceAction23 = {
+/* runtime type ReduceAction215 */
+const struct type type_parser__ReduceAction215 = {
 -1, /*CAST DEAD*/
-"ReduceAction23", /* class_name_string */
+"ReduceAction215", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9153,14 +9149,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-729, /* ReduceAction23 */
+154, /* ReduceAction */
+829, /* ReduceAction215 */
 },
 };
-/* runtime type ReduceAction24 */
-const struct type type_parser__ReduceAction24 = {
+/* runtime type ReduceAction216 */
+const struct type type_parser__ReduceAction216 = {
 -1, /*CAST DEAD*/
-"ReduceAction24", /* class_name_string */
+"ReduceAction216", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9168,14 +9164,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-730, /* ReduceAction24 */
+154, /* ReduceAction */
+830, /* ReduceAction216 */
 },
 };
-/* runtime type ReduceAction25 */
-const struct type type_parser__ReduceAction25 = {
+/* runtime type ReduceAction217 */
+const struct type type_parser__ReduceAction217 = {
 -1, /*CAST DEAD*/
-"ReduceAction25", /* class_name_string */
+"ReduceAction217", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9183,14 +9179,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-731, /* ReduceAction25 */
+154, /* ReduceAction */
+831, /* ReduceAction217 */
 },
 };
-/* runtime type ReduceAction26 */
-const struct type type_parser__ReduceAction26 = {
+/* runtime type ReduceAction218 */
+const struct type type_parser__ReduceAction218 = {
 -1, /*CAST DEAD*/
-"ReduceAction26", /* class_name_string */
+"ReduceAction218", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9198,14 +9194,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-732, /* ReduceAction26 */
+154, /* ReduceAction */
+832, /* ReduceAction218 */
 },
 };
-/* runtime type ReduceAction27 */
-const struct type type_parser__ReduceAction27 = {
+/* runtime type ReduceAction219 */
+const struct type type_parser__ReduceAction219 = {
 -1, /*CAST DEAD*/
-"ReduceAction27", /* class_name_string */
+"ReduceAction219", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9213,14 +9209,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-733, /* ReduceAction27 */
+154, /* ReduceAction */
+833, /* ReduceAction219 */
 },
 };
-/* runtime type ReduceAction28 */
-const struct type type_parser__ReduceAction28 = {
+/* runtime type ReduceAction220 */
+const struct type type_parser__ReduceAction220 = {
 -1, /*CAST DEAD*/
-"ReduceAction28", /* class_name_string */
+"ReduceAction220", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9228,14 +9224,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-734, /* ReduceAction28 */
+154, /* ReduceAction */
+834, /* ReduceAction220 */
 },
 };
-/* runtime type ReduceAction29 */
-const struct type type_parser__ReduceAction29 = {
+/* runtime type ReduceAction221 */
+const struct type type_parser__ReduceAction221 = {
 -1, /*CAST DEAD*/
-"ReduceAction29", /* class_name_string */
+"ReduceAction221", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9243,14 +9239,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-735, /* ReduceAction29 */
+154, /* ReduceAction */
+835, /* ReduceAction221 */
 },
 };
-/* runtime type ReduceAction30 */
-const struct type type_parser__ReduceAction30 = {
+/* runtime type ReduceAction222 */
+const struct type type_parser__ReduceAction222 = {
 -1, /*CAST DEAD*/
-"ReduceAction30", /* class_name_string */
+"ReduceAction222", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9258,14 +9254,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-736, /* ReduceAction30 */
+154, /* ReduceAction */
+836, /* ReduceAction222 */
 },
 };
-/* runtime type ReduceAction31 */
-const struct type type_parser__ReduceAction31 = {
+/* runtime type ReduceAction223 */
+const struct type type_parser__ReduceAction223 = {
 -1, /*CAST DEAD*/
-"ReduceAction31", /* class_name_string */
+"ReduceAction223", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9273,14 +9269,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-737, /* ReduceAction31 */
+154, /* ReduceAction */
+837, /* ReduceAction223 */
 },
 };
-/* runtime type ReduceAction32 */
-const struct type type_parser__ReduceAction32 = {
+/* runtime type ReduceAction224 */
+const struct type type_parser__ReduceAction224 = {
 -1, /*CAST DEAD*/
-"ReduceAction32", /* class_name_string */
+"ReduceAction224", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9288,14 +9284,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-738, /* ReduceAction32 */
+154, /* ReduceAction */
+838, /* ReduceAction224 */
 },
 };
-/* runtime type ReduceAction33 */
-const struct type type_parser__ReduceAction33 = {
+/* runtime type ReduceAction225 */
+const struct type type_parser__ReduceAction225 = {
 -1, /*CAST DEAD*/
-"ReduceAction33", /* class_name_string */
+"ReduceAction225", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9303,14 +9299,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-739, /* ReduceAction33 */
+154, /* ReduceAction */
+839, /* ReduceAction225 */
 },
 };
-/* runtime type ReduceAction34 */
-const struct type type_parser__ReduceAction34 = {
+/* runtime type ReduceAction226 */
+const struct type type_parser__ReduceAction226 = {
 -1, /*CAST DEAD*/
-"ReduceAction34", /* class_name_string */
+"ReduceAction226", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9318,14 +9314,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-740, /* ReduceAction34 */
+154, /* ReduceAction */
+840, /* ReduceAction226 */
 },
 };
-/* runtime type ReduceAction35 */
-const struct type type_parser__ReduceAction35 = {
+/* runtime type ReduceAction227 */
+const struct type type_parser__ReduceAction227 = {
 -1, /*CAST DEAD*/
-"ReduceAction35", /* class_name_string */
+"ReduceAction227", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9333,14 +9329,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-741, /* ReduceAction35 */
+154, /* ReduceAction */
+841, /* ReduceAction227 */
 },
 };
-/* runtime type ReduceAction36 */
-const struct type type_parser__ReduceAction36 = {
+/* runtime type ReduceAction228 */
+const struct type type_parser__ReduceAction228 = {
 -1, /*CAST DEAD*/
-"ReduceAction36", /* class_name_string */
+"ReduceAction228", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9348,14 +9344,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-742, /* ReduceAction36 */
+154, /* ReduceAction */
+842, /* ReduceAction228 */
 },
 };
-/* runtime type ReduceAction37 */
-const struct type type_parser__ReduceAction37 = {
+/* runtime type ReduceAction229 */
+const struct type type_parser__ReduceAction229 = {
 -1, /*CAST DEAD*/
-"ReduceAction37", /* class_name_string */
+"ReduceAction229", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9363,14 +9359,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-743, /* ReduceAction37 */
+154, /* ReduceAction */
+843, /* ReduceAction229 */
 },
 };
-/* runtime type ReduceAction38 */
-const struct type type_parser__ReduceAction38 = {
+/* runtime type ReduceAction232 */
+const struct type type_parser__ReduceAction232 = {
 -1, /*CAST DEAD*/
-"ReduceAction38", /* class_name_string */
+"ReduceAction232", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9378,14 +9374,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-744, /* ReduceAction38 */
+154, /* ReduceAction */
+844, /* ReduceAction232 */
 },
 };
-/* runtime type ReduceAction39 */
-const struct type type_parser__ReduceAction39 = {
+/* runtime type ReduceAction233 */
+const struct type type_parser__ReduceAction233 = {
 -1, /*CAST DEAD*/
-"ReduceAction39", /* class_name_string */
+"ReduceAction233", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9393,14 +9389,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-745, /* ReduceAction39 */
+154, /* ReduceAction */
+845, /* ReduceAction233 */
 },
 };
-/* runtime type ReduceAction40 */
-const struct type type_parser__ReduceAction40 = {
+/* runtime type ReduceAction234 */
+const struct type type_parser__ReduceAction234 = {
 -1, /*CAST DEAD*/
-"ReduceAction40", /* class_name_string */
+"ReduceAction234", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9408,14 +9404,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-746, /* ReduceAction40 */
+154, /* ReduceAction */
+846, /* ReduceAction234 */
 },
 };
-/* runtime type ReduceAction41 */
-const struct type type_parser__ReduceAction41 = {
+/* runtime type ReduceAction235 */
+const struct type type_parser__ReduceAction235 = {
 -1, /*CAST DEAD*/
-"ReduceAction41", /* class_name_string */
+"ReduceAction235", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9423,14 +9419,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-747, /* ReduceAction41 */
+154, /* ReduceAction */
+847, /* ReduceAction235 */
 },
 };
-/* runtime type ReduceAction42 */
-const struct type type_parser__ReduceAction42 = {
+/* runtime type ReduceAction236 */
+const struct type type_parser__ReduceAction236 = {
 -1, /*CAST DEAD*/
-"ReduceAction42", /* class_name_string */
+"ReduceAction236", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9438,14 +9434,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-748, /* ReduceAction42 */
+154, /* ReduceAction */
+848, /* ReduceAction236 */
 },
 };
-/* runtime type ReduceAction43 */
-const struct type type_parser__ReduceAction43 = {
+/* runtime type ReduceAction237 */
+const struct type type_parser__ReduceAction237 = {
 -1, /*CAST DEAD*/
-"ReduceAction43", /* class_name_string */
+"ReduceAction237", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9453,14 +9449,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-749, /* ReduceAction43 */
+154, /* ReduceAction */
+849, /* ReduceAction237 */
 },
 };
-/* runtime type ReduceAction44 */
-const struct type type_parser__ReduceAction44 = {
+/* runtime type ReduceAction238 */
+const struct type type_parser__ReduceAction238 = {
 -1, /*CAST DEAD*/
-"ReduceAction44", /* class_name_string */
+"ReduceAction238", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9468,14 +9464,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-750, /* ReduceAction44 */
+154, /* ReduceAction */
+850, /* ReduceAction238 */
 },
 };
-/* runtime type ReduceAction45 */
-const struct type type_parser__ReduceAction45 = {
+/* runtime type ReduceAction239 */
+const struct type type_parser__ReduceAction239 = {
 -1, /*CAST DEAD*/
-"ReduceAction45", /* class_name_string */
+"ReduceAction239", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9483,14 +9479,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-751, /* ReduceAction45 */
+154, /* ReduceAction */
+851, /* ReduceAction239 */
 },
 };
-/* runtime type ReduceAction46 */
-const struct type type_parser__ReduceAction46 = {
+/* runtime type ReduceAction240 */
+const struct type type_parser__ReduceAction240 = {
 -1, /*CAST DEAD*/
-"ReduceAction46", /* class_name_string */
+"ReduceAction240", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9498,14 +9494,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-752, /* ReduceAction46 */
+154, /* ReduceAction */
+852, /* ReduceAction240 */
 },
 };
-/* runtime type ReduceAction47 */
-const struct type type_parser__ReduceAction47 = {
+/* runtime type ReduceAction241 */
+const struct type type_parser__ReduceAction241 = {
 -1, /*CAST DEAD*/
-"ReduceAction47", /* class_name_string */
+"ReduceAction241", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9513,14 +9509,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-753, /* ReduceAction47 */
+154, /* ReduceAction */
+853, /* ReduceAction241 */
 },
 };
-/* runtime type ReduceAction48 */
-const struct type type_parser__ReduceAction48 = {
+/* runtime type ReduceAction242 */
+const struct type type_parser__ReduceAction242 = {
 -1, /*CAST DEAD*/
-"ReduceAction48", /* class_name_string */
+"ReduceAction242", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9528,14 +9524,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-754, /* ReduceAction48 */
+154, /* ReduceAction */
+854, /* ReduceAction242 */
 },
 };
-/* runtime type ReduceAction49 */
-const struct type type_parser__ReduceAction49 = {
+/* runtime type ReduceAction243 */
+const struct type type_parser__ReduceAction243 = {
 -1, /*CAST DEAD*/
-"ReduceAction49", /* class_name_string */
+"ReduceAction243", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9543,14 +9539,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-755, /* ReduceAction49 */
+154, /* ReduceAction */
+855, /* ReduceAction243 */
 },
 };
-/* runtime type ReduceAction50 */
-const struct type type_parser__ReduceAction50 = {
+/* runtime type ReduceAction244 */
+const struct type type_parser__ReduceAction244 = {
 -1, /*CAST DEAD*/
-"ReduceAction50", /* class_name_string */
+"ReduceAction244", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9558,14 +9554,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-756, /* ReduceAction50 */
+154, /* ReduceAction */
+856, /* ReduceAction244 */
 },
 };
-/* runtime type ReduceAction51 */
-const struct type type_parser__ReduceAction51 = {
+/* runtime type ReduceAction247 */
+const struct type type_parser__ReduceAction247 = {
 -1, /*CAST DEAD*/
-"ReduceAction51", /* class_name_string */
+"ReduceAction247", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9573,14 +9569,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-757, /* ReduceAction51 */
+154, /* ReduceAction */
+857, /* ReduceAction247 */
 },
 };
-/* runtime type ReduceAction52 */
-const struct type type_parser__ReduceAction52 = {
+/* runtime type ReduceAction249 */
+const struct type type_parser__ReduceAction249 = {
 -1, /*CAST DEAD*/
-"ReduceAction52", /* class_name_string */
+"ReduceAction249", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9588,14 +9584,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-758, /* ReduceAction52 */
+154, /* ReduceAction */
+858, /* ReduceAction249 */
 },
 };
-/* runtime type ReduceAction53 */
-const struct type type_parser__ReduceAction53 = {
+/* runtime type ReduceAction250 */
+const struct type type_parser__ReduceAction250 = {
 -1, /*CAST DEAD*/
-"ReduceAction53", /* class_name_string */
+"ReduceAction250", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9603,14 +9599,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-759, /* ReduceAction53 */
+154, /* ReduceAction */
+859, /* ReduceAction250 */
 },
 };
-/* runtime type ReduceAction54 */
-const struct type type_parser__ReduceAction54 = {
+/* runtime type ReduceAction251 */
+const struct type type_parser__ReduceAction251 = {
 -1, /*CAST DEAD*/
-"ReduceAction54", /* class_name_string */
+"ReduceAction251", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9618,14 +9614,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-760, /* ReduceAction54 */
+154, /* ReduceAction */
+860, /* ReduceAction251 */
 },
 };
-/* runtime type ReduceAction55 */
-const struct type type_parser__ReduceAction55 = {
+/* runtime type ReduceAction252 */
+const struct type type_parser__ReduceAction252 = {
 -1, /*CAST DEAD*/
-"ReduceAction55", /* class_name_string */
+"ReduceAction252", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9633,14 +9629,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-761, /* ReduceAction55 */
+154, /* ReduceAction */
+861, /* ReduceAction252 */
 },
 };
-/* runtime type ReduceAction56 */
-const struct type type_parser__ReduceAction56 = {
+/* runtime type ReduceAction254 */
+const struct type type_parser__ReduceAction254 = {
 -1, /*CAST DEAD*/
-"ReduceAction56", /* class_name_string */
+"ReduceAction254", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9648,14 +9644,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-762, /* ReduceAction56 */
+154, /* ReduceAction */
+862, /* ReduceAction254 */
 },
 };
-/* runtime type ReduceAction57 */
-const struct type type_parser__ReduceAction57 = {
+/* runtime type ReduceAction256 */
+const struct type type_parser__ReduceAction256 = {
 -1, /*CAST DEAD*/
-"ReduceAction57", /* class_name_string */
+"ReduceAction256", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9663,14 +9659,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-763, /* ReduceAction57 */
+154, /* ReduceAction */
+863, /* ReduceAction256 */
 },
 };
-/* runtime type ReduceAction58 */
-const struct type type_parser__ReduceAction58 = {
+/* runtime type ReduceAction257 */
+const struct type type_parser__ReduceAction257 = {
 -1, /*CAST DEAD*/
-"ReduceAction58", /* class_name_string */
+"ReduceAction257", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9678,14 +9674,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-764, /* ReduceAction58 */
+154, /* ReduceAction */
+864, /* ReduceAction257 */
 },
 };
-/* runtime type ReduceAction59 */
-const struct type type_parser__ReduceAction59 = {
+/* runtime type ReduceAction258 */
+const struct type type_parser__ReduceAction258 = {
 -1, /*CAST DEAD*/
-"ReduceAction59", /* class_name_string */
+"ReduceAction258", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9693,14 +9689,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-765, /* ReduceAction59 */
+154, /* ReduceAction */
+865, /* ReduceAction258 */
 },
 };
-/* runtime type ReduceAction60 */
-const struct type type_parser__ReduceAction60 = {
+/* runtime type ReduceAction259 */
+const struct type type_parser__ReduceAction259 = {
 -1, /*CAST DEAD*/
-"ReduceAction60", /* class_name_string */
+"ReduceAction259", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9708,14 +9704,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-766, /* ReduceAction60 */
+154, /* ReduceAction */
+866, /* ReduceAction259 */
 },
 };
-/* runtime type ReduceAction61 */
-const struct type type_parser__ReduceAction61 = {
+/* runtime type ReduceAction260 */
+const struct type type_parser__ReduceAction260 = {
 -1, /*CAST DEAD*/
-"ReduceAction61", /* class_name_string */
+"ReduceAction260", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9723,14 +9719,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-767, /* ReduceAction61 */
+154, /* ReduceAction */
+867, /* ReduceAction260 */
 },
 };
-/* runtime type ReduceAction62 */
-const struct type type_parser__ReduceAction62 = {
+/* runtime type ReduceAction261 */
+const struct type type_parser__ReduceAction261 = {
 -1, /*CAST DEAD*/
-"ReduceAction62", /* class_name_string */
+"ReduceAction261", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9738,14 +9734,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-768, /* ReduceAction62 */
+154, /* ReduceAction */
+868, /* ReduceAction261 */
 },
 };
-/* runtime type ReduceAction63 */
-const struct type type_parser__ReduceAction63 = {
+/* runtime type ReduceAction262 */
+const struct type type_parser__ReduceAction262 = {
 -1, /*CAST DEAD*/
-"ReduceAction63", /* class_name_string */
+"ReduceAction262", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9753,14 +9749,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-769, /* ReduceAction63 */
+154, /* ReduceAction */
+869, /* ReduceAction262 */
 },
 };
-/* runtime type ReduceAction64 */
-const struct type type_parser__ReduceAction64 = {
+/* runtime type ReduceAction263 */
+const struct type type_parser__ReduceAction263 = {
 -1, /*CAST DEAD*/
-"ReduceAction64", /* class_name_string */
+"ReduceAction263", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9768,14 +9764,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-770, /* ReduceAction64 */
+154, /* ReduceAction */
+870, /* ReduceAction263 */
 },
 };
-/* runtime type ReduceAction65 */
-const struct type type_parser__ReduceAction65 = {
+/* runtime type ReduceAction264 */
+const struct type type_parser__ReduceAction264 = {
 -1, /*CAST DEAD*/
-"ReduceAction65", /* class_name_string */
+"ReduceAction264", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9783,14 +9779,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-771, /* ReduceAction65 */
+154, /* ReduceAction */
+871, /* ReduceAction264 */
 },
 };
-/* runtime type ReduceAction66 */
-const struct type type_parser__ReduceAction66 = {
+/* runtime type ReduceAction265 */
+const struct type type_parser__ReduceAction265 = {
 -1, /*CAST DEAD*/
-"ReduceAction66", /* class_name_string */
+"ReduceAction265", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9798,14 +9794,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-772, /* ReduceAction66 */
+154, /* ReduceAction */
+872, /* ReduceAction265 */
 },
 };
-/* runtime type ReduceAction67 */
-const struct type type_parser__ReduceAction67 = {
+/* runtime type ReduceAction267 */
+const struct type type_parser__ReduceAction267 = {
 -1, /*CAST DEAD*/
-"ReduceAction67", /* class_name_string */
+"ReduceAction267", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9813,14 +9809,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-773, /* ReduceAction67 */
+154, /* ReduceAction */
+873, /* ReduceAction267 */
 },
 };
-/* runtime type ReduceAction68 */
-const struct type type_parser__ReduceAction68 = {
+/* runtime type ReduceAction268 */
+const struct type type_parser__ReduceAction268 = {
 -1, /*CAST DEAD*/
-"ReduceAction68", /* class_name_string */
+"ReduceAction268", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9828,14 +9824,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-774, /* ReduceAction68 */
+154, /* ReduceAction */
+874, /* ReduceAction268 */
 },
 };
-/* runtime type ReduceAction69 */
-const struct type type_parser__ReduceAction69 = {
+/* runtime type ReduceAction270 */
+const struct type type_parser__ReduceAction270 = {
 -1, /*CAST DEAD*/
-"ReduceAction69", /* class_name_string */
+"ReduceAction270", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9843,14 +9839,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-775, /* ReduceAction69 */
+154, /* ReduceAction */
+875, /* ReduceAction270 */
 },
 };
-/* runtime type ReduceAction70 */
-const struct type type_parser__ReduceAction70 = {
+/* runtime type ReduceAction271 */
+const struct type type_parser__ReduceAction271 = {
 -1, /*CAST DEAD*/
-"ReduceAction70", /* class_name_string */
+"ReduceAction271", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9858,14 +9854,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-776, /* ReduceAction70 */
+154, /* ReduceAction */
+876, /* ReduceAction271 */
 },
 };
-/* runtime type ReduceAction71 */
-const struct type type_parser__ReduceAction71 = {
+/* runtime type ReduceAction272 */
+const struct type type_parser__ReduceAction272 = {
 -1, /*CAST DEAD*/
-"ReduceAction71", /* class_name_string */
+"ReduceAction272", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9873,14 +9869,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-777, /* ReduceAction71 */
+154, /* ReduceAction */
+877, /* ReduceAction272 */
 },
 };
-/* runtime type ReduceAction73 */
-const struct type type_parser__ReduceAction73 = {
+/* runtime type ReduceAction274 */
+const struct type type_parser__ReduceAction274 = {
 -1, /*CAST DEAD*/
-"ReduceAction73", /* class_name_string */
+"ReduceAction274", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9888,14 +9884,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-778, /* ReduceAction73 */
+154, /* ReduceAction */
+878, /* ReduceAction274 */
 },
 };
-/* runtime type ReduceAction74 */
-const struct type type_parser__ReduceAction74 = {
+/* runtime type ReduceAction275 */
+const struct type type_parser__ReduceAction275 = {
 -1, /*CAST DEAD*/
-"ReduceAction74", /* class_name_string */
+"ReduceAction275", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9903,14 +9899,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-779, /* ReduceAction74 */
+154, /* ReduceAction */
+879, /* ReduceAction275 */
 },
 };
-/* runtime type ReduceAction75 */
-const struct type type_parser__ReduceAction75 = {
+/* runtime type ReduceAction277 */
+const struct type type_parser__ReduceAction277 = {
 -1, /*CAST DEAD*/
-"ReduceAction75", /* class_name_string */
+"ReduceAction277", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9918,14 +9914,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-780, /* ReduceAction75 */
+154, /* ReduceAction */
+880, /* ReduceAction277 */
 },
 };
-/* runtime type ReduceAction76 */
-const struct type type_parser__ReduceAction76 = {
+/* runtime type ReduceAction278 */
+const struct type type_parser__ReduceAction278 = {
 -1, /*CAST DEAD*/
-"ReduceAction76", /* class_name_string */
+"ReduceAction278", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9933,14 +9929,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-781, /* ReduceAction76 */
+154, /* ReduceAction */
+881, /* ReduceAction278 */
 },
 };
-/* runtime type ReduceAction78 */
-const struct type type_parser__ReduceAction78 = {
+/* runtime type ReduceAction279 */
+const struct type type_parser__ReduceAction279 = {
 -1, /*CAST DEAD*/
-"ReduceAction78", /* class_name_string */
+"ReduceAction279", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9948,14 +9944,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-782, /* ReduceAction78 */
+154, /* ReduceAction */
+882, /* ReduceAction279 */
 },
 };
-/* runtime type ReduceAction79 */
-const struct type type_parser__ReduceAction79 = {
+/* runtime type ReduceAction280 */
+const struct type type_parser__ReduceAction280 = {
 -1, /*CAST DEAD*/
-"ReduceAction79", /* class_name_string */
+"ReduceAction280", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9963,14 +9959,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-783, /* ReduceAction79 */
+154, /* ReduceAction */
+883, /* ReduceAction280 */
 },
 };
-/* runtime type ReduceAction81 */
-const struct type type_parser__ReduceAction81 = {
+/* runtime type ReduceAction281 */
+const struct type type_parser__ReduceAction281 = {
 -1, /*CAST DEAD*/
-"ReduceAction81", /* class_name_string */
+"ReduceAction281", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9978,14 +9974,14 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-784, /* ReduceAction81 */
+154, /* ReduceAction */
+884, /* ReduceAction281 */
 },
 };
-/* runtime type ReduceAction82 */
-const struct type type_parser__ReduceAction82 = {
+/* runtime type ReduceAction287 */
+const struct type type_parser__ReduceAction287 = {
 -1, /*CAST DEAD*/
-"ReduceAction82", /* class_name_string */
+"ReduceAction287", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
 NULL, /*NO RESOLUTIONS*/
@@ -9993,7 +9989,7 @@ NULL, /*NO RESOLUTIONS*/
 {
 0, /* nullable Object */
 1, /* Object */
-191, /* ReduceAction */
-785, /* ReduceAction82 */
+154, /* ReduceAction */
+885, /* ReduceAction287 */
 },
 };