csrc: regen for 32 bits platforms and Windows
[nit.git] / c_src / nitc__nith.types.4.c
index 8c4e9fa..7f3f801 100644 (file)
@@ -1,15 +1,16 @@
 #include "nitc__nith.types.0.h"
-/* runtime type Array[FlowContext] */
-const struct type type_core__Array__nitc__FlowContext = {
-218,
-"Array[FlowContext]", /* class_name_string */
-423,
+/* runtime type HashSet[MVirtualTypeProp] */
+const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
+190,
+"HashSet[MVirtualTypeProp]", /* class_name_string */
+168,
 0,
-&resolution_table_core__Array__nitc__FlowContext,
-510,
+&resolution_table_core__HashSet__nitc__MVirtualTypeProp,
+175,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -20,6 +21,7 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -42,10 +44,10 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2431, /* Collection[FlowContext] */
 -1, /* empty */
-2433, /* Collection[Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -73,6 +75,7 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -102,8 +105,10 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2505, /* Collection[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -114,6 +119,7 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -122,7 +128,6 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -136,12 +141,13 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2396, /* Set[MProperty] */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2402, /* Set[MVirtualTypeProp] */
 -1, /* empty */
+2405, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -149,6 +155,7 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -166,14 +173,189 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
+190, /* HashSet[MVirtualTypeProp] */
 -1, /* empty */
-2555, /* AbstractArrayRead[FlowContext] */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
+235, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
+246, /* HashSet[MProperty] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_nitc__MVirtualTypeProp, /* E: MVirtualTypeProp */
+&type_core__HashSet__nitc__MVirtualTypeProp, /* SELF: HashSet[MVirtualTypeProp] */
+&type_core__hash_collection__HashSetNode__nitc__MVirtualTypeProp, /* HashSetNode[E]: HashSetNode[MVirtualTypeProp] */
+&type_core__hash_collection__HashSetIterator__nitc__MVirtualTypeProp, /* HashSetIterator[E]: HashSetIterator[MVirtualTypeProp] */
+&type_core__Collection__nitc__MVirtualTypeProp, /* Collection[E]: Collection[MVirtualTypeProp] */
+&type_core__HashSet__nitc__MVirtualTypeProp, /* HashSet[E]: HashSet[MVirtualTypeProp] */
+&type_core__Set__nitc__MVirtualTypeProp, /* Set[E]: Set[MVirtualTypeProp] */
+&type_core__HashSet__nitc__MVirtualTypeProp, /* HashSet[E]: HashSet[MVirtualTypeProp] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp, /* nullable N: nullable HashSetNode[MVirtualTypeProp] */
+&type_core__Collection__nitc__MVirtualTypeProp, /* Collection[E]: Collection[MVirtualTypeProp] */
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_core__hash_collection__HashSetNode__nitc__MVirtualTypeProp, /* N: HashSetNode[MVirtualTypeProp] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
+}
+};
+/* runtime type POSetBucketsColorer[MClass, MVirtualTypeProp] */
+const struct type type_nitc__POSetBucketsColorer__nitc__MClass__nitc__MVirtualTypeProp = {
+191,
+"POSetBucketsColorer[MClass, MVirtualTypeProp]", /* class_name_string */
+2,
+0,
+&resolution_table_nitc__POSetBucketsColorer__nitc__MClass__nitc__MVirtualTypeProp,
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+191, /* POSetBucketsColorer[MClass, MVirtualTypeProp] */
+},
+};
+const struct types resolution_table_nitc__POSetBucketsColorer__nitc__MClass__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MVirtualTypeProp__core__Int, /* HashMap[E, Int]: HashMap[MVirtualTypeProp, Int] */
+&type_poset__POSet__nitc__MClass, /* POSet[H]: POSet[MClass] */
+&type_core__Map__nitc__MClass__core__Set__nitc__MClass, /* Map[H, Set[H]]: Map[MClass, Set[MClass]] */
+&type_core__Map__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* Map[H, Set[E]]: Map[MClass, Set[MVirtualTypeProp]] */
+&type_core__Collection__nitc__MClass, /* Collection[H]: Collection[MClass] */
+&type_nitc__MClass, /* H: MClass */
+}
+};
+/* runtime type FileStat */
+const struct type type_core__FileStat = {
+192,
+"FileStat", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+192, /* FileStat */
+},
+};
+/* runtime type FileReader */
+const struct type type_core__FileReader = {
+193,
+"FileReader", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+193, /* FileReader */
+},
+};
+/* runtime type MDoc */
+const struct type type_nitc__MDoc = {
+194,
+"MDoc", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+194, /* MDoc */
+},
+};
+/* runtime type NativeDir */
+const struct type type_core__file__NativeDir = {
+195,
+"NativeDir", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+10, /* Pointer */
+195, /* NativeDir */
+},
+};
+/* runtime type AlphaComparator */
+const struct type type_core__abstract_text__AlphaComparator = {
+196,
+"AlphaComparator", /* class_name_string */
+2,
+0,
+&resolution_table_core__abstract_text__AlphaComparator,
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+196, /* AlphaComparator */
+},
+};
+const struct types resolution_table_core__abstract_text__AlphaComparator = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable__core__Object, /* COMPARED: nullable Object */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__nullable__core__Object, /* Array[COMPARED]: Array[nullable Object] */
+}
+};
+/* runtime type Lexer */
+const struct type type_nitc__Lexer = {
+197,
+"Lexer", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+723, /* TablesCapable */
+197, /* Lexer */
+},
+};
+/* runtime type Parser */
+const struct type type_nitc__Parser = {
+198,
+"Parser", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+723, /* TablesCapable */
+198, /* Parser */
+},
+};
+/* runtime type Array[State] */
+const struct type type_core__Array__nitc__parser_work__State = {
+199,
+"Array[State]", /* class_name_string */
+420,
+0,
+&resolution_table_core__Array__nitc__parser_work__State,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -203,11 +385,13 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2436, /* Collection[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -251,7 +435,6 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -268,6 +451,7 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -295,12 +479,12 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2879, /* AbstractArray[FlowContext] */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -371,13 +555,14 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2608, /* AbstractArrayRead[State] */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -388,11 +573,11 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -431,7 +616,6 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-218, /* Array[FlowContext] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -454,11 +638,13 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2882, /* AbstractArray[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -518,41 +704,8 @@ const struct type type_core__Array__nitc__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__FlowContext = {
-0, /* dummy */
-{
-&type_nitc__FlowContext, /* E: FlowContext */
-&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
-&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
-&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
-&type_core__AbstractArray__nitc__FlowContext, /* AbstractArray[E]: AbstractArray[FlowContext] */
-&type_core__NativeArray__nitc__FlowContext, /* NativeArray[E]: NativeArray[FlowContext] */
-&type_nitc__FlowContext, /* E: FlowContext */
-&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
-&type_nitc__FlowContext, /* E: FlowContext */
-&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
-&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
-&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
-&type_core__AbstractArray__nitc__FlowContext, /* AbstractArray[E]: AbstractArray[FlowContext] */
-&type_core__array__ArrayIterator__nitc__FlowContext, /* ArrayIterator[E]: ArrayIterator[FlowContext] */
-&type_core__array__ArrayReverseIterator__nitc__FlowContext, /* ArrayReverseIterator[E]: ArrayReverseIterator[FlowContext] */
-}
-};
-/* runtime type HashSet[Variable] */
-const struct type type_core__HashSet__nitc__Variable = {
-219,
-"HashSet[Variable]", /* class_name_string */
-156,
-0,
-&resolution_table_core__HashSet__nitc__Variable,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -585,7 +738,7 @@ const struct type type_core__HashSet__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -598,7 +751,6 @@ const struct type type_core__HashSet__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2446, /* Collection[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -622,6 +774,8 @@ const struct type type_core__HashSet__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+199, /* Array[State] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -663,7 +817,6 @@ const struct type type_core__HashSet__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -701,11 +854,9 @@ const struct type type_core__HashSet__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-219, /* HashSet[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -715,36 +866,83 @@ const struct type type_core__HashSet__nitc__Variable = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashSet__nitc__Variable = {
+const struct types resolution_table_core__Array__nitc__parser_work__State = {
 0, /* dummy */
 {
-&type_nitc__Variable, /* E: Variable */
-&type_core__Array__nitc__Variable, /* Array[E]: Array[Variable] */
-&type_core__hash_collection__HashSetNode__nitc__Variable, /* HashSetNode[E]: HashSetNode[Variable] */
-&type_core__hash_collection__HashSetIterator__nitc__Variable, /* HashSetIterator[E]: HashSetIterator[Variable] */
-&type_core__Collection__nitc__Variable, /* Collection[E]: Collection[Variable] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__Variable, /* nullable N: nullable HashSetNode[Variable] */
-&type_core__Collection__nitc__Variable, /* Collection[E]: Collection[Variable] */
-&type_core__hash_collection__HashSetNode__nitc__Variable, /* N: HashSetNode[Variable] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__Variable, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[Variable]] */
+&type_nitc__parser_work__State, /* E: State */
+&type_core__Array__nitc__parser_work__State, /* SELF: Array[State] */
+&type_core__Collection__nitc__parser_work__State, /* Collection[E]: Collection[State] */
+&type_core__Array__nitc__parser_work__State, /* Array[E]: Array[State] */
+&type_core__AbstractArray__nitc__parser_work__State, /* AbstractArray[E]: AbstractArray[State] */
+&type_core__NativeArray__nitc__parser_work__State, /* NativeArray[E]: NativeArray[State] */
+&type_nitc__parser_work__State, /* E: State */
+&type_core__Collection__nitc__parser_work__State, /* Collection[E]: Collection[State] */
+&type_nitc__parser_work__State, /* E: State */
+&type_core__Collection__nitc__parser_work__State, /* Collection[E]: Collection[State] */
+&type_core__Collection__nitc__parser_work__State, /* Collection[E]: Collection[State] */
+&type_core__Array__nitc__parser_work__State, /* Array[E]: Array[State] */
+&type_core__Array__nitc__parser_work__State, /* Array[E]: Array[State] */
+&type_core__AbstractArray__nitc__parser_work__State, /* AbstractArray[E]: AbstractArray[State] */
+&type_core__array__ArrayIterator__nitc__parser_work__State, /* ArrayIterator[E]: ArrayIterator[State] */
+&type_core__array__ArrayReverseIterator__nitc__parser_work__State, /* ArrayReverseIterator[E]: ArrayReverseIterator[State] */
 }
 };
-/* runtime type HashMap[Variable, nullable MType] */
-const struct type type_core__HashMap__nitc__Variable__nullable__nitc__MType = {
-220,
-"HashMap[Variable, nullable MType]", /* class_name_string */
-41,
+/* runtime type ANodes[AImport] */
+const struct type type_nitc__ANodes__nitc__AImport = {
+200,
+"ANodes[AImport]", /* class_name_string */
+134,
 0,
-&resolution_table_core__HashMap__nitc__Variable__nullable__nitc__MType,
-85,
+&resolution_table_nitc__ANodes__nitc__AImport,
+143,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2442, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2449, /* Collection[Prod] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -783,21 +981,23 @@ const struct type type_core__HashMap__nitc__Variable__nullable__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-220, /* HashMap[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2506, /* Collection[AImport] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -805,7 +1005,6 @@ const struct type type_core__HashMap__nitc__Variable__nullable__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -827,63 +1026,49 @@ const struct type type_core__HashMap__nitc__Variable__nullable__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+200, /* ANodes[AImport] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__nitc__Variable__nullable__nitc__MType = {
+const struct types resolution_table_nitc__ANodes__nitc__AImport = {
 0, /* dummy */
 {
+&type_core__Array__nitc__AImport, /* Array[E]: Array[AImport] */
+&type_nitc__AImport, /* E: AImport */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__Variable__nullable__nitc__MType, /* HashMapIterator[K, V]: HashMapIterator[Variable, nullable MType] */
-&type_nitc__Variable, /* K: Variable */
-&type_nullable__nitc__MType, /* V: nullable MType */
-&type_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* HashMapNode[K, V]: HashMapNode[Variable, nullable MType] */
-&type_core__hash_collection__HashMapKeys__nitc__Variable__nullable__nitc__MType, /* HashMapKeys[K, V]: HashMapKeys[Variable, nullable MType] */
-&type_core__hash_collection__HashMapValues__nitc__Variable__nullable__nitc__MType, /* HashMapValues[K, V]: HashMapValues[Variable, nullable MType] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* nullable N: nullable HashMapNode[Variable, nullable MType] */
 NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* N: HashMapNode[Variable, nullable MType] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__AImport, /* E: AImport */
+&type_core__Collection__nitc__AImport, /* Collection[E]: Collection[AImport] */
+&type_core__Collection__nitc__AImport, /* Collection[E]: Collection[AImport] */
+&type_core__Array__nitc__AImport, /* Array[E]: Array[AImport] */
 }
 };
-/* runtime type LocalVarInitVisitor */
-const struct type type_nitc__local_var_init__LocalVarInitVisitor = {
--1, /*CAST DEAD*/
-"LocalVarInitVisitor", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type AutoSuperInitVisitor */
-const struct type type_nitc__auto_super_init__AutoSuperInitVisitor = {
--1, /*CAST DEAD*/
-"AutoSuperInitVisitor", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[CallSite] */
-const struct type type_core__Array__nitc__CallSite = {
-223,
-"Array[CallSite]", /* class_name_string */
-424,
+/* runtime type Array[AClassdef] */
+const struct type type_core__Array__nitc__AClassdef = {
+201,
+"Array[AClassdef]", /* class_name_string */
+421,
 0,
-&resolution_table_core__Array__nitc__CallSite,
+&resolution_table_core__Array__nitc__AClassdef,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -914,18 +1099,19 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2437, /* Collection[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2432, /* Collection[CallSite] */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -972,11 +1158,13 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -996,7 +1184,6 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1009,10 +1196,10 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1044,8 +1231,6 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2556, /* AbstractArrayRead[CallSite] */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1073,6 +1258,7 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2593, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1082,12 +1268,14 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2610, /* AbstractArrayRead[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1098,6 +1286,7 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1112,6 +1301,7 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2636, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1125,7 +1315,6 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1163,18 +1352,19 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2883, /* AbstractArray[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2880, /* AbstractArray[CallSite] */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2895, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1222,11 +1412,13 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2943, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1251,7 +1443,6 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1260,13 +1451,13 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1297,6 +1488,7 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+201, /* Array[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1305,8 +1497,8 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+254, /* Array[Prod] */
 -1, /* empty */
-223, /* Array[CallSite] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1349,6 +1541,7 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1623, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1384,6 +1577,40 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__AClassdef = {
+0, /* dummy */
+{
+&type_nitc__AClassdef, /* E: AClassdef */
+&type_core__Array__nitc__AClassdef, /* SELF: Array[AClassdef] */
+&type_core__Collection__nitc__AClassdef, /* Collection[E]: Collection[AClassdef] */
+&type_core__Array__nitc__AClassdef, /* Array[E]: Array[AClassdef] */
+&type_core__AbstractArray__nitc__AClassdef, /* AbstractArray[E]: AbstractArray[AClassdef] */
+&type_core__NativeArray__nitc__AClassdef, /* NativeArray[E]: NativeArray[AClassdef] */
+&type_nitc__AClassdef, /* E: AClassdef */
+&type_core__Collection__nitc__AClassdef, /* Collection[E]: Collection[AClassdef] */
+&type_nitc__AClassdef, /* E: AClassdef */
+&type_core__Collection__nitc__AClassdef, /* Collection[E]: Collection[AClassdef] */
+&type_core__Collection__nitc__AClassdef, /* Collection[E]: Collection[AClassdef] */
+&type_core__Array__nitc__AClassdef, /* Array[E]: Array[AClassdef] */
+&type_core__Array__nitc__AClassdef, /* Array[E]: Array[AClassdef] */
+&type_core__AbstractArray__nitc__AClassdef, /* AbstractArray[E]: AbstractArray[AClassdef] */
+&type_core__array__ArrayIterator__nitc__AClassdef, /* ArrayIterator[E]: ArrayIterator[AClassdef] */
+&type_core__array__ArrayReverseIterator__nitc__AClassdef, /* ArrayReverseIterator[E]: ArrayReverseIterator[AClassdef] */
+}
+};
+/* runtime type ANodes[AFormaldef] */
+const struct type type_nitc__ANodes__nitc__AFormaldef = {
+202,
+"ANodes[AFormaldef]", /* class_name_string */
+135,
+0,
+&resolution_table_nitc__ANodes__nitc__AFormaldef,
+143,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1392,112 +1619,6 @@ const struct type type_core__Array__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__CallSite = {
-0, /* dummy */
-{
-&type_nitc__CallSite, /* E: CallSite */
-&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
-&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
-&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
-&type_core__AbstractArray__nitc__CallSite, /* AbstractArray[E]: AbstractArray[CallSite] */
-&type_core__NativeArray__nitc__CallSite, /* NativeArray[E]: NativeArray[CallSite] */
-&type_nitc__CallSite, /* E: CallSite */
-&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
-&type_nitc__CallSite, /* E: CallSite */
-&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
-&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
-&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
-&type_core__AbstractArray__nitc__CallSite, /* AbstractArray[E]: AbstractArray[CallSite] */
-&type_core__array__ArrayIterator__nitc__CallSite, /* ArrayIterator[E]: ArrayIterator[CallSite] */
-&type_core__array__ArrayReverseIterator__nitc__CallSite, /* ArrayReverseIterator[E]: ArrayReverseIterator[CallSite] */
-}
-};
-/* runtime type CallSite */
-const struct type type_nitc__CallSite = {
-224,
-"CallSite", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-224, /* CallSite */
-},
-};
-/* runtime type ASTBuilder */
-const struct type type_nitc__ASTBuilder = {
--1, /*CAST DEAD*/
-"ASTBuilder", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type AlphaComparator */
-const struct type type_core__abstract_text__AlphaComparator = {
--1, /*CAST DEAD*/
-"AlphaComparator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__abstract_text__AlphaComparator,
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-const struct types resolution_table_core__abstract_text__AlphaComparator = {
-0, /* dummy */
-{
-&type_nullable__core__Object, /* COMPARED: nullable Object */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__Array__nullable__core__Object, /* Array[COMPARED]: Array[nullable Object] */
-}
-};
-/* runtime type CsvWriter */
-const struct type type_csv__CsvWriter = {
--1, /*CAST DEAD*/
-"CsvWriter", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[Object] */
-const struct type type_core__Array__core__Object = {
-228,
-"Array[Object]", /* class_name_string */
-384,
-0,
-&resolution_table_core__Array__core__Object,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1525,13 +1646,14 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1578,15 +1700,18 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2507, /* Collection[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1604,7 +1729,6 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1615,18 +1739,12 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+202, /* ANodes[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1634,6 +1752,36 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__ANodes__nitc__AFormaldef = {
+0, /* dummy */
+{
+&type_core__Array__nitc__AFormaldef, /* Array[E]: Array[AFormaldef] */
+&type_nitc__AFormaldef, /* E: AFormaldef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__AFormaldef, /* E: AFormaldef */
+&type_core__Collection__nitc__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
+&type_core__Collection__nitc__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
+&type_core__Array__nitc__AFormaldef, /* Array[E]: Array[AFormaldef] */
+}
+};
+/* runtime type Array[ASuperPropdef] */
+const struct type type_core__Array__nitc__ASuperPropdef = {
+203,
+"Array[ASuperPropdef]", /* class_name_string */
+422,
+0,
+&resolution_table_core__Array__nitc__ASuperPropdef,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1653,7 +1801,6 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1666,15 +1813,18 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2438, /* Collection[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1703,6 +1853,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2478, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1720,11 +1871,13 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1733,7 +1886,6 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1757,6 +1909,8 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1779,7 +1933,6 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1789,6 +1942,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2564, /* AbstractArrayRead[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1817,6 +1971,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2593, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1826,6 +1981,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1834,6 +1990,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2612, /* AbstractArrayRead[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1842,6 +1999,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1856,10 +2014,10 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2636, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1874,7 +2032,6 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1909,15 +2066,18 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2884, /* AbstractArray[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2895, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1946,6 +2106,7 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2924, /* AbstractArray[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1964,11 +2125,13 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2943, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2000,40 +2163,8 @@ const struct type type_core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Object = {
-0, /* dummy */
-{
-&type_core__Object, /* E: Object */
-&type_core__Array__core__Object, /* Array[E]: Array[Object] */
-&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
-&type_core__Array__core__Object, /* Array[E]: Array[Object] */
-&type_core__AbstractArray__core__Object, /* AbstractArray[E]: AbstractArray[Object] */
-&type_core__NativeArray__core__Object, /* NativeArray[E]: NativeArray[Object] */
-&type_core__Object, /* E: Object */
-&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
-&type_core__Object, /* E: Object */
-&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
-&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
-&type_core__Array__core__Object, /* Array[E]: Array[Object] */
-&type_core__AbstractArray__core__Object, /* AbstractArray[E]: AbstractArray[Object] */
-&type_core__array__ArrayIterator__core__Object, /* ArrayIterator[E]: ArrayIterator[Object] */
-&type_core__array__ArrayReverseIterator__core__Object, /* ArrayReverseIterator[E]: ArrayReverseIterator[Object] */
-}
-};
-/* runtime type NativeArray[Object] */
-const struct type type_core__NativeArray__core__Object = {
-229,
-"NativeArray[Object]", /* class_name_string */
-33,
-0,
-&resolution_table_core__NativeArray__core__Object,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2064,7 +2195,6 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2072,6 +2202,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+203, /* Array[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2079,6 +2210,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+254, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2105,6 +2237,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1352, /* Array[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2121,6 +2254,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1623, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2144,7 +2278,6 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2157,6 +2290,69 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__ASuperPropdef = {
+0, /* dummy */
+{
+&type_nitc__ASuperPropdef, /* E: ASuperPropdef */
+&type_core__Array__nitc__ASuperPropdef, /* SELF: Array[ASuperPropdef] */
+&type_core__Collection__nitc__ASuperPropdef, /* Collection[E]: Collection[ASuperPropdef] */
+&type_core__Array__nitc__ASuperPropdef, /* Array[E]: Array[ASuperPropdef] */
+&type_core__AbstractArray__nitc__ASuperPropdef, /* AbstractArray[E]: AbstractArray[ASuperPropdef] */
+&type_core__NativeArray__nitc__ASuperPropdef, /* NativeArray[E]: NativeArray[ASuperPropdef] */
+&type_nitc__ASuperPropdef, /* E: ASuperPropdef */
+&type_core__Collection__nitc__ASuperPropdef, /* Collection[E]: Collection[ASuperPropdef] */
+&type_nitc__ASuperPropdef, /* E: ASuperPropdef */
+&type_core__Collection__nitc__ASuperPropdef, /* Collection[E]: Collection[ASuperPropdef] */
+&type_core__Collection__nitc__ASuperPropdef, /* Collection[E]: Collection[ASuperPropdef] */
+&type_core__Array__nitc__ASuperPropdef, /* Array[E]: Array[ASuperPropdef] */
+&type_core__Array__nitc__ASuperPropdef, /* Array[E]: Array[ASuperPropdef] */
+&type_core__AbstractArray__nitc__ASuperPropdef, /* AbstractArray[E]: AbstractArray[ASuperPropdef] */
+&type_core__array__ArrayIterator__nitc__ASuperPropdef, /* ArrayIterator[E]: ArrayIterator[ASuperPropdef] */
+&type_core__array__ArrayReverseIterator__nitc__ASuperPropdef, /* ArrayReverseIterator[E]: ArrayReverseIterator[ASuperPropdef] */
+}
+};
+/* runtime type MVirtualTypeDef */
+const struct type type_nitc__MVirtualTypeDef = {
+204,
+"MVirtualTypeDef", /* class_name_string */
+7,
+0,
+&resolution_table_nitc__MVirtualTypeDef,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2381, /* PropertyLayoutElement */
+2407, /* nullable PropertyLayoutElement */
+2377, /* MPropDef */
+2382, /* nullable MPropDef */
+204, /* MVirtualTypeDef */
+3084, /* nullable MVirtualTypeDef */
+},
+};
+const struct types resolution_table_nitc__MVirtualTypeDef = {
+0, /* dummy */
+{
+NULL, /* empty */
+&type_nitc__MVirtualTypeProp, /* MPROPERTY: MVirtualTypeProp */
+&type_nitc__MVirtualTypeDef, /* MPROPDEF: MVirtualTypeDef */
+}
+};
+/* runtime type POSet[MType] */
+const struct type type_poset__POSet__nitc__MType = {
+205,
+"POSet[MType]", /* class_name_string */
+134,
+0,
+&resolution_table_poset__POSet__nitc__MType,
+136,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2207, /* POSet[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2183,6 +2379,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2190,6 +2387,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2200,6 +2398,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2248,6 +2447,7 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2257,53 +2457,6 @@ const struct type type_core__NativeArray__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Object = {
-0, /* dummy */
-{
-&type_core__Object, /* E: Object */
-&type_core__NativeArray__core__Object, /* NativeArray[E]: NativeArray[Object] */
-}
-};
-/* runtime type Platform */
-const struct type type_nitc__Platform = {
--1, /*CAST DEAD*/
-"Platform", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type CodeFile */
-const struct type type_nitc__CodeFile = {
-231,
-"CodeFile", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-2371, /* Object */
-2397, /* nullable Object */
-231, /* CodeFile */
-},
-};
-/* runtime type Array[CodeWriter] */
-const struct type type_core__Array__nitc__CodeWriter = {
-232,
-"Array[CodeWriter]", /* class_name_string */
-425,
-0,
-&resolution_table_core__Array__nitc__CodeWriter,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2331,15 +2484,44 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+205, /* POSet[MType] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_poset__POSet__nitc__MType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MType__poset__POSetElement__nitc__MType, /* HashMap[E, POSetElement[E]]: HashMap[MType, POSetElement[MType]] */
+&type_poset__POSet__nitc__MType, /* SELF: POSet[MType] */
+&type_nitc__MType, /* E: MType */
+&type_poset__POSetElement__nitc__MType, /* POSetElement[E]: POSetElement[MType] */
+&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
+&type_nitc__MType, /* COMPARED: MType */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_poset__POSet__nitc__MType, /* POSet[E]: POSet[MType] */
+&type_nitc__POSetConflictGraph__nitc__MType, /* POSetConflictGraph[E]: POSetConflictGraph[MType] */
+&type_core__Array__nitc__MType, /* Array[COMPARED]: Array[MType] */
+NULL, /* empty */
+&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
+}
+};
+/* runtime type List[MType] */
+const struct type type_core__List__nitc__MType = {
+206,
+"List[MType]", /* class_name_string */
+132,
+0,
+&resolution_table_core__List__nitc__MType,
+135,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
-2434, /* Collection[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2361,6 +2543,7 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2368,6 +2551,7 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2378,6 +2562,7 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2416,7 +2601,6 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2427,12 +2611,11 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2461,12 +2644,70 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
+206, /* List[MType] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__MType = {
+0, /* dummy */
+{
+&type_nitc__MType, /* E: MType */
+&type_core__list__ListNode__nitc__MType, /* ListNode[E]: ListNode[MType] */
+&type_core__ListIterator__nitc__MType, /* ListIterator[E]: ListIterator[MType] */
+&type_core__list__ListReverseIterator__nitc__MType, /* ListReverseIterator[E]: ListReverseIterator[MType] */
+&type_nullable__core__list__ListNode__nitc__MType, /* nullable ListNode[E]: nullable ListNode[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__MType, /* E: MType */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
+}
+};
+/* runtime type MMethod */
+const struct type type_nitc__MMethod = {
+207,
+"MMethod", /* class_name_string */
+7,
+0,
+&resolution_table_nitc__MMethod,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2381, /* PropertyLayoutElement */
+2407, /* nullable PropertyLayoutElement */
+2374, /* MProperty */
+2392, /* nullable MProperty */
+207, /* MMethod */
+2350, /* nullable MMethod */
+},
+};
+const struct types resolution_table_nitc__MMethod = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
+&type_more_collections__HashMap2__nitc__MModule__nitc__MType__core__Array__nitc__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
+&type_nitc__MMethodDef, /* MPROPDEF: MMethodDef */
+}
+};
+/* runtime type Array[MParameter] */
+const struct type type_core__Array__nitc__MParameter = {
+208,
+"Array[MParameter]", /* class_name_string */
+423,
+0,
+&resolution_table_core__Array__nitc__MParameter,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
-2558, /* AbstractArrayRead[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2498,8 +2739,10 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2439, /* Collection[MParameter] */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2545,7 +2788,6 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2560,6 +2802,7 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2591,8 +2834,8 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
-2882, /* AbstractArray[CodeWriter] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2663,6 +2906,7 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2671,22 +2915,22 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2617, /* AbstractArrayRead[MParameter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2727,7 +2971,6 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-232, /* Array[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2749,8 +2992,10 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2885, /* AbstractArray[MParameter] */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2811,44 +3056,10 @@ const struct type type_core__Array__nitc__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__CodeWriter = {
-0, /* dummy */
-{
-&type_nitc__CodeWriter, /* E: CodeWriter */
-&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
-&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
-&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
-&type_core__AbstractArray__nitc__CodeWriter, /* AbstractArray[E]: AbstractArray[CodeWriter] */
-&type_core__NativeArray__nitc__CodeWriter, /* NativeArray[E]: NativeArray[CodeWriter] */
-&type_nitc__CodeWriter, /* E: CodeWriter */
-&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
-&type_nitc__CodeWriter, /* E: CodeWriter */
-&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
-&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
-&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
-&type_core__AbstractArray__nitc__CodeWriter, /* AbstractArray[E]: AbstractArray[CodeWriter] */
-&type_core__array__ArrayIterator__nitc__CodeWriter, /* ArrayIterator[E]: ArrayIterator[CodeWriter] */
-&type_core__array__ArrayReverseIterator__nitc__CodeWriter, /* ArrayReverseIterator[E]: ArrayReverseIterator[CodeWriter] */
-}
-};
-/* runtime type HashSet[String] */
-const struct type type_core__HashSet__core__String = {
-233,
-"HashSet[String]", /* class_name_string */
-157,
-0,
-&resolution_table_core__HashSet__core__String,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2402, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2878,14 +3089,13 @@ const struct type type_core__HashSet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2918,6 +3128,7 @@ const struct type type_core__HashSet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+208, /* Array[MParameter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2957,7 +3168,6 @@ const struct type type_core__HashSet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2995,12 +3205,10 @@ const struct type type_core__HashSet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-233, /* HashSet[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3009,47 +3217,71 @@ const struct type type_core__HashSet__core__String = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashSet__core__String = {
+const struct types resolution_table_core__Array__nitc__MParameter = {
 0, /* dummy */
 {
-&type_core__String, /* E: String */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__hash_collection__HashSetNode__core__String, /* HashSetNode[E]: HashSetNode[String] */
-&type_core__hash_collection__HashSetIterator__core__String, /* HashSetIterator[E]: HashSetIterator[String] */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__core__String, /* nullable N: nullable HashSetNode[String] */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-&type_core__hash_collection__HashSetNode__core__String, /* N: HashSetNode[String] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[String]] */
+&type_nitc__MParameter, /* E: MParameter */
+&type_core__Array__nitc__MParameter, /* SELF: Array[MParameter] */
+&type_core__Collection__nitc__MParameter, /* Collection[E]: Collection[MParameter] */
+&type_core__Array__nitc__MParameter, /* Array[E]: Array[MParameter] */
+&type_core__AbstractArray__nitc__MParameter, /* AbstractArray[E]: AbstractArray[MParameter] */
+&type_core__NativeArray__nitc__MParameter, /* NativeArray[E]: NativeArray[MParameter] */
+&type_nitc__MParameter, /* E: MParameter */
+&type_core__Collection__nitc__MParameter, /* Collection[E]: Collection[MParameter] */
+&type_nitc__MParameter, /* E: MParameter */
+&type_core__Collection__nitc__MParameter, /* Collection[E]: Collection[MParameter] */
+&type_core__Collection__nitc__MParameter, /* Collection[E]: Collection[MParameter] */
+&type_core__Array__nitc__MParameter, /* Array[E]: Array[MParameter] */
+&type_core__Array__nitc__MParameter, /* Array[E]: Array[MParameter] */
+&type_core__AbstractArray__nitc__MParameter, /* AbstractArray[E]: AbstractArray[MParameter] */
+&type_core__array__ArrayIterator__nitc__MParameter, /* ArrayIterator[E]: ArrayIterator[MParameter] */
+&type_core__array__ArrayReverseIterator__nitc__MParameter, /* ArrayReverseIterator[E]: ArrayReverseIterator[MParameter] */
 }
 };
-/* runtime type HashMap[MClass, Set[PropertyLayoutElement]] */
-const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
-234,
-"HashMap[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
-42,
+/* runtime type MSignature */
+const struct type type_nitc__MSignature = {
+209,
+"MSignature", /* class_name_string */
+5,
 0,
-&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
-85,
+NULL, /*NO RESOLUTIONS*/
+6,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
--1, /* empty */
-2976, /* Map[MClass, Collection[PropertyLayoutElement]] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+209, /* MSignature */
+},
+};
+/* runtime type MParameter */
+const struct type type_nitc__MParameter = {
+210,
+"MParameter", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+210, /* MParameter */
+},
+};
+/* runtime type ArraySet[MProperty] */
+const struct type type_core__ArraySet__nitc__MProperty = {
+211,
+"ArraySet[MProperty]", /* class_name_string */
+154,
+0,
+&resolution_table_core__ArraySet__nitc__MProperty,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3060,6 +3292,7 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLay
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3078,13 +3311,14 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLay
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-234, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3099,7 +3333,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLay
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3113,6 +3346,7 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLay
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3121,42 +3355,8 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLay
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-&type_nitc__MClass, /* K: MClass */
-&type_core__Set__nitc__PropertyLayoutElement, /* V: Set[PropertyLayoutElement] */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapNode[K, V]: HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapValues[K, V]: HashMapValues[MClass, Set[PropertyLayoutElement]] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* nullable N: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* N: HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-}
-};
-/* runtime type HashMap[MClass, Set[MAttribute]] */
-const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute = {
-235,
-"HashMap[MClass, Set[MAttribute]]", /* class_name_string */
-43,
-0,
-&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2976, /* Map[MClass, Collection[PropertyLayoutElement]] */
-2977, /* Map[MClass, Collection[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3173,10 +3373,10 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-103, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3190,10 +3390,9 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
-234, /* HashMap[MClass, Set[PropertyLayoutElement]] */
-235, /* HashMap[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3213,12 +3412,13 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
+2396, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2405, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3226,49 +3426,75 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+211, /* ArraySet[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute = {
+const struct types resolution_table_core__ArraySet__nitc__MProperty = {
 0, /* dummy */
 {
+&type_nitc__MProperty, /* E: MProperty */
+&type_core__ArraySet__nitc__MProperty, /* SELF: ArraySet[MProperty] */
+&type_core__array__ArraySetIterator__nitc__MProperty, /* ArraySetIterator[E]: ArraySetIterator[MProperty] */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__ArraySet__nitc__MProperty, /* ArraySet[E]: ArraySet[MProperty] */
 NULL, /* empty */
+&type_core__Set__nitc__MProperty, /* Set[E]: Set[MProperty] */
+&type_core__HashSet__nitc__MProperty, /* HashSet[E]: HashSet[MProperty] */
 NULL, /* empty */
 NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MAttribute]] */
-&type_nitc__MClass, /* K: MClass */
-&type_core__Set__nitc__MAttribute, /* V: Set[MAttribute] */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MAttribute]] */
-&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MAttribute]] */
-&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MAttribute]] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* nullable N: nullable HashMapNode[MClass, Set[MAttribute]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* N: HashMapNode[MClass, Set[MAttribute]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+&type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
 }
 };
-/* runtime type Array[PropertyLayoutElement] */
-const struct type type_core__Array__nitc__PropertyLayoutElement = {
-236,
-"Array[PropertyLayoutElement]", /* class_name_string */
-426,
+/* runtime type ScopeVisitor */
+const struct type type_nitc__scope__ScopeVisitor = {
+212,
+"ScopeVisitor", /* class_name_string */
+2,
 0,
-&resolution_table_core__Array__nitc__PropertyLayoutElement,
-510,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+212, /* ScopeVisitor */
+},
+};
+/* runtime type Variable */
+const struct type type_nitc__Variable = {
+213,
+"Variable", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+213, /* Variable */
+},
+};
+/* runtime type List[Scope] */
+const struct type type_core__List__nitc__scope__Scope = {
+214,
+"List[Scope]", /* class_name_string */
+133,
+0,
+&resolution_table_core__List__nitc__scope__Scope,
+135,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3300,12 +3526,11 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3333,7 +3558,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3366,6 +3590,7 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3375,10 +3600,10 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2512, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3393,16 +3618,74 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+214, /* List[Scope] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__scope__Scope = {
+0, /* dummy */
+{
+&type_nitc__scope__Scope, /* E: Scope */
+&type_core__list__ListNode__nitc__scope__Scope, /* ListNode[E]: ListNode[Scope] */
+&type_core__ListIterator__nitc__scope__Scope, /* ListIterator[E]: ListIterator[Scope] */
+&type_core__list__ListReverseIterator__nitc__scope__Scope, /* ListReverseIterator[E]: ListReverseIterator[Scope] */
+&type_nullable__core__list__ListNode__nitc__scope__Scope, /* nullable ListNode[E]: nullable ListNode[Scope] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__scope__Scope, /* E: Scope */
+&type_core__Collection__nitc__scope__Scope, /* Collection[E]: Collection[Scope] */
+&type_core__Collection__nitc__scope__Scope, /* Collection[E]: Collection[Scope] */
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+}
+};
+/* runtime type FlowVisitor */
+const struct type type_nitc__flow__FlowVisitor = {
+215,
+"FlowVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+215, /* FlowVisitor */
+},
+};
+/* runtime type FlowContext */
+const struct type type_nitc__FlowContext = {
+216,
+"FlowContext", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+216, /* FlowContext */
+},
+};
+/* runtime type Array[FlowContext] */
+const struct type type_core__Array__nitc__FlowContext = {
+217,
+"Array[FlowContext]", /* class_name_string */
+424,
+0,
+&resolution_table_core__Array__nitc__FlowContext,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3427,9 +3710,7 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2559, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3438,7 +3719,9 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2440, /* Collection[FlowContext] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3462,7 +3745,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3499,6 +3781,7 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3507,7 +3790,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3531,6 +3813,8 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3553,9 +3837,7 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
-2883, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3588,7 +3870,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2916, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3604,6 +3885,7 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3619,7 +3901,9 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2619, /* AbstractArrayRead[FlowContext] */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3633,7 +3917,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3648,7 +3931,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3690,8 +3972,9 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-236, /* Array[PropertyLayoutElement] */
+2886, /* AbstractArray[FlowContext] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3718,7 +4001,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1457, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3753,6 +4035,7 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3774,40 +4057,6 @@ const struct type type_core__Array__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
-&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
-&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
-&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
-&type_core__AbstractArray__nitc__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[PropertyLayoutElement] */
-&type_core__NativeArray__nitc__PropertyLayoutElement, /* NativeArray[E]: NativeArray[PropertyLayoutElement] */
-&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
-&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
-&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
-&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
-&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
-&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
-&type_core__AbstractArray__nitc__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[PropertyLayoutElement] */
-&type_core__array__ArrayIterator__nitc__PropertyLayoutElement, /* ArrayIterator[E]: ArrayIterator[PropertyLayoutElement] */
-&type_core__array__ArrayReverseIterator__nitc__PropertyLayoutElement, /* ArrayReverseIterator[E]: ArrayReverseIterator[PropertyLayoutElement] */
-}
-};
-/* runtime type HashSet[PropertyLayoutElement] */
-const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
-237,
-"HashSet[PropertyLayoutElement]", /* class_name_string */
-158,
-0,
-&resolution_table_core__HashSet__nitc__PropertyLayoutElement,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3819,6 +4068,7 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3841,9 +4091,7 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3860,6 +4108,7 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+217, /* Array[FlowContext] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3874,7 +4123,6 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3919,7 +4167,6 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3939,7 +4186,6 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2393, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3948,6 +4194,41 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__FlowContext = {
+0, /* dummy */
+{
+&type_nitc__FlowContext, /* E: FlowContext */
+&type_core__Array__nitc__FlowContext, /* SELF: Array[FlowContext] */
+&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
+&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
+&type_core__AbstractArray__nitc__FlowContext, /* AbstractArray[E]: AbstractArray[FlowContext] */
+&type_core__NativeArray__nitc__FlowContext, /* NativeArray[E]: NativeArray[FlowContext] */
+&type_nitc__FlowContext, /* E: FlowContext */
+&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
+&type_nitc__FlowContext, /* E: FlowContext */
+&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
+&type_core__Collection__nitc__FlowContext, /* Collection[E]: Collection[FlowContext] */
+&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
+&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
+&type_core__AbstractArray__nitc__FlowContext, /* AbstractArray[E]: AbstractArray[FlowContext] */
+&type_core__array__ArrayIterator__nitc__FlowContext, /* ArrayIterator[E]: ArrayIterator[FlowContext] */
+&type_core__array__ArrayReverseIterator__nitc__FlowContext, /* ArrayReverseIterator[E]: ArrayReverseIterator[FlowContext] */
+}
+};
+/* runtime type HashSet[Variable] */
+const struct type type_core__HashSet__nitc__Variable = {
+218,
+"HashSet[Variable]", /* class_name_string */
+169,
+0,
+&resolution_table_core__HashSet__nitc__Variable,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3957,50 +4238,16 @@ const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-237, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
-&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
-&type_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* HashSetNode[E]: HashSetNode[PropertyLayoutElement] */
-&type_core__hash_collection__HashSetIterator__nitc__PropertyLayoutElement, /* HashSetIterator[E]: HashSetIterator[PropertyLayoutElement] */
-&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* nullable N: nullable HashSetNode[PropertyLayoutElement] */
-&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
-&type_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* N: HashSetNode[PropertyLayoutElement] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-}
-};
-/* runtime type HashSet[MAttribute] */
-const struct type type_core__HashSet__nitc__MAttribute = {
-238,
-"HashSet[MAttribute]", /* class_name_string */
-159,
-0,
-&resolution_table_core__HashSet__nitc__MAttribute,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4011,12 +4258,12 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4030,13 +4277,12 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2456, /* Collection[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4066,9 +4312,6 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2465, /* Collection[MAttribute] */
-2466, /* Collection[nullable PropertyLayoutElement] */
-2467, /* Collection[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4080,6 +4323,7 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4112,14 +4356,12 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4127,14 +4369,13 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2387, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2393, /* Set[PropertyLayoutElement] */
-2394, /* Set[MAttribute] */
+2851, /* Set[Object] */
 -1, /* empty */
+2853, /* Set[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4150,544 +4391,49 @@ const struct type type_core__HashSet__nitc__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+218, /* HashSet[Variable] */
 -1, /* empty */
 -1, /* empty */
-237, /* HashSet[PropertyLayoutElement] */
-238, /* HashSet[MAttribute] */
-248, /* HashSet[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashSet__nitc__MAttribute = {
+const struct types resolution_table_core__HashSet__nitc__Variable = {
 0, /* dummy */
 {
-&type_nitc__MAttribute, /* E: MAttribute */
-&type_core__Array__nitc__MAttribute, /* Array[E]: Array[MAttribute] */
-&type_core__hash_collection__HashSetNode__nitc__MAttribute, /* HashSetNode[E]: HashSetNode[MAttribute] */
-&type_core__hash_collection__HashSetIterator__nitc__MAttribute, /* HashSetIterator[E]: HashSetIterator[MAttribute] */
-&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_nitc__Variable, /* E: Variable */
+&type_core__HashSet__nitc__Variable, /* SELF: HashSet[Variable] */
+&type_core__hash_collection__HashSetNode__nitc__Variable, /* HashSetNode[E]: HashSetNode[Variable] */
+&type_core__hash_collection__HashSetIterator__nitc__Variable, /* HashSetIterator[E]: HashSetIterator[Variable] */
+&type_core__Collection__nitc__Variable, /* Collection[E]: Collection[Variable] */
+&type_core__HashSet__nitc__Variable, /* HashSet[E]: HashSet[Variable] */
+&type_core__Set__nitc__Variable, /* Set[E]: Set[Variable] */
+&type_core__HashSet__nitc__Variable, /* HashSet[E]: HashSet[Variable] */
 NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MAttribute, /* nullable N: nullable HashSetNode[MAttribute] */
-&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
-&type_core__hash_collection__HashSetNode__nitc__MAttribute, /* N: HashSetNode[MAttribute] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MAttribute, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MAttribute]] */
+&type_nullable__core__hash_collection__HashSetNode__nitc__Variable, /* nullable N: nullable HashSetNode[Variable] */
+&type_core__Collection__nitc__Variable, /* Collection[E]: Collection[Variable] */
+&type_core__Array__nitc__Variable, /* Array[E]: Array[Variable] */
+&type_core__hash_collection__HashSetNode__nitc__Variable, /* N: HashSetNode[Variable] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__Variable, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[Variable]] */
 }
 };
-/* runtime type POSetGroupColorer[MClass, PropertyLayoutElement] */
-const struct type type_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"POSetGroupColorer[MClass, PropertyLayoutElement]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement,
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-const struct types resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__PropertyLayoutElement__core__Int, /* HashMap[E, Int]: HashMap[PropertyLayoutElement, Int] */
-&type_core__HashMap__nitc__MClass__core__HashSet__core__Int, /* HashMap[H, HashSet[Int]]: HashMap[MClass, HashSet[Int]] */
-&type_core__HashMap__nitc__MClass__core__Int, /* HashMap[H, Int]: HashMap[MClass, Int] */
-&type_nitc__POSetConflictGraph__nitc__MClass, /* POSetConflictGraph[H]: POSetConflictGraph[MClass] */
-&type_core__Map__nitc__MClass__core__Collection__nitc__PropertyLayoutElement, /* Map[H, Collection[E]]: Map[MClass, Collection[PropertyLayoutElement]] */
-&type_nitc__MClass, /* H: MClass */
-&type_core__Array__nullable__nitc__PropertyLayoutElement, /* Array[nullable E]: Array[nullable PropertyLayoutElement] */
-&type_core__Set__nitc__MClass, /* Set[H]: Set[MClass] */
-&type_core__Collection__nitc__MClass, /* Collection[H]: Collection[MClass] */
-}
-};
-/* runtime type HashSet[Int] */
-const struct type type_core__HashSet__core__Int = {
-240,
-"HashSet[Int]", /* class_name_string */
-142,
-0,
-&resolution_table_core__HashSet__core__Int,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2418, /* Collection[Int] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2433, /* Collection[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2511, /* Collection[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-240, /* HashSet[Int] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-142, /* HashSet[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__core__Int = {
-0, /* dummy */
-{
-&type_core__Int, /* E: Int */
-&type_core__Array__core__Int, /* Array[E]: Array[Int] */
-&type_core__hash_collection__HashSetNode__core__Int, /* HashSetNode[E]: HashSetNode[Int] */
-&type_core__hash_collection__HashSetIterator__core__Int, /* HashSetIterator[E]: HashSetIterator[Int] */
-&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__core__Int, /* nullable N: nullable HashSetNode[Int] */
-&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
-&type_core__hash_collection__HashSetNode__core__Int, /* N: HashSetNode[Int] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[Int]] */
-}
-};
-/* runtime type POSetGroupColorer[MClass, MAttribute] */
-const struct type type_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute = {
--1, /*CAST DEAD*/
-"POSetGroupColorer[MClass, MAttribute]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute,
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-const struct types resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MAttribute__core__Int, /* HashMap[E, Int]: HashMap[MAttribute, Int] */
-&type_core__HashMap__nitc__MClass__core__HashSet__core__Int, /* HashMap[H, HashSet[Int]]: HashMap[MClass, HashSet[Int]] */
-&type_core__HashMap__nitc__MClass__core__Int, /* HashMap[H, Int]: HashMap[MClass, Int] */
-&type_nitc__POSetConflictGraph__nitc__MClass, /* POSetConflictGraph[H]: POSetConflictGraph[MClass] */
-&type_core__Map__nitc__MClass__core__Collection__nitc__MAttribute, /* Map[H, Collection[E]]: Map[MClass, Collection[MAttribute]] */
-&type_nitc__MClass, /* H: MClass */
-&type_core__Array__nullable__nitc__MAttribute, /* Array[nullable E]: Array[nullable MAttribute] */
-&type_core__Set__nitc__MClass, /* Set[H]: Set[MClass] */
-&type_core__Collection__nitc__MClass, /* Collection[H]: Collection[MClass] */
-}
-};
-/* runtime type Array[nullable MPropDef] */
-const struct type type_core__Array__nullable__nitc__MPropDef = {
-242,
-"Array[nullable MPropDef]", /* class_name_string */
-398,
-0,
-&resolution_table_core__Array__nullable__nitc__MPropDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2436, /* Collection[nullable MPropDef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2511, /* Collection[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2560, /* AbstractArrayRead[nullable MPropDef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+/* runtime type HashMap[Variable, nullable MType] */
+const struct type type_core__HashMap__nitc__Variable__nullable__nitc__MType = {
+219,
+"HashMap[Variable, nullable MType]", /* class_name_string */
+145,
+0,
+&resolution_table_core__HashMap__nitc__Variable__nullable__nitc__MType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4722,6 +4468,7 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3025, /* MapRead[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4730,7 +4477,6 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2884, /* AbstractArray[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4752,6 +4498,7 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4762,7 +4509,6 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2916, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4807,7 +4553,6 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4820,6 +4565,7 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4830,13 +4576,13 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+219, /* HashMap[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-242, /* Array[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4851,6 +4597,66 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__Variable__nullable__nitc__MType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__Variable__nullable__nitc__MType, /* HashMapIterator[K, V]: HashMapIterator[Variable, nullable MType] */
+&type_nitc__Variable, /* K: Variable */
+&type_nullable__nitc__MType, /* V: nullable MType */
+&type_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* HashMapNode[K, V]: HashMapNode[Variable, nullable MType] */
+&type_core__hash_collection__HashMapKeys__nitc__Variable__nullable__nitc__MType, /* HashMapKeys[K, V]: HashMapKeys[Variable, nullable MType] */
+&type_core__hash_collection__HashMapValues__nitc__Variable__nullable__nitc__MType, /* HashMapValues[K, V]: HashMapValues[Variable, nullable MType] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* nullable N: nullable HashMapNode[Variable, nullable MType] */
+&type_core__MapRead__nitc__Variable__nullable__nitc__MType, /* MapRead[K, V]: MapRead[Variable, nullable MType] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* N: HashMapNode[Variable, nullable MType] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+}
+};
+/* runtime type LocalVarInitVisitor */
+const struct type type_nitc__local_var_init__LocalVarInitVisitor = {
+220,
+"LocalVarInitVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+220, /* LocalVarInitVisitor */
+},
+};
+/* runtime type AutoSuperInitVisitor */
+const struct type type_nitc__auto_super_init__AutoSuperInitVisitor = {
+221,
+"AutoSuperInitVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+221, /* AutoSuperInitVisitor */
+},
+};
+/* runtime type Array[CallSite] */
+const struct type type_core__Array__nitc__CallSite = {
+222,
+"Array[CallSite]", /* class_name_string */
+425,
+0,
+&resolution_table_core__Array__nitc__CallSite,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4885,6 +4691,8 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2441, /* Collection[CallSite] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4892,7 +4700,6 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1457, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4945,42 +4752,10 @@ const struct type type_core__Array__nullable__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nullable__nitc__MPropDef = {
-0, /* dummy */
-{
-&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
-&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
-&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
-&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
-&type_core__AbstractArray__nullable__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[nullable MPropDef] */
-&type_core__NativeArray__nullable__nitc__MPropDef, /* NativeArray[E]: NativeArray[nullable MPropDef] */
-&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
-&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
-&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
-&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
-&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
-&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
-&type_core__AbstractArray__nullable__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[nullable MPropDef] */
-&type_core__array__ArrayIterator__nullable__nitc__MPropDef, /* ArrayIterator[E]: ArrayIterator[nullable MPropDef] */
-&type_core__array__ArrayReverseIterator__nullable__nitc__MPropDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable MPropDef] */
-}
-};
-/* runtime type Array[nullable MClass] */
-const struct type type_core__Array__nullable__nitc__MClass = {
-243,
-"Array[nullable MClass]", /* class_name_string */
-400,
-0,
-&resolution_table_core__Array__nullable__nitc__MClass,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5009,6 +4784,8 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5019,7 +4796,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5080,6 +4856,7 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5093,10 +4870,11 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2620, /* AbstractArrayRead[CallSite] */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5108,8 +4886,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5146,7 +4922,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2561, /* AbstractArrayRead[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5169,6 +4944,8 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2887, /* AbstractArray[CallSite] */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5222,7 +4999,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5230,6 +5006,7 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5262,6 +5039,7 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5272,7 +5050,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2885, /* AbstractArray[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5303,6 +5080,7 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+222, /* Array[CallSite] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5348,7 +5126,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5379,7 +5156,6 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-243, /* Array[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5389,6 +5165,83 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__CallSite = {
+0, /* dummy */
+{
+&type_nitc__CallSite, /* E: CallSite */
+&type_core__Array__nitc__CallSite, /* SELF: Array[CallSite] */
+&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
+&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
+&type_core__AbstractArray__nitc__CallSite, /* AbstractArray[E]: AbstractArray[CallSite] */
+&type_core__NativeArray__nitc__CallSite, /* NativeArray[E]: NativeArray[CallSite] */
+&type_nitc__CallSite, /* E: CallSite */
+&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
+&type_nitc__CallSite, /* E: CallSite */
+&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
+&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
+&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
+&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
+&type_core__AbstractArray__nitc__CallSite, /* AbstractArray[E]: AbstractArray[CallSite] */
+&type_core__array__ArrayIterator__nitc__CallSite, /* ArrayIterator[E]: ArrayIterator[CallSite] */
+&type_core__array__ArrayReverseIterator__nitc__CallSite, /* ArrayReverseIterator[E]: ArrayReverseIterator[CallSite] */
+}
+};
+/* runtime type CallSite */
+const struct type type_nitc__CallSite = {
+223,
+"CallSite", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+223, /* CallSite */
+},
+};
+/* runtime type ASTBuilder */
+const struct type type_nitc__ASTBuilder = {
+224,
+"ASTBuilder", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+224, /* ASTBuilder */
+},
+};
+/* runtime type CsvWriter */
+const struct type type_csv__CsvWriter = {
+225,
+"CsvWriter", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+225, /* CsvWriter */
+},
+};
+/* runtime type Array[Object] */
+const struct type type_core__Array__core__Object = {
+226,
+"Array[Object]", /* class_name_string */
+384,
+0,
+&resolution_table_core__Array__core__Object,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5424,6 +5277,7 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5483,45 +5337,13 @@ const struct type type_core__Array__nullable__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nullable__nitc__MClass = {
-0, /* dummy */
-{
-&type_nullable__nitc__MClass, /* E: nullable MClass */
-&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
-&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
-&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
-&type_core__AbstractArray__nullable__nitc__MClass, /* AbstractArray[E]: AbstractArray[nullable MClass] */
-&type_core__NativeArray__nullable__nitc__MClass, /* NativeArray[E]: NativeArray[nullable MClass] */
-&type_nullable__nitc__MClass, /* E: nullable MClass */
-&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
-&type_nullable__nitc__MClass, /* E: nullable MClass */
-&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
-&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
-&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
-&type_core__AbstractArray__nullable__nitc__MClass, /* AbstractArray[E]: AbstractArray[nullable MClass] */
-&type_core__array__ArrayIterator__nullable__nitc__MClass, /* ArrayIterator[E]: ArrayIterator[nullable MClass] */
-&type_core__array__ArrayReverseIterator__nullable__nitc__MClass, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable MClass] */
-}
-};
-/* runtime type Array[RuntimeVariable] */
-const struct type type_core__Array__nitc__RuntimeVariable = {
-244,
-"Array[RuntimeVariable]", /* class_name_string */
-427,
-0,
-&resolution_table_core__Array__nitc__RuntimeVariable,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5547,6 +5369,8 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5556,12 +5380,10 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2438, /* Collection[RuntimeVariable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5619,6 +5441,7 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5634,9 +5457,9 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5649,8 +5472,6 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5683,12 +5504,10 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2562, /* AbstractArrayRead[RuntimeVariable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5711,6 +5530,7 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5763,7 +5583,6 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5772,6 +5591,7 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5804,17 +5624,16 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2886, /* AbstractArray[RuntimeVariable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5889,7 +5708,6 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5904,7 +5722,6 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5933,6 +5750,40 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__core__Object = {
+0, /* dummy */
+{
+&type_core__Object, /* E: Object */
+&type_core__Array__core__Object, /* SELF: Array[Object] */
+&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__AbstractArray__core__Object, /* AbstractArray[E]: AbstractArray[Object] */
+&type_core__NativeArray__core__Object, /* NativeArray[E]: NativeArray[Object] */
+&type_core__Object, /* E: Object */
+&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_core__Object, /* E: Object */
+&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__AbstractArray__core__Object, /* AbstractArray[E]: AbstractArray[Object] */
+&type_core__array__ArrayIterator__core__Object, /* ArrayIterator[E]: ArrayIterator[Object] */
+&type_core__array__ArrayReverseIterator__core__Object, /* ArrayReverseIterator[E]: ArrayReverseIterator[Object] */
+}
+};
+/* runtime type NativeArray[Object] */
+const struct type type_core__NativeArray__core__Object = {
+227,
+"NativeArray[Object]", /* class_name_string */
+34,
+0,
+&resolution_table_core__NativeArray__core__Object,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5947,7 +5798,6 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-244, /* Array[RuntimeVariable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5966,6 +5816,7 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6026,56 +5877,11 @@ const struct type type_core__Array__nitc__RuntimeVariable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__RuntimeVariable = {
-0, /* dummy */
-{
-&type_nitc__RuntimeVariable, /* E: RuntimeVariable */
-&type_core__Array__nitc__RuntimeVariable, /* Array[E]: Array[RuntimeVariable] */
-&type_core__Collection__nitc__RuntimeVariable, /* Collection[E]: Collection[RuntimeVariable] */
-&type_core__Array__nitc__RuntimeVariable, /* Array[E]: Array[RuntimeVariable] */
-&type_core__AbstractArray__nitc__RuntimeVariable, /* AbstractArray[E]: AbstractArray[RuntimeVariable] */
-&type_core__NativeArray__nitc__RuntimeVariable, /* NativeArray[E]: NativeArray[RuntimeVariable] */
-&type_nitc__RuntimeVariable, /* E: RuntimeVariable */
-&type_core__Collection__nitc__RuntimeVariable, /* Collection[E]: Collection[RuntimeVariable] */
-&type_nitc__RuntimeVariable, /* E: RuntimeVariable */
-&type_core__Collection__nitc__RuntimeVariable, /* Collection[E]: Collection[RuntimeVariable] */
-&type_core__Collection__nitc__RuntimeVariable, /* Collection[E]: Collection[RuntimeVariable] */
-&type_core__Array__nitc__RuntimeVariable, /* Array[E]: Array[RuntimeVariable] */
-&type_core__AbstractArray__nitc__RuntimeVariable, /* AbstractArray[E]: AbstractArray[RuntimeVariable] */
-&type_core__array__ArrayIterator__nitc__RuntimeVariable, /* ArrayIterator[E]: ArrayIterator[RuntimeVariable] */
-&type_core__array__ArrayReverseIterator__nitc__RuntimeVariable, /* ArrayReverseIterator[E]: ArrayReverseIterator[RuntimeVariable] */
-}
-};
-/* runtime type MakefileToolchain */
-const struct type type_nitc__MakefileToolchain = {
--1, /*CAST DEAD*/
-"MakefileToolchain", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type POSet[MClass] */
-const struct type type_poset__POSet__nitc__MClass = {
-246,
-"POSet[MClass]", /* class_name_string */
-134,
-0,
-&resolution_table_poset__POSet__nitc__MClass,
-135,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6086,7 +5892,6 @@ const struct type type_poset__POSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6110,11 +5915,9 @@ const struct type type_poset__POSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6188,7 +5991,6 @@ const struct type type_poset__POSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6208,46 +6010,54 @@ const struct type type_poset__POSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-246, /* POSet[MClass] */
 },
 };
-const struct types resolution_table_poset__POSet__nitc__MClass = {
+const struct types resolution_table_core__NativeArray__core__Object = {
 0, /* dummy */
 {
-&type_core__HashMap__nitc__MClass__poset__POSetElement__nitc__MClass, /* HashMap[E, POSetElement[E]]: HashMap[MClass, POSetElement[MClass]] */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_nitc__MClass, /* E: MClass */
-&type_poset__POSetElement__nitc__MClass, /* POSetElement[E]: POSetElement[MClass] */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
-&type_nitc__POSetConflictGraph__nitc__MClass, /* POSetConflictGraph[E]: POSetConflictGraph[MClass] */
-&type_core__Array__nitc__MClass, /* Array[COMPARED]: Array[MClass] */
+&type_core__Object, /* E: Object */
+&type_core__NativeArray__core__Object, /* NativeArray[E]: NativeArray[Object] */
 }
 };
-/* runtime type HashMap[MClass, Array[nullable MClass]] */
-const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass = {
-247,
-"HashMap[MClass, Array[nullable MClass]]", /* class_name_string */
-44,
+/* runtime type Platform */
+const struct type type_nitc__Platform = {
+228,
+"Platform", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+228, /* Platform */
+},
+};
+/* runtime type CodeFile */
+const struct type type_nitc__CodeFile = {
+229,
+"CodeFile", /* class_name_string */
+2,
 0,
-&resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass,
-85,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+229, /* CodeFile */
+},
+};
+/* runtime type Array[CodeWriter] */
+const struct type type_core__Array__nitc__CodeWriter = {
+230,
+"Array[CodeWriter]", /* class_name_string */
+426,
+0,
+&resolution_table_core__Array__nitc__CodeWriter,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6277,13 +6087,14 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-247, /* HashMap[MClass, Array[nullable MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
+2443, /* Collection[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6296,7 +6107,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6318,38 +6128,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMapIterator[K, V]: HashMapIterator[MClass, Array[nullable MClass]] */
-&type_nitc__MClass, /* K: MClass */
-&type_core__Array__nullable__nitc__MClass, /* V: Array[nullable MClass] */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMapNode[K, V]: HashMapNode[MClass, Array[nullable MClass]] */
-&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMapKeys[K, V]: HashMapKeys[MClass, Array[nullable MClass]] */
-&type_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMapValues[K, V]: HashMapValues[MClass, Array[nullable MClass]] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass, /* nullable N: nullable HashMapNode[MClass, Array[nullable MClass]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass, /* N: HashMapNode[MClass, Array[nullable MClass]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
-}
-};
-/* runtime type HashSet[MProperty] */
-const struct type type_core__HashSet__nitc__MProperty = {
-248,
-"HashSet[MProperty]", /* class_name_string */
-160,
-0,
-&resolution_table_core__HashSet__nitc__MProperty,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6360,7 +6138,6 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6376,6 +6153,7 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6383,9 +6161,7 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6409,6 +6185,8 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6416,7 +6194,6 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6461,14 +6238,12 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6476,14 +6251,13 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2387, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2393, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6499,49 +6273,17 @@ const struct type type_core__HashSet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
+2622, /* AbstractArrayRead[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-237, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
-248, /* HashSet[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__MProperty = {
-0, /* dummy */
-{
-&type_nitc__MProperty, /* E: MProperty */
-&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
-&type_core__hash_collection__HashSetNode__nitc__MProperty, /* HashSetNode[E]: HashSetNode[MProperty] */
-&type_core__hash_collection__HashSetIterator__nitc__MProperty, /* HashSetIterator[E]: HashSetIterator[MProperty] */
-&type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MProperty, /* nullable N: nullable HashSetNode[MProperty] */
-&type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
-&type_core__hash_collection__HashSetNode__nitc__MProperty, /* N: HashSetNode[MProperty] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MProperty]] */
-}
-};
-/* runtime type BashCompletion */
-const struct type type_nitc__BashCompletion = {
--1, /*CAST DEAD*/
-"BashCompletion", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-130,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6604,6 +6346,8 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
+2889, /* AbstractArray[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6663,26 +6407,13 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
-},
-};
-/* runtime type Array[Writable] */
-const struct type type_core__Array__core__Writable = {
-250,
-"Array[Writable]", /* class_name_string */
-428,
-0,
-&resolution_table_core__Array__core__Writable,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6709,6 +6440,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6717,13 +6449,11 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6752,6 +6482,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+230, /* Array[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6795,7 +6526,6 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6810,8 +6540,6 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6838,19 +6566,53 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__CodeWriter = {
+0, /* dummy */
+{
+&type_nitc__CodeWriter, /* E: CodeWriter */
+&type_core__Array__nitc__CodeWriter, /* SELF: Array[CodeWriter] */
+&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
+&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
+&type_core__AbstractArray__nitc__CodeWriter, /* AbstractArray[E]: AbstractArray[CodeWriter] */
+&type_core__NativeArray__nitc__CodeWriter, /* NativeArray[E]: NativeArray[CodeWriter] */
+&type_nitc__CodeWriter, /* E: CodeWriter */
+&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
+&type_nitc__CodeWriter, /* E: CodeWriter */
+&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
+&type_core__Collection__nitc__CodeWriter, /* Collection[E]: Collection[CodeWriter] */
+&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
+&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
+&type_core__AbstractArray__nitc__CodeWriter, /* AbstractArray[E]: AbstractArray[CodeWriter] */
+&type_core__array__ArrayIterator__nitc__CodeWriter, /* ArrayIterator[E]: ArrayIterator[CodeWriter] */
+&type_core__array__ArrayReverseIterator__nitc__CodeWriter, /* ArrayReverseIterator[E]: ArrayReverseIterator[CodeWriter] */
+}
+};
+/* runtime type HashSet[String] */
+const struct type type_core__HashSet__core__String = {
+231,
+"HashSet[String]", /* class_name_string */
+170,
+0,
+&resolution_table_core__HashSet__core__String,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2563, /* AbstractArrayRead[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6873,11 +6635,13 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2448, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6924,7 +6688,6 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6932,6 +6695,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6970,18 +6734,18 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2887, /* AbstractArray[Writable] */
+1438, /* Set[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6999,14 +6763,49 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+231, /* HashSet[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__core__String = {
+0, /* dummy */
+{
+&type_core__String, /* E: String */
+&type_core__HashSet__core__String, /* SELF: HashSet[String] */
+&type_core__hash_collection__HashSetNode__core__String, /* HashSetNode[E]: HashSetNode[String] */
+&type_core__hash_collection__HashSetIterator__core__String, /* HashSetIterator[E]: HashSetIterator[String] */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__HashSet__core__String, /* HashSet[E]: HashSet[String] */
+&type_core__Set__core__String, /* Set[E]: Set[String] */
+&type_core__HashSet__core__String, /* HashSet[E]: HashSet[String] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__core__String, /* nullable N: nullable HashSetNode[String] */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__hash_collection__HashSetNode__core__String, /* N: HashSetNode[String] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[String]] */
+}
+};
+/* runtime type HashMap[MClass, Set[PropertyLayoutElement]] */
+const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+232,
+"HashMap[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+146,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7042,6 +6841,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3026, /* MapRead[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7050,7 +6850,6 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7065,13 +6864,13 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7088,6 +6887,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3075, /* Map[MClass, Collection[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7109,7 +6909,6 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-250, /* Array[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7138,6 +6937,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7149,6 +6949,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+232, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7168,6 +6969,39 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[PropertyLayoutElement]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Set__nitc__PropertyLayoutElement, /* V: Set[PropertyLayoutElement] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapNode[K, V]: HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[PropertyLayoutElement]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMapValues[K, V]: HashMapValues[MClass, Set[PropertyLayoutElement]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* nullable N: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_core__MapRead__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* MapRead[K, V]: MapRead[MClass, Set[PropertyLayoutElement]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* N: HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+}
+};
+/* runtime type HashMap[MClass, Set[MAttribute]] */
+const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute = {
+233,
+"HashMap[MClass, Set[MAttribute]]", /* class_name_string */
+147,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7182,6 +7016,7 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3005, /* MapRead[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7191,80 +7026,6 @@ const struct type type_core__Array__core__Writable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Writable = {
-0, /* dummy */
-{
-&type_core__Writable, /* E: Writable */
-&type_core__Array__core__Writable, /* Array[E]: Array[Writable] */
-&type_core__Collection__core__Writable, /* Collection[E]: Collection[Writable] */
-&type_core__Array__core__Writable, /* Array[E]: Array[Writable] */
-&type_core__AbstractArray__core__Writable, /* AbstractArray[E]: AbstractArray[Writable] */
-&type_core__NativeArray__core__Writable, /* NativeArray[E]: NativeArray[Writable] */
-&type_core__Writable, /* E: Writable */
-&type_core__Collection__core__Writable, /* Collection[E]: Collection[Writable] */
-&type_core__Writable, /* E: Writable */
-&type_core__Collection__core__Writable, /* Collection[E]: Collection[Writable] */
-&type_core__Collection__core__Writable, /* Collection[E]: Collection[Writable] */
-&type_core__Array__core__Writable, /* Array[E]: Array[Writable] */
-&type_core__AbstractArray__core__Writable, /* AbstractArray[E]: AbstractArray[Writable] */
-&type_core__array__ArrayIterator__core__Writable, /* ArrayIterator[E]: ArrayIterator[Writable] */
-&type_core__array__ArrayReverseIterator__core__Writable, /* ArrayReverseIterator[E]: ArrayReverseIterator[Writable] */
-}
-};
-/* runtime type NativeDir */
-const struct type type_core__file__NativeDir = {
--1, /*CAST DEAD*/
-"NativeDir", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type NativeFileStat */
-const struct type type_core__file__NativeFileStat = {
--1, /*CAST DEAD*/
-"NativeFileStat", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type ConfigNode */
-const struct type type_ini__ConfigNode = {
-253,
-"ConfigNode", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-2371, /* Object */
-2397, /* nullable Object */
-253, /* ConfigNode */
-},
-};
-/* runtime type HashMap[String, ConfigNode] */
-const struct type type_core__HashMap__core__String__ini__ConfigNode = {
-254,
-"HashMap[String, ConfigNode]", /* class_name_string */
-45,
-0,
-&resolution_table_core__HashMap__core__String__ini__ConfigNode,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7276,6 +7037,8 @@ const struct type type_core__HashMap__core__String__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3026, /* MapRead[MClass, Set[PropertyLayoutElement]] */
+3027, /* MapRead[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7303,11 +7066,11 @@ const struct type type_core__HashMap__core__String__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-254, /* HashMap[String, ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7320,12 +7083,13 @@ const struct type type_core__HashMap__core__String__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3075, /* Map[MClass, Collection[PropertyLayoutElement]] */
+3076, /* Map[MClass, Collection[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7347,41 +7111,9 @@ const struct type type_core__HashMap__core__String__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__core__String__ini__ConfigNode = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__core__String__ini__ConfigNode, /* HashMapIterator[K, V]: HashMapIterator[String, ConfigNode] */
-&type_core__String, /* K: String */
-&type_ini__ConfigNode, /* V: ConfigNode */
-&type_core__hash_collection__HashMapNode__core__String__ini__ConfigNode, /* HashMapNode[K, V]: HashMapNode[String, ConfigNode] */
-&type_core__hash_collection__HashMapKeys__core__String__ini__ConfigNode, /* HashMapKeys[K, V]: HashMapKeys[String, ConfigNode] */
-&type_core__hash_collection__HashMapValues__core__String__ini__ConfigNode, /* HashMapValues[K, V]: HashMapValues[String, ConfigNode] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__ini__ConfigNode, /* nullable N: nullable HashMapNode[String, ConfigNode] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__ini__ConfigNode, /* N: HashMapNode[String, ConfigNode] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__ini__ConfigNode, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, ConfigNode]] */
-}
-};
-/* runtime type Bytes */
-const struct type type_core__Bytes = {
-255,
-"Bytes", /* class_name_string */
-2,
-0,
-&resolution_table_core__Bytes,
-384,
-{
-2371, /* Object */
-2397, /* nullable Object */
-255, /* Bytes */
 -1, /* empty */
-2215, /* Collection[Byte] */
 -1, /* empty */
+101, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7401,6 +7133,7 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7412,7 +7145,8 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+232, /* HashMap[MClass, Set[PropertyLayoutElement]] */
+233, /* HashMap[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7431,6 +7165,38 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MAttribute]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Set__nitc__MAttribute, /* V: Set[MAttribute] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MAttribute]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MAttribute]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MAttribute, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MAttribute]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* nullable N: nullable HashMapNode[MClass, Set[MAttribute]] */
+&type_core__MapRead__nitc__MClass__core__Set__nitc__MAttribute, /* MapRead[K, V]: MapRead[MClass, Set[MAttribute]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* N: HashMapNode[MClass, Set[MAttribute]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+}
+};
+/* runtime type Array[PropertyLayoutElement] */
+const struct type type_core__Array__nitc__PropertyLayoutElement = {
+234,
+"Array[PropertyLayoutElement]", /* class_name_string */
+427,
+0,
+&resolution_table_core__Array__nitc__PropertyLayoutElement,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7466,7 +7232,9 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7490,7 +7258,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7505,8 +7272,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7527,6 +7292,7 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7539,14 +7305,13 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2564, /* AbstractArrayRead[Byte] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7559,6 +7324,8 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7619,7 +7386,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7630,6 +7396,7 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7647,10 +7414,13 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2625, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
+2627, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7665,7 +7435,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7683,7 +7452,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2899, /* AbstractArray[Byte] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7717,7 +7485,9 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
+2890, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7745,7 +7515,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7760,67 +7529,6 @@ const struct type type_core__Bytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Bytes = {
-0, /* dummy */
-{
-NULL, /* empty */
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__Byte, /* E: Byte */
-&type_core__Collection__core__Byte, /* Collection[E]: Collection[Byte] */
-&type_core__Byte, /* E: Byte */
-&type_core__Collection__core__Byte, /* Collection[E]: Collection[Byte] */
-&type_core__Collection__core__Byte, /* Collection[E]: Collection[Byte] */
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-&type_core__AbstractArray__core__Byte, /* AbstractArray[E]: AbstractArray[Byte] */
-&type_core__array__ArrayIterator__core__Byte, /* ArrayIterator[E]: ArrayIterator[Byte] */
-&type_core__array__ArrayReverseIterator__core__Byte, /* ArrayReverseIterator[E]: ArrayReverseIterator[Byte] */
-}
-};
-/* runtime type Start */
-const struct type type_nitc__Start = {
--1, /*CAST DEAD*/
-"Start", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2379, /* ANode */
-2216, /* Prod */
-},
-};
-/* runtime type ComputeProdLocationVisitor */
-const struct type type_nitc__parser_work__ComputeProdLocationVisitor = {
--1, /*CAST DEAD*/
-"ComputeProdLocationVisitor", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[Prod] */
-const struct type type_core__Array__nitc__Prod = {
-258,
-"Array[Prod]", /* class_name_string */
-429,
-0,
-&resolution_table_core__Array__nitc__Prod,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7838,6 +7546,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7851,18 +7560,17 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2963, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7871,6 +7579,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7882,7 +7591,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7914,6 +7622,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+234, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7933,7 +7642,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7948,8 +7656,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7982,7 +7688,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
+1929, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7990,7 +7696,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8000,6 +7705,41 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
+&type_core__Array__nitc__PropertyLayoutElement, /* SELF: Array[PropertyLayoutElement] */
+&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__AbstractArray__nitc__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[PropertyLayoutElement] */
+&type_core__NativeArray__nitc__PropertyLayoutElement, /* NativeArray[E]: NativeArray[PropertyLayoutElement] */
+&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
+&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
+&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
+&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
+&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__AbstractArray__nitc__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[PropertyLayoutElement] */
+&type_core__array__ArrayIterator__nitc__PropertyLayoutElement, /* ArrayIterator[E]: ArrayIterator[PropertyLayoutElement] */
+&type_core__array__ArrayReverseIterator__nitc__PropertyLayoutElement, /* ArrayReverseIterator[E]: ArrayReverseIterator[PropertyLayoutElement] */
+}
+};
+/* runtime type HashSet[PropertyLayoutElement] */
+const struct type type_core__HashSet__nitc__PropertyLayoutElement = {
+235,
+"HashSet[PropertyLayoutElement]", /* class_name_string */
+171,
+0,
+&resolution_table_core__HashSet__nitc__PropertyLayoutElement,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8011,7 +7751,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8035,7 +7774,9 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8062,7 +7803,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8094,6 +7834,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8107,15 +7848,14 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2888, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8136,14 +7876,15 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2405, /* Set[PropertyLayoutElement] */
 -1, /* empty */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8161,14 +7902,49 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+235, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
+&type_core__HashSet__nitc__PropertyLayoutElement, /* SELF: HashSet[PropertyLayoutElement] */
+&type_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* HashSetNode[E]: HashSetNode[PropertyLayoutElement] */
+&type_core__hash_collection__HashSetIterator__nitc__PropertyLayoutElement, /* HashSetIterator[E]: HashSetIterator[PropertyLayoutElement] */
+&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
+&type_core__HashSet__nitc__PropertyLayoutElement, /* HashSet[E]: HashSet[PropertyLayoutElement] */
+&type_core__Set__nitc__PropertyLayoutElement, /* Set[E]: Set[PropertyLayoutElement] */
+&type_core__HashSet__nitc__PropertyLayoutElement, /* HashSet[E]: HashSet[PropertyLayoutElement] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* nullable N: nullable HashSetNode[PropertyLayoutElement] */
+&type_core__Collection__nitc__PropertyLayoutElement, /* Collection[E]: Collection[PropertyLayoutElement] */
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* N: HashSetNode[PropertyLayoutElement] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+}
+};
+/* runtime type HashSet[MAttribute] */
+const struct type type_core__HashSet__nitc__MAttribute = {
+236,
+"HashSet[MAttribute]", /* class_name_string */
+172,
+0,
+&resolution_table_core__HashSet__nitc__MAttribute,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8179,6 +7955,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8188,7 +7965,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8203,8 +7979,9 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8232,6 +8009,7 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8248,7 +8026,6 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8262,12 +8039,12 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8275,7 +8052,10 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2515, /* Collection[MAttribute] */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
+2518, /* Collection[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8295,17 +8075,21 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2396, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2405, /* Set[PropertyLayoutElement] */
+2406, /* Set[MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8323,62 +8107,79 @@ const struct type type_core__Array__nitc__Prod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+235, /* HashSet[PropertyLayoutElement] */
+236, /* HashSet[MAttribute] */
+246, /* HashSet[MProperty] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__Array__nitc__Prod = {
+const struct types resolution_table_core__HashSet__nitc__MAttribute = {
 0, /* dummy */
 {
-&type_nitc__Prod, /* E: Prod */
-&type_core__Array__nitc__Prod, /* Array[E]: Array[Prod] */
-&type_core__Collection__nitc__Prod, /* Collection[E]: Collection[Prod] */
-&type_core__Array__nitc__Prod, /* Array[E]: Array[Prod] */
-&type_core__AbstractArray__nitc__Prod, /* AbstractArray[E]: AbstractArray[Prod] */
-&type_core__NativeArray__nitc__Prod, /* NativeArray[E]: NativeArray[Prod] */
-&type_nitc__Prod, /* E: Prod */
-&type_core__Collection__nitc__Prod, /* Collection[E]: Collection[Prod] */
-&type_nitc__Prod, /* E: Prod */
-&type_core__Collection__nitc__Prod, /* Collection[E]: Collection[Prod] */
-&type_core__Collection__nitc__Prod, /* Collection[E]: Collection[Prod] */
-&type_core__Array__nitc__Prod, /* Array[E]: Array[Prod] */
-&type_core__AbstractArray__nitc__Prod, /* AbstractArray[E]: AbstractArray[Prod] */
-&type_core__array__ArrayIterator__nitc__Prod, /* ArrayIterator[E]: ArrayIterator[Prod] */
-&type_core__array__ArrayReverseIterator__nitc__Prod, /* ArrayReverseIterator[E]: ArrayReverseIterator[Prod] */
+&type_nitc__MAttribute, /* E: MAttribute */
+&type_core__HashSet__nitc__MAttribute, /* SELF: HashSet[MAttribute] */
+&type_core__hash_collection__HashSetNode__nitc__MAttribute, /* HashSetNode[E]: HashSetNode[MAttribute] */
+&type_core__hash_collection__HashSetIterator__nitc__MAttribute, /* HashSetIterator[E]: HashSetIterator[MAttribute] */
+&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
+&type_core__HashSet__nitc__MAttribute, /* HashSet[E]: HashSet[MAttribute] */
+&type_core__Set__nitc__MAttribute, /* Set[E]: Set[MAttribute] */
+&type_core__HashSet__nitc__MAttribute, /* HashSet[E]: HashSet[MAttribute] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MAttribute, /* nullable N: nullable HashSetNode[MAttribute] */
+&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
+&type_core__Array__nitc__MAttribute, /* Array[E]: Array[MAttribute] */
+&type_core__hash_collection__HashSetNode__nitc__MAttribute, /* N: HashSetNode[MAttribute] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MAttribute, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MAttribute]] */
 }
 };
-/* runtime type AParserError */
-const struct type type_nitc__AParserError = {
--1, /*CAST DEAD*/
-"AParserError", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type POSetGroupColorer[MClass, PropertyLayoutElement] */
+const struct type type_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement = {
+237,
+"POSetGroupColorer[MClass, PropertyLayoutElement]", /* class_name_string */
+2,
 0,
-NULL, /*NO RESOLUTIONS*/
-6,
+&resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement,
+5,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2379, /* ANode */
-2210, /* Token */
-906, /* EOF */
-2209, /* AError */
+2380, /* Object */
+2401, /* nullable Object */
+237, /* POSetGroupColorer[MClass, PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
 },
 };
-/* runtime type Array[Token] */
-const struct type type_core__Array__nitc__Token = {
-260,
-"Array[Token]", /* class_name_string */
-430,
+const struct types resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__PropertyLayoutElement__core__Int, /* HashMap[E, Int]: HashMap[PropertyLayoutElement, Int] */
+&type_core__HashMap__nitc__MClass__core__HashSet__core__Int, /* HashMap[H, HashSet[Int]]: HashMap[MClass, HashSet[Int]] */
+&type_core__HashMap__nitc__MClass__core__Int, /* HashMap[H, Int]: HashMap[MClass, Int] */
+&type_nitc__POSetConflictGraph__nitc__MClass, /* POSetConflictGraph[H]: POSetConflictGraph[MClass] */
+&type_core__Map__nitc__MClass__core__Collection__nitc__PropertyLayoutElement, /* Map[H, Collection[E]]: Map[MClass, Collection[PropertyLayoutElement]] */
+&type_nitc__MClass, /* H: MClass */
+&type_core__Array__nullable__nitc__PropertyLayoutElement, /* Array[nullable E]: Array[nullable PropertyLayoutElement] */
+&type_core__Set__nitc__MClass, /* Set[H]: Set[MClass] */
+&type_core__Collection__nitc__MClass, /* Collection[H]: Collection[MClass] */
+}
+};
+/* runtime type HashSet[Int] */
+const struct type type_core__HashSet__core__Int = {
+238,
+"HashSet[Int]", /* class_name_string */
+153,
 0,
-&resolution_table_core__Array__nitc__Token,
-510,
+&resolution_table_core__HashSet__core__Int,
+175,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8392,6 +8193,7 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2421, /* Collection[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8412,8 +8214,8 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8421,7 +8223,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2441, /* Collection[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8440,7 +8241,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8474,6 +8274,7 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8491,7 +8292,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8506,8 +8306,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8526,10 +8324,13 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
+2854, /* Set[Int] */
 -1, /* empty */
 -1, /* empty */
+238, /* HashSet[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8540,8 +8341,8 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8549,10 +8350,70 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2566, /* AbstractArrayRead[Token] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__core__Int = {
+0, /* dummy */
+{
+&type_core__Int, /* E: Int */
+&type_core__HashSet__core__Int, /* SELF: HashSet[Int] */
+&type_core__hash_collection__HashSetNode__core__Int, /* HashSetNode[E]: HashSetNode[Int] */
+&type_core__hash_collection__HashSetIterator__core__Int, /* HashSetIterator[E]: HashSetIterator[Int] */
+&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
+&type_core__HashSet__core__Int, /* HashSet[E]: HashSet[Int] */
+&type_core__Set__core__Int, /* Set[E]: Set[Int] */
+&type_core__HashSet__core__Int, /* HashSet[E]: HashSet[Int] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__core__Int, /* nullable N: nullable HashSetNode[Int] */
+&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+&type_core__hash_collection__HashSetNode__core__Int, /* N: HashSetNode[Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[Int]] */
+}
+};
+/* runtime type POSetGroupColorer[MClass, MAttribute] */
+const struct type type_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute = {
+239,
+"POSetGroupColorer[MClass, MAttribute]", /* class_name_string */
+3,
+0,
+&resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute,
+5,
+{
+2380, /* Object */
+2401, /* nullable Object */
+237, /* POSetGroupColorer[MClass, PropertyLayoutElement] */
+239, /* POSetGroupColorer[MClass, MAttribute] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__POSetGroupColorer__nitc__MClass__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MAttribute__core__Int, /* HashMap[E, Int]: HashMap[MAttribute, Int] */
+&type_core__HashMap__nitc__MClass__core__HashSet__core__Int, /* HashMap[H, HashSet[Int]]: HashMap[MClass, HashSet[Int]] */
+&type_core__HashMap__nitc__MClass__core__Int, /* HashMap[H, Int]: HashMap[MClass, Int] */
+&type_nitc__POSetConflictGraph__nitc__MClass, /* POSetConflictGraph[H]: POSetConflictGraph[MClass] */
+&type_core__Map__nitc__MClass__core__Collection__nitc__MAttribute, /* Map[H, Collection[E]]: Map[MClass, Collection[MAttribute]] */
+&type_nitc__MClass, /* H: MClass */
+&type_core__Array__nullable__nitc__MAttribute, /* Array[nullable E]: Array[nullable MAttribute] */
+&type_core__Set__nitc__MClass, /* Set[H]: Set[MClass] */
+&type_core__Collection__nitc__MClass, /* Collection[H]: Collection[MClass] */
+}
+};
+/* runtime type Array[nullable MPropDef] */
+const struct type type_core__Array__nullable__nitc__MPropDef = {
+240,
+"Array[nullable MPropDef]", /* class_name_string */
+398,
+0,
+&resolution_table_core__Array__nullable__nitc__MPropDef,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8569,7 +8430,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8592,6 +8452,7 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2445, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8620,7 +8481,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8649,6 +8509,7 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8662,11 +8523,11 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8674,13 +8535,14 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2889, /* AbstractArray[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8695,7 +8557,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8746,13 +8607,13 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8761,7 +8622,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8777,8 +8637,10 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2627, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
+2630, /* AbstractArrayRead[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8807,7 +8669,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-260, /* Array[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8825,7 +8686,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8845,6 +8705,7 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2891, /* AbstractArray[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8887,39 +8748,6 @@ const struct type type_core__Array__nitc__Token = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__Token = {
-0, /* dummy */
-{
-&type_nitc__Token, /* E: Token */
-&type_core__Array__nitc__Token, /* Array[E]: Array[Token] */
-&type_core__Collection__nitc__Token, /* Collection[E]: Collection[Token] */
-&type_core__Array__nitc__Token, /* Array[E]: Array[Token] */
-&type_core__AbstractArray__nitc__Token, /* AbstractArray[E]: AbstractArray[Token] */
-&type_core__NativeArray__nitc__Token, /* NativeArray[E]: NativeArray[Token] */
-&type_nitc__Token, /* E: Token */
-&type_core__Collection__nitc__Token, /* Collection[E]: Collection[Token] */
-&type_nitc__Token, /* E: Token */
-&type_core__Collection__nitc__Token, /* Collection[E]: Collection[Token] */
-&type_core__Collection__nitc__Token, /* Collection[E]: Collection[Token] */
-&type_core__Array__nitc__Token, /* Array[E]: Array[Token] */
-&type_core__AbstractArray__nitc__Token, /* AbstractArray[E]: AbstractArray[Token] */
-&type_core__array__ArrayIterator__nitc__Token, /* ArrayIterator[E]: ArrayIterator[Token] */
-&type_core__array__ArrayReverseIterator__nitc__Token, /* ArrayReverseIterator[E]: ArrayReverseIterator[Token] */
-}
-};
-/* runtime type ANodes[AAnnotation] */
-const struct type type_nitc__ANodes__nitc__AAnnotation = {
--1, /*CAST DEAD*/
-"ANodes[AAnnotation]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__ANodes__nitc__AAnnotation,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8934,8 +8762,8 @@ const struct type type_nitc__ANodes__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2413, /* Collection[AAnnotation] */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8949,19 +8777,18 @@ const struct type type_nitc__ANodes__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2963, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8981,9 +8808,9 @@ const struct type type_nitc__ANodes__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
+240, /* Array[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9032,7 +8859,6 @@ const struct type type_nitc__ANodes__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9048,37 +8874,7 @@ const struct type type_nitc__ANodes__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_nitc__ANodes__nitc__AAnnotation = {
-0, /* dummy */
-{
-&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_nitc__AAnnotation, /* E: AAnnotation */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nitc__AAnnotation, /* E: AAnnotation */
-&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-}
-};
-/* runtime type ANodes[TId] */
-const struct type type_nitc__ANodes__nitc__TId = {
--1, /*CAST DEAD*/
-"ANodes[TId]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__ANodes__nitc__TId,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9109,11 +8905,11 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1929, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9121,12 +8917,45 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2441, /* Collection[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nullable__nitc__MPropDef = {
+0, /* dummy */
+{
+&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
+&type_core__Array__nullable__nitc__MPropDef, /* SELF: Array[nullable MPropDef] */
+&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
+&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
+&type_core__AbstractArray__nullable__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[nullable MPropDef] */
+&type_core__NativeArray__nullable__nitc__MPropDef, /* NativeArray[E]: NativeArray[nullable MPropDef] */
+&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
+&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
+&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
+&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
+&type_core__Collection__nullable__nitc__MPropDef, /* Collection[E]: Collection[nullable MPropDef] */
+&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
+&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
+&type_core__AbstractArray__nullable__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[nullable MPropDef] */
+&type_core__array__ArrayIterator__nullable__nitc__MPropDef, /* ArrayIterator[E]: ArrayIterator[nullable MPropDef] */
+&type_core__array__ArrayReverseIterator__nullable__nitc__MPropDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable MPropDef] */
+}
+};
+/* runtime type Array[nullable MClass] */
+const struct type type_core__Array__nullable__nitc__MClass = {
+241,
+"Array[nullable MClass]", /* class_name_string */
+401,
+0,
+&resolution_table_core__Array__nullable__nitc__MClass,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9140,7 +8969,6 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9148,7 +8976,6 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2468, /* Collection[TId] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9168,6 +8995,7 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2446, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9191,7 +9019,6 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9207,38 +9034,7 @@ const struct type type_nitc__ANodes__nitc__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_nitc__ANodes__nitc__TId = {
-0, /* dummy */
-{
-&type_core__Array__nitc__TId, /* Array[E]: Array[TId] */
-&type_core__Array__nitc__TId, /* Array[E]: Array[TId] */
-&type_nitc__TId, /* E: TId */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nitc__TId, /* E: TId */
-&type_core__Collection__nitc__TId, /* Collection[E]: Collection[TId] */
-&type_core__Collection__nitc__TId, /* Collection[E]: Collection[TId] */
-}
-};
-/* runtime type ArraySet[MGroup] */
-const struct type type_core__ArraySet__nitc__MGroup = {
--1, /*CAST DEAD*/
-"ArraySet[MGroup]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ArraySet__nitc__MGroup,
-141,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9255,6 +9051,7 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9272,7 +9069,6 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9287,13 +9083,14 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2454, /* Collection[MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9322,7 +9119,6 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2483, /* Collection[nullable MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9350,7 +9146,6 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9360,6 +9155,7 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9376,37 +9172,6 @@ const struct type type_core__ArraySet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2401, /* Set[MGroup] */
-},
-};
-const struct types resolution_table_core__ArraySet__nitc__MGroup = {
-0, /* dummy */
-{
-&type_nitc__MGroup, /* E: MGroup */
-&type_core__Array__nitc__MGroup, /* Array[E]: Array[MGroup] */
-&type_core__array__ArraySetIterator__nitc__MGroup, /* ArraySetIterator[E]: ArraySetIterator[MGroup] */
-&type_core__Array__nitc__MGroup, /* Array[E]: Array[MGroup] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__Collection__nitc__MGroup, /* Collection[E]: Collection[MGroup] */
-}
-};
-/* runtime type HashMap[MClass, AClassdef] */
-const struct type type_core__HashMap__nitc__MClass__nitc__AClassdef = {
-264,
-"HashMap[MClass, AClassdef]", /* class_name_string */
-46,
-0,
-&resolution_table_core__HashMap__nitc__MClass__nitc__AClassdef,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9418,6 +9183,7 @@ const struct type type_core__HashMap__nitc__MClass__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2631, /* AbstractArrayRead[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9450,7 +9216,6 @@ const struct type type_core__HashMap__nitc__MClass__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-264, /* HashMap[MClass, AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9467,7 +9232,6 @@ const struct type type_core__HashMap__nitc__MClass__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9484,59 +9248,12 @@ const struct type type_core__HashMap__nitc__MClass__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2892, /* AbstractArray[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MClass__nitc__AClassdef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MClass__nitc__AClassdef, /* HashMapIterator[K, V]: HashMapIterator[MClass, AClassdef] */
-&type_nitc__MClass, /* K: MClass */
-&type_nitc__AClassdef, /* V: AClassdef */
-&type_core__hash_collection__HashMapNode__nitc__MClass__nitc__AClassdef, /* HashMapNode[K, V]: HashMapNode[MClass, AClassdef] */
-&type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__AClassdef, /* HashMapKeys[K, V]: HashMapKeys[MClass, AClassdef] */
-&type_core__hash_collection__HashMapValues__nitc__MClass__nitc__AClassdef, /* HashMapValues[K, V]: HashMapValues[MClass, AClassdef] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__AClassdef, /* nullable N: nullable HashMapNode[MClass, AClassdef] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MClass__nitc__AClassdef, /* N: HashMapNode[MClass, AClassdef] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__AClassdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, AClassdef]] */
-}
-};
-/* runtime type MNullableType */
-const struct type type_nitc__MNullableType = {
-265,
-"MNullableType", /* class_name_string */
-5,
-0,
-NULL, /*NO RESOLUTIONS*/
-6,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-2370, /* MType */
-2377, /* nullable MType */
-265, /* MNullableType */
-},
-};
-/* runtime type ANodes[AType] */
-const struct type type_nitc__ANodes__nitc__AType = {
--1, /*CAST DEAD*/
-"ANodes[AType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__ANodes__nitc__AType,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9571,14 +9288,12 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9590,6 +9305,7 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9598,7 +9314,6 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9607,7 +9322,6 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2469, /* Collection[AType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9641,6 +9355,11 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+241, /* Array[nullable MClass] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9649,7 +9368,6 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9665,70 +9383,7 @@ const struct type type_nitc__ANodes__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_nitc__ANodes__nitc__AType = {
-0, /* dummy */
-{
-&type_core__Array__nitc__AType, /* Array[E]: Array[AType] */
-&type_core__Array__nitc__AType, /* Array[E]: Array[AType] */
-&type_nitc__AType, /* E: AType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nitc__AType, /* E: AType */
-&type_core__Collection__nitc__AType, /* Collection[E]: Collection[AType] */
-&type_core__Collection__nitc__AType, /* Collection[E]: Collection[AType] */
-}
-};
-/* runtime type MVirtualType */
-const struct type type_nitc__MVirtualType = {
-267,
-"MVirtualType", /* class_name_string */
-6,
-0,
-NULL, /*NO RESOLUTIONS*/
-7,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-2370, /* MType */
-2377, /* nullable MType */
-2213, /* MFormalType */
-267, /* MVirtualType */
-},
-};
-/* runtime type Scope */
-const struct type type_nitc__scope__Scope = {
-268,
-"Scope", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-2371, /* Object */
-2397, /* nullable Object */
-268, /* Scope */
-},
-};
-/* runtime type HashMap[String, Variable] */
-const struct type type_core__HashMap__core__String__nitc__Variable = {
-269,
-"HashMap[String, Variable]", /* class_name_string */
-47,
-0,
-&resolution_table_core__HashMap__core__String__nitc__Variable,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9773,7 +9428,6 @@ const struct type type_core__HashMap__core__String__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-269, /* HashMap[String, Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9789,7 +9443,6 @@ const struct type type_core__HashMap__core__String__nitc__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9813,21 +9466,24 @@ const struct type type_core__HashMap__core__String__nitc__Variable = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__core__String__nitc__Variable = {
+const struct types resolution_table_core__Array__nullable__nitc__MClass = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__core__String__nitc__Variable, /* HashMapIterator[K, V]: HashMapIterator[String, Variable] */
-&type_core__String, /* K: String */
-&type_nitc__Variable, /* V: Variable */
-&type_core__hash_collection__HashMapNode__core__String__nitc__Variable, /* HashMapNode[K, V]: HashMapNode[String, Variable] */
-&type_core__hash_collection__HashMapKeys__core__String__nitc__Variable, /* HashMapKeys[K, V]: HashMapKeys[String, Variable] */
-&type_core__hash_collection__HashMapValues__core__String__nitc__Variable, /* HashMapValues[K, V]: HashMapValues[String, Variable] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__nitc__Variable, /* nullable N: nullable HashMapNode[String, Variable] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__nitc__Variable, /* N: HashMapNode[String, Variable] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__Variable, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Variable]] */
+&type_nullable__nitc__MClass, /* E: nullable MClass */
+&type_core__Array__nullable__nitc__MClass, /* SELF: Array[nullable MClass] */
+&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
+&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
+&type_core__AbstractArray__nullable__nitc__MClass, /* AbstractArray[E]: AbstractArray[nullable MClass] */
+&type_core__NativeArray__nullable__nitc__MClass, /* NativeArray[E]: NativeArray[nullable MClass] */
+&type_nullable__nitc__MClass, /* E: nullable MClass */
+&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
+&type_nullable__nitc__MClass, /* E: nullable MClass */
+&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
+&type_core__Collection__nullable__nitc__MClass, /* Collection[E]: Collection[nullable MClass] */
+&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
+&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
+&type_core__AbstractArray__nullable__nitc__MClass, /* AbstractArray[E]: AbstractArray[nullable MClass] */
+&type_core__array__ArrayIterator__nullable__nitc__MClass, /* ArrayIterator[E]: ArrayIterator[nullable MClass] */
+&type_core__array__ArrayReverseIterator__nullable__nitc__MClass, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable MClass] */
 }
 };