c_src: regenerate
[nit.git] / c_src / nitc__nith.types.3.c
similarity index 64%
rename from c_src/nit__nith.types.2.c
rename to c_src/nitc__nith.types.3.c
index 52137cf..e117133 100644 (file)
@@ -1,15 +1,37 @@
-#include "nit__nith.types.0.h"
-/* runtime type Array[AAnnotation] */
-const struct type type_standard__Array__nit__AAnnotation = {
-82,
-"Array[AAnnotation]", /* class_name_string */
-393,
+#include "nitc__nith.types.0.h"
+const struct types resolution_table_core__HashMap__nitc__MType__core__Array__nullable__nitc__MType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MType__core__Array__nullable__nitc__MType, /* HashMapIterator[K, V]: HashMapIterator[MType, Array[nullable MType]] */
+&type_nitc__MType, /* K: MType */
+&type_core__Array__nullable__nitc__MType, /* V: Array[nullable MType] */
+&type_core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType, /* HashMapNode[K, V]: HashMapNode[MType, Array[nullable MType]] */
+&type_core__hash_collection__HashMapKeys__nitc__MType__core__Array__nullable__nitc__MType, /* HashMapKeys[K, V]: HashMapKeys[MType, Array[nullable MType]] */
+&type_core__hash_collection__HashMapValues__nitc__MType__core__Array__nullable__nitc__MType, /* HashMapValues[K, V]: HashMapValues[MType, Array[nullable MType]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType, /* nullable N: nullable HashMapNode[MType, Array[nullable MType]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType, /* N: HashMapNode[MType, Array[nullable MType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+}
+};
+/* runtime type HashMap[MClassType, Array[nullable MType]] */
+const struct type type_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType = {
+144,
+"HashMap[MClassType, Array[nullable MType]]", /* class_name_string */
+29,
 0,
-&resolution_table_standard__Array__nit__AAnnotation,
-490,
+&resolution_table_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType,
+85,
 {
-80, /* Object */
-2622, /* nullable Object */
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -24,7 +46,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2317, /* Collection[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -33,8 +54,9 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+143, /* HashMap[MType, Array[nullable MType]] */
+144, /* HashMap[MClassType, Array[nullable MType]] */
 -1, /* empty */
-2327, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -44,7 +66,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -68,9 +89,9 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -90,6 +111,41 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMapIterator[K, V]: HashMapIterator[MClassType, Array[nullable MType]] */
+&type_nitc__MClassType, /* K: MClassType */
+&type_core__Array__nullable__nitc__MType, /* V: Array[nullable MType] */
+&type_core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMapNode[K, V]: HashMapNode[MClassType, Array[nullable MType]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMapKeys[K, V]: HashMapKeys[MClassType, Array[nullable MType]] */
+&type_core__hash_collection__HashMapValues__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMapValues[K, V]: HashMapValues[MClassType, Array[nullable MType]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType, /* nullable N: nullable HashMapNode[MClassType, Array[nullable MType]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType, /* N: HashMapNode[MClassType, Array[nullable MType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
+}
+};
+/* runtime type HashMap[MClass, Array[nullable MPropDef]] */
+const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
+145,
+"HashMap[MClass, Array[nullable MPropDef]]", /* class_name_string */
+30,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -114,6 +170,7 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+145, /* HashMap[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -132,7 +189,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -144,10 +200,10 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2436, /* AbstractArrayRead[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -155,7 +211,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2447, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -165,12 +220,43 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMapIterator[K, V]: HashMapIterator[MClass, Array[nullable MPropDef]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Array__nullable__nitc__MPropDef, /* V: Array[nullable MPropDef] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMapNode[K, V]: HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMapKeys[K, V]: HashMapKeys[MClass, Array[nullable MPropDef]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMapValues[K, V]: HashMapValues[MClass, Array[nullable MPropDef]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* nullable N: nullable HashMapNode[MClass, Array[nullable MPropDef]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* N: HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
+}
+};
+/* runtime type HashMap[MClass, Array[nullable MProperty]] */
+const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty = {
+146,
+"HashMap[MClass, Array[nullable MProperty]]", /* class_name_string */
+31,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -192,7 +278,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2484, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -200,6 +285,7 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+146, /* HashMap[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -231,6 +317,7 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -252,6 +339,38 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMapIterator[K, V]: HashMapIterator[MClass, Array[nullable MProperty]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Array__nullable__nitc__MProperty, /* V: Array[nullable MProperty] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMapNode[K, V]: HashMapNode[MClass, Array[nullable MProperty]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMapKeys[K, V]: HashMapKeys[MClass, Array[nullable MProperty]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMapValues[K, V]: HashMapValues[MClass, Array[nullable MProperty]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty, /* nullable N: nullable HashMapNode[MClass, Array[nullable MProperty]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty, /* N: HashMapNode[MClass, Array[nullable MProperty]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Array[nullable MProperty]]] */
+}
+};
+/* runtime type HashMap[String, String] */
+const struct type type_core__HashMap__core__String__core__String = {
+147,
+"HashMap[String, String]", /* class_name_string */
+32,
+0,
+&resolution_table_core__HashMap__core__String__core__String,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -265,7 +384,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2660, /* AbstractArray[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -276,19 +394,19 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2671, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+147, /* HashMap[String, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
+184, /* HashMap[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -313,7 +431,7 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2708, /* AbstractArray[ANode] */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -335,6 +453,37 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__String__core__String = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__String__core__String, /* HashMapIterator[K, V]: HashMapIterator[String, String] */
+&type_core__String, /* K: String */
+&type_core__String, /* V: String */
+&type_core__hash_collection__HashMapNode__core__String__core__String, /* HashMapNode[K, V]: HashMapNode[String, String] */
+&type_core__hash_collection__HashMapKeys__core__String__core__String, /* HashMapKeys[K, V]: HashMapKeys[String, String] */
+&type_core__hash_collection__HashMapValues__core__String__core__String, /* HashMapValues[K, V]: HashMapValues[String, String] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__core__String, /* nullable N: nullable HashMapNode[String, String] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__String__core__String, /* N: HashMapNode[String, String] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, String]] */
+}
+};
+/* runtime type List[CodeFile] */
+const struct type type_core__List__nitc__CodeFile = {
+148,
+"List[CodeFile]", /* class_name_string */
+129,
+0,
+&resolution_table_core__List__nitc__CodeFile,
+136,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -369,14 +518,13 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -394,6 +542,7 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2457, /* Collection[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -401,7 +550,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-82, /* Array[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -409,7 +557,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-150, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -439,7 +586,6 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1267, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -450,6 +596,7 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -464,11 +611,43 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+148, /* List[CodeFile] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__CodeFile = {
+0, /* dummy */
+{
+&type_nitc__CodeFile, /* E: CodeFile */
+&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
+&type_core__list__ListNode__nitc__CodeFile, /* ListNode[E]: ListNode[CodeFile] */
+&type_core__ListIterator__nitc__CodeFile, /* ListIterator[E]: ListIterator[CodeFile] */
+&type_core__list__ListReverseIterator__nitc__CodeFile, /* ListReverseIterator[E]: ListReverseIterator[CodeFile] */
+&type_nullable__core__list__ListNode__nitc__CodeFile, /* nullable ListNode[E]: nullable ListNode[CodeFile] */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__CodeFile, /* E: CodeFile */
+&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
+&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
+}
+};
+/* runtime type HashMap[String, ANode] */
+const struct type type_core__HashMap__core__String__nitc__ANode = {
+149,
+"HashMap[String, ANode]", /* class_name_string */
+33,
+0,
+&resolution_table_core__HashMap__core__String__nitc__ANode,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -498,75 +677,9 @@ const struct type type_standard__Array__nit__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__AAnnotation = {
-0, /* dummy */
-{
-&type_nit__AAnnotation, /* E: AAnnotation */
-&type_standard__Array__nit__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_standard__Collection__nit__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_standard__Array__nit__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_standard__NativeArray__nit__AAnnotation, /* NativeArray[E]: NativeArray[AAnnotation] */
-&type_nit__AAnnotation, /* E: AAnnotation */
-&type_standard__Collection__nit__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_nit__AAnnotation, /* E: AAnnotation */
-&type_standard__Collection__nit__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_standard__Collection__nit__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_standard__Array__nit__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_standard__AbstractArray__nit__AAnnotation, /* AbstractArray[E]: AbstractArray[AAnnotation] */
-&type_standard__array__ArrayIterator__nit__AAnnotation, /* ArrayIterator[E]: ArrayIterator[AAnnotation] */
-}
-};
-/* runtime type FlatStringIterator */
-const struct type type_standard__string__FlatStringIterator = {
--1, /*CAST DEAD*/
-"FlatStringIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__string__FlatStringIterator,
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
+149, /* HashMap[String, ANode] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__string__FlatStringIterator = {
-0, /* dummy */
-{
-&type_standard__Array__standard__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type MModule */
-const struct type type_nit__MModule = {
-84,
-"MModule", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
-2146, /* MEntity */
-84, /* MModule */
-},
-};
-/* runtime type HashSet[MModule] */
-const struct type type_standard__HashSet__nit__MModule = {
-85,
-"HashSet[MModule]", /* class_name_string */
-139,
-0,
-&resolution_table_standard__HashSet__nit__MModule,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -575,7 +688,6 @@ const struct type type_standard__HashSet__nit__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2312, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -596,11 +708,11 @@ const struct type type_standard__HashSet__nit__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -618,6 +730,54 @@ const struct type type_standard__HashSet__nit__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__String__nitc__ANode = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__String__nitc__ANode, /* HashMapIterator[K, V]: HashMapIterator[String, ANode] */
+&type_core__String, /* K: String */
+&type_nitc__ANode, /* V: ANode */
+&type_core__hash_collection__HashMapNode__core__String__nitc__ANode, /* HashMapNode[K, V]: HashMapNode[String, ANode] */
+&type_core__hash_collection__HashMapKeys__core__String__nitc__ANode, /* HashMapKeys[K, V]: HashMapKeys[String, ANode] */
+&type_core__hash_collection__HashMapValues__core__String__nitc__ANode, /* HashMapValues[K, V]: HashMapValues[String, ANode] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode, /* nullable N: nullable HashMapNode[String, ANode] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__String__nitc__ANode, /* N: HashMapNode[String, ANode] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, ANode]] */
+}
+};
+/* runtime type ArraySet[String] */
+const struct type type_core__ArraySet__core__String = {
+-1, /*CAST DEAD*/
+"ArraySet[String]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__ArraySet__core__String,
+141,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2204, /* Set[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+2402, /* Collection[String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -635,11 +795,13 @@ const struct type type_standard__HashSet__nit__MModule = {
 -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 */
@@ -698,12 +860,10 @@ const struct type type_standard__HashSet__nit__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2207, /* Set[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-85, /* HashSet[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -711,7 +871,24 @@ const struct type type_standard__HashSet__nit__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
+-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 */
@@ -725,35 +902,38 @@ const struct type type_standard__HashSet__nit__MModule = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__HashSet__nit__MModule = {
+const struct types resolution_table_core__ArraySet__core__String = {
 0, /* dummy */
 {
-&type_nit__MModule, /* E: MModule */
-&type_standard__Array__nit__MModule, /* Array[E]: Array[MModule] */
-&type_standard__hash_collection__HashSetNode__nit__MModule, /* HashSetNode[E]: HashSetNode[MModule] */
-&type_standard__hash_collection__HashSetIterator__nit__MModule, /* HashSetIterator[E]: HashSetIterator[MModule] */
-&type_standard__Collection__nit__MModule, /* Collection[E]: Collection[MModule] */
+&type_core__String, /* E: String */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__array__ArraySetIterator__core__String, /* ArraySetIterator[E]: ArraySetIterator[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_standard__Collection__nit__MModule, /* Collection[E]: Collection[MModule] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__MModule, /* nullable N: nullable HashSetNode[MModule] */
-&type_standard__hash_collection__HashSetNode__nit__MModule, /* N: HashSetNode[MModule] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MModule, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MModule]] */
+NULL, /* empty */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
 }
 };
-/* runtime type Array[MClassDef] */
-const struct type type_standard__Array__nit__MClassDef = {
-86,
-"Array[MClassDef]", /* class_name_string */
-372,
+/* runtime type Array[MNullableType] */
+const struct type type_core__Array__nitc__MNullableType = {
+151,
+"Array[MNullableType]", /* class_name_string */
+415,
 0,
-&resolution_table_standard__Array__nit__MClassDef,
-490,
+&resolution_table_core__Array__nitc__MNullableType,
+510,
 {
-80, /* Object */
-2622, /* nullable Object */
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -769,12 +949,13 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2318, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2422, /* Collection[MNullableType] */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -782,17 +963,18 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -859,6 +1041,7 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -873,10 +1056,11 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -889,15 +1073,16 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2437, /* AbstractArrayRead[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2546, /* AbstractArrayRead[MNullableType] */
 -1, /* empty */
 -1, /* empty */
+2549, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -905,11 +1090,11 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -917,6 +1102,7 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2569, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -984,6 +1170,7 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1010,7 +1197,6 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2661, /* AbstractArray[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1019,8 +1205,10 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2870, /* AbstractArray[MNullableType] */
 -1, /* empty */
 -1, /* empty */
+2873, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1028,9 +1216,9 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1039,6 +1227,7 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2892, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1107,6 +1296,7 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1119,22 +1309,22 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
-86, /* Array[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+173, /* Array[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+730, /* Array[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1152,6 +1342,7 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+151, /* Array[MNullableType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1242,37 +1433,75 @@ const struct type type_standard__Array__nit__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MNullableType = {
+0, /* dummy */
+{
+&type_nitc__MNullableType, /* E: MNullableType */
+&type_core__Array__nitc__MNullableType, /* Array[E]: Array[MNullableType] */
+&type_core__Collection__nitc__MNullableType, /* Collection[E]: Collection[MNullableType] */
+&type_core__Array__nitc__MNullableType, /* Array[E]: Array[MNullableType] */
+&type_core__AbstractArray__nitc__MNullableType, /* AbstractArray[E]: AbstractArray[MNullableType] */
+&type_core__NativeArray__nitc__MNullableType, /* NativeArray[E]: NativeArray[MNullableType] */
+&type_nitc__MNullableType, /* E: MNullableType */
+&type_core__Collection__nitc__MNullableType, /* Collection[E]: Collection[MNullableType] */
+&type_nitc__MNullableType, /* E: MNullableType */
+&type_core__Collection__nitc__MNullableType, /* Collection[E]: Collection[MNullableType] */
+&type_core__Collection__nitc__MNullableType, /* Collection[E]: Collection[MNullableType] */
+&type_core__Array__nitc__MNullableType, /* Array[E]: Array[MNullableType] */
+&type_core__AbstractArray__nitc__MNullableType, /* AbstractArray[E]: AbstractArray[MNullableType] */
+&type_core__array__ArrayIterator__nitc__MNullableType, /* ArrayIterator[E]: ArrayIterator[MNullableType] */
+&type_core__array__ArrayReverseIterator__nitc__MNullableType, /* ArrayReverseIterator[E]: ArrayReverseIterator[MNullableType] */
+}
+};
+/* runtime type SeparateErasureCompiler */
+const struct type type_nitc__SeparateErasureCompiler = {
+152,
+"SeparateErasureCompiler", /* class_name_string */
+4,
+0,
+&resolution_table_nitc__SeparateErasureCompiler,
+5,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2980, /* AbstractCompiler */
+139, /* SeparateCompiler */
+152, /* SeparateErasureCompiler */
 },
 };
-const struct types resolution_table_standard__Array__nit__MClassDef = {
+const struct types resolution_table_nitc__SeparateErasureCompiler = {
 0, /* dummy */
 {
-&type_nit__MClassDef, /* E: MClassDef */
-&type_standard__Array__nit__MClassDef, /* Array[E]: Array[MClassDef] */
-&type_standard__Collection__nit__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_standard__Array__nit__MClassDef, /* Array[E]: Array[MClassDef] */
-&type_standard__NativeArray__nit__MClassDef, /* NativeArray[E]: NativeArray[MClassDef] */
-&type_nit__MClassDef, /* E: MClassDef */
-&type_standard__Collection__nit__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_nit__MClassDef, /* E: MClassDef */
-&type_standard__Collection__nit__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_standard__Collection__nit__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_standard__Array__nit__MClassDef, /* Array[E]: Array[MClassDef] */
-&type_standard__AbstractArray__nit__MClassDef, /* AbstractArray[E]: AbstractArray[MClassDef] */
-&type_standard__array__ArrayIterator__nit__MClassDef, /* ArrayIterator[E]: ArrayIterator[MClassDef] */
+&type_nitc__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
 }
 };
-/* runtime type Array[ExternFile] */
-const struct type type_standard__Array__nit__ExternFile = {
-87,
-"Array[ExternFile]", /* class_name_string */
-394,
+/* runtime type Array[Match] */
+const struct type type_core__Array__core__Match = {
+153,
+"Array[Match]", /* class_name_string */
+416,
 0,
-&resolution_table_standard__Array__nit__ExternFile,
-490,
+&resolution_table_core__Array__core__Match,
+510,
 {
-80, /* Object */
-2622, /* nullable Object */
+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 */
@@ -1287,15 +1516,17 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2423, /* Collection[Match] */
+2424, /* Collection[nullable Match] */
 -1, /* empty */
 -1, /* empty */
-2319, /* Collection[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1307,7 +1538,6 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1374,6 +1604,7 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1388,6 +1619,8 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1395,7 +1628,6 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1409,9 +1641,10 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2438, /* AbstractArrayRead[ExternFile] */
 -1, /* empty */
 -1, /* empty */
+2547, /* AbstractArrayRead[Match] */
+2548, /* AbstractArrayRead[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1420,6 +1653,7 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1428,7 +1662,6 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1500,6 +1733,7 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1530,12 +1764,13 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2662, /* AbstractArray[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2871, /* AbstractArray[Match] */
+2872, /* AbstractArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1544,12 +1779,12 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1624,6 +1859,7 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1638,8 +1874,7 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1665,13 +1900,17 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-87, /* Array[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+153, /* Array[Match] */
+155, /* Array[nullable Match] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1763,36 +2002,52 @@ const struct type type_standard__Array__nit__ExternFile = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__Array__nit__ExternFile = {
+const struct types resolution_table_core__Array__core__Match = {
 0, /* dummy */
 {
-&type_nit__ExternFile, /* E: ExternFile */
-&type_standard__Array__nit__ExternFile, /* Array[E]: Array[ExternFile] */
-&type_standard__Collection__nit__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_standard__Array__nit__ExternFile, /* Array[E]: Array[ExternFile] */
-&type_standard__NativeArray__nit__ExternFile, /* NativeArray[E]: NativeArray[ExternFile] */
-&type_nit__ExternFile, /* E: ExternFile */
-&type_standard__Collection__nit__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_nit__ExternFile, /* E: ExternFile */
-&type_standard__Collection__nit__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_standard__Collection__nit__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_standard__Array__nit__ExternFile, /* Array[E]: Array[ExternFile] */
-&type_standard__AbstractArray__nit__ExternFile, /* AbstractArray[E]: AbstractArray[ExternFile] */
-&type_standard__array__ArrayIterator__nit__ExternFile, /* ArrayIterator[E]: ArrayIterator[ExternFile] */
+&type_core__Match, /* E: Match */
+&type_core__Array__core__Match, /* Array[E]: Array[Match] */
+&type_core__Collection__core__Match, /* Collection[E]: Collection[Match] */
+&type_core__Array__core__Match, /* Array[E]: Array[Match] */
+&type_core__AbstractArray__core__Match, /* AbstractArray[E]: AbstractArray[Match] */
+&type_core__NativeArray__core__Match, /* NativeArray[E]: NativeArray[Match] */
+&type_core__Match, /* E: Match */
+&type_core__Collection__core__Match, /* Collection[E]: Collection[Match] */
+&type_core__Match, /* E: Match */
+&type_core__Collection__core__Match, /* Collection[E]: Collection[Match] */
+&type_core__Collection__core__Match, /* Collection[E]: Collection[Match] */
+&type_core__Array__core__Match, /* Array[E]: Array[Match] */
+&type_core__AbstractArray__core__Match, /* AbstractArray[E]: AbstractArray[Match] */
+&type_core__array__ArrayIterator__core__Match, /* ArrayIterator[E]: ArrayIterator[Match] */
+&type_core__array__ArrayReverseIterator__core__Match, /* ArrayReverseIterator[E]: ArrayReverseIterator[Match] */
 }
 };
-/* runtime type MultiHashMap[String, String] */
-const struct type type_more_collections__MultiHashMap__standard__String__standard__String = {
--1, /*CAST DEAD*/
-"MultiHashMap[String, String]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Match */
+const struct type type_core__Match = {
+154,
+"Match", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2371, /* Object */
+2397, /* nullable Object */
+154, /* Match */
+2369, /* nullable Match */
+},
+};
+/* runtime type Array[nullable Match] */
+const struct type type_core__Array__nullable__core__Match = {
+155,
+"Array[nullable Match]", /* class_name_string */
+417,
 0,
-&resolution_table_more_collections__MultiHashMap__standard__String__standard__String,
-83,
+&resolution_table_core__Array__nullable__core__Match,
+510,
 {
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1812,13 +2067,13 @@ const struct type type_more_collections__MultiHashMap__standard__String__standar
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2169, /* HashMap[String, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2424, /* Collection[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1851,7 +2106,6 @@ const struct type type_more_collections__MultiHashMap__standard__String__standar
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1295, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1873,45 +2127,12 @@ const struct type type_more_collections__MultiHashMap__standard__String__standar
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_more_collections__MultiHashMap__standard__String__standard__String = {
-0, /* dummy */
-{
-&type_standard__String, /* K: String */
-&type_standard__String, /* V: String */
-&type_standard__Array__standard__String, /* Array[V]: Array[String] */
-&type_standard__HashMapIterator__standard__String__standard__Array__standard__String, /* HashMapIterator[K, V]: HashMapIterator[String, Array[String]] */
-&type_standard__String, /* K: String */
-&type_standard__Array__standard__String, /* V: Array[String] */
-&type_standard__hash_collection__HashMapNode__standard__String__standard__Array__standard__String, /* HashMapNode[K, V]: HashMapNode[String, Array[String]] */
-&type_standard__hash_collection__HashMapKeys__standard__String__standard__Array__standard__String, /* HashMapKeys[K, V]: HashMapKeys[String, Array[String]] */
-&type_standard__hash_collection__HashMapValues__standard__String__standard__Array__standard__String, /* HashMapValues[K, V]: HashMapValues[String, Array[String]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__standard__String__standard__Array__standard__String, /* nullable N: nullable HashMapNode[String, Array[String]] */
-&type_standard__hash_collection__HashMapNode__standard__String__standard__Array__standard__String, /* N: HashMapNode[String, Array[String]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__standard__String__standard__Array__standard__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[String]]] */
-}
-};
-/* runtime type HashSet[FFILanguage] */
-const struct type type_standard__HashSet__nit__FFILanguage = {
-89,
-"HashSet[FFILanguage]", /* class_name_string */
-140,
-0,
-&resolution_table_standard__HashSet__nit__FFILanguage,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2310, /* Collection[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1938,8 +2159,8 @@ const struct type type_standard__HashSet__nit__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1954,6 +2175,8 @@ const struct type type_standard__HashSet__nit__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1977,6 +2200,7 @@ const struct type type_standard__HashSet__nit__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2548, /* AbstractArrayRead[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2042,14 +2266,12 @@ const struct type type_standard__HashSet__nit__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-89, /* HashSet[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2061,44 +2283,13 @@ const struct type type_standard__HashSet__nit__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__nit__FFILanguage = {
-0, /* dummy */
-{
-&type_nit__FFILanguage, /* E: FFILanguage */
-&type_standard__Array__nit__FFILanguage, /* Array[E]: Array[FFILanguage] */
-&type_standard__hash_collection__HashSetNode__nit__FFILanguage, /* HashSetNode[E]: HashSetNode[FFILanguage] */
-&type_standard__hash_collection__HashSetIterator__nit__FFILanguage, /* HashSetIterator[E]: HashSetIterator[FFILanguage] */
-&type_standard__Collection__nit__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__FFILanguage, /* nullable N: nullable HashSetNode[FFILanguage] */
-&type_standard__hash_collection__HashSetNode__nit__FFILanguage, /* N: HashSetNode[FFILanguage] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__FFILanguage, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[FFILanguage]] */
-}
-};
-/* runtime type HashSet[AMethPropdef] */
-const struct type type_standard__HashSet__nit__AMethPropdef = {
-90,
-"HashSet[AMethPropdef]", /* class_name_string */
-141,
-0,
-&resolution_table_standard__HashSet__nit__AMethPropdef,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2116,7 +2307,6 @@ const struct type type_standard__HashSet__nit__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2327, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2126,7 +2316,6 @@ const struct type type_standard__HashSet__nit__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2137,22 +2326,20 @@ const struct type type_standard__HashSet__nit__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2872, /* AbstractArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2353, /* Collection[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2357, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2228,17 +2415,15 @@ const struct type type_standard__HashSet__nit__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-90, /* HashSet[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
-164, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2249,41 +2434,8 @@ const struct type type_standard__HashSet__nit__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__nit__AMethPropdef = {
-0, /* dummy */
-{
-&type_nit__AMethPropdef, /* E: AMethPropdef */
-&type_standard__Array__nit__AMethPropdef, /* Array[E]: Array[AMethPropdef] */
-&type_standard__hash_collection__HashSetNode__nit__AMethPropdef, /* HashSetNode[E]: HashSetNode[AMethPropdef] */
-&type_standard__hash_collection__HashSetIterator__nit__AMethPropdef, /* HashSetIterator[E]: HashSetIterator[AMethPropdef] */
-&type_standard__Collection__nit__AMethPropdef, /* Collection[E]: Collection[AMethPropdef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__AMethPropdef, /* Collection[E]: Collection[AMethPropdef] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__AMethPropdef, /* nullable N: nullable HashSetNode[AMethPropdef] */
-&type_standard__hash_collection__HashSetNode__nit__AMethPropdef, /* N: HashSetNode[AMethPropdef] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__AMethPropdef, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[AMethPropdef]] */
-}
-};
-/* runtime type HashMap[MClass, Set[MProperty]] */
-const struct type type_standard__HashMap__nit__MClass__standard__Set__nit__MProperty = {
-91,
-"HashMap[MClass, Set[MProperty]]", /* class_name_string */
-23,
-0,
-&resolution_table_standard__HashMap__nit__MClass__standard__Set__nit__MProperty,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2641, /* Map[MClass, Collection[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2301,7 +2453,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Set__nit__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-91, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2312,6 +2463,7 @@ const struct type type_standard__HashMap__nit__MClass__standard__Set__nit__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+155, /* Array[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2320,7 +2472,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Set__nit__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-656, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2361,57 +2512,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Set__nit__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MClass__standard__Set__nit__MProperty = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClass__standard__Set__nit__MProperty, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MProperty]] */
-&type_nit__MClass, /* K: MClass */
-&type_standard__Set__nit__MProperty, /* V: Set[MProperty] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MProperty, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MProperty]] */
-&type_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__MProperty, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MProperty]] */
-&type_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__MProperty, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MProperty]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MProperty, /* nullable N: nullable HashMapNode[MClass, Set[MProperty]] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-}
-};
-/* runtime type MClassDef */
-const struct type type_nit__MClassDef = {
-92,
-"MClassDef", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
-2146, /* MEntity */
-92, /* MClassDef */
-},
-};
-/* runtime type Array[MClassType] */
-const struct type type_standard__Array__nit__MClassType = {
-93,
-"Array[MClassType]", /* class_name_string */
-373,
-0,
-&resolution_table_standard__Array__nit__MClassType,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2424,7 +2524,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2320, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2433,7 +2532,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2329, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2441,7 +2539,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2453,19 +2550,72 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2349, /* Collection[nullable MType] */
--1, /* empty */
--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__Array__nullable__core__Match = {
+0, /* dummy */
+{
+&type_nullable__core__Match, /* E: nullable Match */
+&type_core__Array__nullable__core__Match, /* Array[E]: Array[nullable Match] */
+&type_core__Collection__nullable__core__Match, /* Collection[E]: Collection[nullable Match] */
+&type_core__Array__nullable__core__Match, /* Array[E]: Array[nullable Match] */
+&type_core__AbstractArray__nullable__core__Match, /* AbstractArray[E]: AbstractArray[nullable Match] */
+&type_core__NativeArray__nullable__core__Match, /* NativeArray[E]: NativeArray[nullable Match] */
+&type_nullable__core__Match, /* E: nullable Match */
+&type_core__Collection__nullable__core__Match, /* Collection[E]: Collection[nullable Match] */
+&type_nullable__core__Match, /* E: nullable Match */
+&type_core__Collection__nullable__core__Match, /* Collection[E]: Collection[nullable Match] */
+&type_core__Collection__nullable__core__Match, /* Collection[E]: Collection[nullable Match] */
+&type_core__Array__nullable__core__Match, /* Array[E]: Array[nullable Match] */
+&type_core__AbstractArray__nullable__core__Match, /* AbstractArray[E]: AbstractArray[nullable Match] */
+&type_core__array__ArrayIterator__nullable__core__Match, /* ArrayIterator[E]: ArrayIterator[nullable Match] */
+&type_core__array__ArrayReverseIterator__nullable__core__Match, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable Match] */
+}
+};
+/* runtime type RopeCharIteratorPiece */
+const struct type type_core__ropes__RopeCharIteratorPiece = {
+-1, /*CAST DEAD*/
+"RopeCharIteratorPiece", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type LiteralVisitor */
+const struct type type_nitc__literal__LiteralVisitor = {
+-1, /*CAST DEAD*/
+"LiteralVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type HashMap[MClass, MClassType] */
+const struct type type_core__HashMap__nitc__MClass__nitc__MClassType = {
+158,
+"HashMap[MClass, MClassType]", /* class_name_string */
+34,
+0,
+&resolution_table_core__HashMap__nitc__MClass__nitc__MClassType,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2497,6 +2647,7 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+158, /* HashMap[MClass, MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2525,11 +2676,11 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2544,25 +2695,80 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* AbstractArrayRead[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__nitc__MClassType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__nitc__MClassType, /* HashMapIterator[K, V]: HashMapIterator[MClass, MClassType] */
+&type_nitc__MClass, /* K: MClass */
+&type_nitc__MClassType, /* V: MClassType */
+&type_core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType, /* HashMapNode[K, V]: HashMapNode[MClass, MClassType] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__MClassType, /* HashMapKeys[K, V]: HashMapKeys[MClass, MClassType] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__nitc__MClassType, /* HashMapValues[K, V]: HashMapValues[MClass, MClassType] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType, /* nullable N: nullable HashMapNode[MClass, MClassType] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType, /* N: HashMapNode[MClass, MClassType] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, MClassType]] */
+}
+};
+/* runtime type ArrayMap[MClass, AType] */
+const struct type type_core__ArrayMap__nitc__MClass__nitc__AType = {
+159,
+"ArrayMap[MClass, AType]", /* class_name_string */
+10,
+0,
+&resolution_table_core__ArrayMap__nitc__MClass__nitc__AType,
+12,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2449, /* AbstractArrayRead[MType] */
 -1, /* empty */
+159, /* ArrayMap[MClass, AType] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__ArrayMap__nitc__MClass__nitc__AType = {
+0, /* dummy */
+{
+&type_core__Array__core__Couple__nitc__MClass__nitc__AType, /* Array[Couple[K, E]]: Array[Couple[MClass, AType]] */
+&type_nitc__MClass, /* K: MClass */
+&type_nitc__AType, /* E: AType */
+&type_core__Couple__nitc__MClass__nitc__AType, /* Couple[K, E]: Couple[MClass, AType] */
+&type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType, /* ArrayMapKeys[K, E]: ArrayMapKeys[MClass, AType] */
+&type_core__array__ArrayMapValues__nitc__MClass__nitc__AType, /* ArrayMapValues[K, E]: ArrayMapValues[MClass, AType] */
+&type_core__abstract_collection__CoupleMapIterator__nitc__MClass__nitc__AType, /* CoupleMapIterator[K, V]: CoupleMapIterator[MClass, AType] */
+}
+};
+/* runtime type ANodes[AExternCodeBlock] */
+const struct type type_nitc__ANodes__nitc__AExternCodeBlock = {
+-1, /*CAST DEAD*/
+"ANodes[AExternCodeBlock]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_nitc__ANodes__nitc__AExternCodeBlock,
+132,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2574,7 +2780,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2469, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2593,12 +2798,14 @@ const struct type type_standard__Array__nit__MClassType = {
 -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 */
@@ -2617,6 +2824,8 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2459, /* Collection[AExternCodeBlock] */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2665,9 +2874,9 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2663, /* AbstractArray[MClassType] */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2675,7 +2884,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2673, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2683,9 +2891,104 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__ANodes__nitc__AExternCodeBlock = {
+0, /* dummy */
+{
+&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
+&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
+&type_nitc__AExternCodeBlock, /* E: AExternCodeBlock */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__AExternCodeBlock, /* E: AExternCodeBlock */
+&type_core__Collection__nitc__AExternCodeBlock, /* Collection[E]: Collection[AExternCodeBlock] */
+&type_core__Collection__nitc__AExternCodeBlock, /* Collection[E]: Collection[AExternCodeBlock] */
+}
+};
+/* runtime type ForeignCType */
+const struct type type_nitc__ForeignCType = {
+-1, /*CAST DEAD*/
+"ForeignCType", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type MClassKind */
+const struct type type_nitc__MClassKind = {
+-1, /*CAST DEAD*/
+"MClassKind", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type ForeignType */
+const struct type type_nitc__ForeignType = {
+-1, /*CAST DEAD*/
+"ForeignType", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type TransformVisitor */
+const struct type type_nitc__transform__TransformVisitor = {
+-1, /*CAST DEAD*/
+"TransformVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type ASTValidationVisitor */
+const struct type type_nitc__ASTValidationVisitor = {
+-1, /*CAST DEAD*/
+"ASTValidationVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type CircularArray[ANode] */
+const struct type type_core__CircularArray__nitc__ANode = {
+166,
+"CircularArray[ANode]", /* class_name_string */
+2,
+0,
+&resolution_table_core__CircularArray__nitc__ANode,
+132,
+{
+2371, /* Object */
+2397, /* nullable Object */
+166, /* CircularArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2695,7 +2998,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2693, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2720,6 +3022,7 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2746,6 +3049,7 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2772,21 +3076,16 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-93, /* Array[MClassType] */
 -1, /* empty */
 -1, /* empty */
-170, /* Array[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-992, /* Array[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2801,6 +3100,7 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2816,7 +3116,38 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__CircularArray__nitc__ANode = {
+0, /* dummy */
+{
+&type_core__NativeArray__nitc__ANode, /* NativeArray[E]: NativeArray[ANode] */
+&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
+&type_nitc__ANode, /* E: ANode */
+&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
+&type_core__circular_array__CircularArrayIterator__nitc__ANode, /* CircularArrayIterator[E]: CircularArrayIterator[ANode] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__ANode, /* E: ANode */
+&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
+&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
+}
+};
+/* runtime type HashSet[ANode] */
+const struct type type_core__HashSet__nitc__ANode = {
+167,
+"HashSet[ANode]", /* class_name_string */
+153,
+0,
+&resolution_table_core__HashSet__nitc__ANode,
+164,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2850,6 +3181,7 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2876,6 +3208,7 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2895,37 +3228,6 @@ const struct type type_standard__Array__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__MClassType = {
-0, /* dummy */
-{
-&type_nit__MClassType, /* E: MClassType */
-&type_standard__Array__nit__MClassType, /* Array[E]: Array[MClassType] */
-&type_standard__Collection__nit__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_standard__Array__nit__MClassType, /* Array[E]: Array[MClassType] */
-&type_standard__NativeArray__nit__MClassType, /* NativeArray[E]: NativeArray[MClassType] */
-&type_nit__MClassType, /* E: MClassType */
-&type_standard__Collection__nit__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_nit__MClassType, /* E: MClassType */
-&type_standard__Collection__nit__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_standard__Collection__nit__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_standard__Array__nit__MClassType, /* Array[E]: Array[MClassType] */
-&type_standard__AbstractArray__nit__MClassType, /* AbstractArray[E]: AbstractArray[MClassType] */
-&type_standard__array__ArrayIterator__nit__MClassType, /* ArrayIterator[E]: ArrayIterator[MClassType] */
-}
-};
-/* runtime type Array[MPropDef] */
-const struct type type_standard__Array__nit__MPropDef = {
-94,
-"Array[MPropDef]", /* class_name_string */
-378,
-0,
-&resolution_table_standard__Array__nit__MPropDef,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2944,7 +3246,6 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2321, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2958,12 +3259,10 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
-2339, /* Collection[PropertyLayoutElement] */
-2340, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2992,13 +3291,14 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2369, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+142, /* HashSet[Object] */
+167, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3009,6 +3309,37 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__ANode = {
+0, /* dummy */
+{
+&type_nitc__ANode, /* E: ANode */
+&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
+&type_core__hash_collection__HashSetNode__nitc__ANode, /* HashSetNode[E]: HashSetNode[ANode] */
+&type_core__hash_collection__HashSetIterator__nitc__ANode, /* HashSetIterator[E]: HashSetIterator[ANode] */
+&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__ANode, /* nullable N: nullable HashSetNode[ANode] */
+&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
+&type_core__hash_collection__HashSetNode__nitc__ANode, /* N: HashSetNode[ANode] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__ANode, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[ANode]] */
+}
+};
+/* runtime type ANodes[AExpr] */
+const struct type type_nitc__ANodes__nitc__AExpr = {
+-1, /*CAST DEAD*/
+"ANodes[AExpr]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_nitc__ANodes__nitc__AExpr,
+132,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3043,17 +3374,19 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
+2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2445, /* Collection[AExpr] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3064,11 +3397,11 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* AbstractArrayRead[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3081,10 +3414,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2459, /* AbstractArrayRead[PropertyLayoutElement] */
-2460, /* AbstractArrayRead[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3114,7 +3444,6 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2490, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3123,6 +3452,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3138,7 +3468,103 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__ANodes__nitc__AExpr = {
+0, /* dummy */
+{
+&type_core__Array__nitc__AExpr, /* Array[E]: Array[AExpr] */
+&type_core__Array__nitc__AExpr, /* Array[E]: Array[AExpr] */
+&type_nitc__AExpr, /* E: AExpr */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__AExpr, /* E: AExpr */
+&type_core__Collection__nitc__AExpr, /* Collection[E]: Collection[AExpr] */
+&type_core__Collection__nitc__AExpr, /* Collection[E]: Collection[AExpr] */
+}
+};
+/* runtime type TextCollectorVisitor */
+const struct type type_nitc__parser_work__TextCollectorVisitor = {
+-1, /*CAST DEAD*/
+"TextCollectorVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type MParameterType */
+const struct type type_nitc__MParameterType = {
+170,
+"MParameterType", /* class_name_string */
+6,
+0,
+NULL, /*NO RESOLUTIONS*/
+7,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2370, /* MType */
+2377, /* nullable MType */
+2213, /* MFormalType */
+170, /* MParameterType */
+},
+};
+/* runtime type MNotNullType */
+const struct type type_nitc__MNotNullType = {
+171,
+"MNotNullType", /* class_name_string */
+5,
+0,
+NULL, /*NO RESOLUTIONS*/
+6,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2370, /* MType */
+2377, /* nullable MType */
+171, /* MNotNullType */
+},
+};
+/* runtime type MGenericType */
+const struct type type_nitc__MGenericType = {
+172,
+"MGenericType", /* class_name_string */
+6,
+0,
+NULL, /*NO RESOLUTIONS*/
+7,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2370, /* MType */
+2377, /* nullable MType */
+177, /* MClassType */
+172, /* MGenericType */
+},
+};
+/* runtime type Array[MType] */
+const struct type type_core__Array__nitc__MType = {
+173,
+"Array[MType]", /* class_name_string */
+392,
+0,
+&resolution_table_core__Array__nitc__MType,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3165,6 +3591,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3172,6 +3599,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3182,10 +3610,10 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2664, /* AbstractArray[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3202,10 +3630,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
-2683, /* AbstractArray[PropertyLayoutElement] */
-2684, /* AbstractArray[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3235,7 +3660,6 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2714, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3253,6 +3677,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3267,6 +3692,8 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3291,8 +3718,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
+2549, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3300,19 +3726,19 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
-94, /* Array[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-664, /* Array[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2569, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3335,7 +3761,6 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-658, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3361,7 +3786,6 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1380, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3382,6 +3806,7 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3414,43 +3839,12 @@ const struct type type_standard__Array__nit__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__MPropDef = {
-0, /* dummy */
-{
-&type_nit__MPropDef, /* E: MPropDef */
-&type_standard__Array__nit__MPropDef, /* Array[E]: Array[MPropDef] */
-&type_standard__Collection__nit__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_standard__Array__nit__MPropDef, /* Array[E]: Array[MPropDef] */
-&type_standard__NativeArray__nit__MPropDef, /* NativeArray[E]: NativeArray[MPropDef] */
-&type_nit__MPropDef, /* E: MPropDef */
-&type_standard__Collection__nit__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_nit__MPropDef, /* E: MPropDef */
-&type_standard__Collection__nit__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_standard__Collection__nit__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_standard__Array__nit__MPropDef, /* Array[E]: Array[MPropDef] */
-&type_standard__AbstractArray__nit__MPropDef, /* AbstractArray[E]: AbstractArray[MPropDef] */
-&type_standard__array__ArrayIterator__nit__MPropDef, /* ArrayIterator[E]: ArrayIterator[MPropDef] */
-}
-};
-/* runtime type HashMap[MProperty, APropdef] */
-const struct type type_standard__HashMap__nit__MProperty__nit__APropdef = {
-95,
-"HashMap[MProperty, APropdef]", /* class_name_string */
-24,
-0,
-&resolution_table_standard__HashMap__nit__MProperty__nit__APropdef,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2873, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3458,6 +3852,7 @@ const struct type type_standard__HashMap__nit__MProperty__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3467,8 +3862,8 @@ const struct type type_standard__HashMap__nit__MProperty__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-95, /* HashMap[MProperty, APropdef] */
 -1, /* empty */
+2892, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3526,72 +3921,6 @@ const struct type type_standard__HashMap__nit__MProperty__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MProperty__nit__APropdef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MProperty__nit__APropdef, /* HashMapIterator[K, V]: HashMapIterator[MProperty, APropdef] */
-&type_nit__MProperty, /* K: MProperty */
-&type_nit__APropdef, /* V: APropdef */
-&type_standard__hash_collection__HashMapNode__nit__MProperty__nit__APropdef, /* HashMapNode[K, V]: HashMapNode[MProperty, APropdef] */
-&type_standard__hash_collection__HashMapKeys__nit__MProperty__nit__APropdef, /* HashMapKeys[K, V]: HashMapKeys[MProperty, APropdef] */
-&type_standard__hash_collection__HashMapValues__nit__MProperty__nit__APropdef, /* HashMapValues[K, V]: HashMapValues[MProperty, APropdef] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MProperty__nit__APropdef, /* nullable N: nullable HashMapNode[MProperty, APropdef] */
-&type_standard__hash_collection__HashMapNode__nit__MProperty__nit__APropdef, /* N: HashMapNode[MProperty, APropdef] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MProperty__nit__APropdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MProperty, APropdef]] */
-}
-};
-/* runtime type MMethodDef */
-const struct type type_nit__MMethodDef = {
-96,
-"MMethodDef", /* class_name_string */
-7,
-0,
-&resolution_table_nit__MMethodDef,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2146, /* MEntity */
-2181, /* PropertyLayoutElement */
-2190, /* nullable PropertyLayoutElement */
-2178, /* MPropDef */
-2182, /* nullable MPropDef */
-96, /* MMethodDef */
-2645, /* nullable MMethodDef */
-},
-};
-const struct types resolution_table_nit__MMethodDef = {
-0, /* dummy */
-{
-&type_nit__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
-&type_nit__MMethod, /* MPROPERTY: MMethod */
-&type_nit__MMethodDef, /* MPROPDEF: MMethodDef */
-}
-};
-/* runtime type Concat */
-const struct type type_standard__ropes__Concat = {
-97,
-"Concat", /* class_name_string */
-8,
-0,
-&resolution_table_standard__ropes__Concat,
-125,
-{
-80, /* Object */
-2622, /* nullable Object */
-2621, /* Comparable */
-2007, /* Text */
-2161, /* Rope */
-2162, /* String */
-2171, /* nullable String */
-2163, /* RopeString */
-97, /* Concat */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3603,6 +3932,7 @@ const struct type type_standard__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3617,6 +3947,7 @@ const struct type type_standard__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3624,10 +3955,12 @@ const struct type type_standard__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+173, /* Array[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+730, /* Array[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3707,30 +4040,7 @@ const struct type type_standard__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2184, /* Writable */
-},
-};
-const struct types resolution_table_standard__ropes__Concat = {
-0, /* dummy */
-{
-&type_standard__Text, /* OTHER: Text */
-&type_standard__String, /* SELFTYPE: String */
-&type_standard__Array__standard__String, /* Array[SELFTYPE]: Array[String] */
-}
-};
-/* runtime type RopeChars */
-const struct type type_standard__ropes__RopeChars = {
--1, /*CAST DEAD*/
-"RopeChars", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__ropes__RopeChars,
-125,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
-2008, /* Collection[Char] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3763,7 +4073,40 @@ const struct type type_standard__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
+},
+};
+const struct types resolution_table_core__Array__nitc__MType = {
+0, /* dummy */
+{
+&type_nitc__MType, /* E: MType */
+&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
+&type_core__AbstractArray__nitc__MType, /* AbstractArray[E]: AbstractArray[MType] */
+&type_core__NativeArray__nitc__MType, /* NativeArray[E]: NativeArray[MType] */
+&type_nitc__MType, /* E: MType */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&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] */
+&type_core__AbstractArray__nitc__MType, /* AbstractArray[E]: AbstractArray[MType] */
+&type_core__array__ArrayIterator__nitc__MType, /* ArrayIterator[E]: ArrayIterator[MType] */
+&type_core__array__ArrayReverseIterator__nitc__MType, /* ArrayReverseIterator[E]: ArrayReverseIterator[MType] */
+}
+};
+/* runtime type HashMap[MModule, Set[MClassDef]] */
+const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef = {
+174,
+"HashMap[MModule, Set[MClassDef]]", /* class_name_string */
+35,
+0,
+&resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3796,6 +4139,7 @@ const struct type type_standard__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+174, /* HashMap[MModule, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3823,6 +4167,7 @@ const struct type type_standard__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3844,71 +4189,39 @@ const struct type type_standard__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 },
 };
-const struct types resolution_table_standard__ropes__RopeChars = {
+const struct types resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_standard__ropes__RopeString, /* SELFTYPE: RopeString */
-&type_standard__Array__standard__Char, /* Array[E]: Array[Char] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MModule__core__Set__nitc__MClassDef, /* HashMapIterator[K, V]: HashMapIterator[MModule, Set[MClassDef]] */
+&type_nitc__MModule, /* K: MModule */
+&type_core__Set__nitc__MClassDef, /* V: Set[MClassDef] */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassDef, /* HashMapNode[K, V]: HashMapNode[MModule, Set[MClassDef]] */
+&type_core__hash_collection__HashMapKeys__nitc__MModule__core__Set__nitc__MClassDef, /* HashMapKeys[K, V]: HashMapKeys[MModule, Set[MClassDef]] */
+&type_core__hash_collection__HashMapValues__nitc__MModule__core__Set__nitc__MClassDef, /* HashMapValues[K, V]: HashMapValues[MModule, Set[MClassDef]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassDef, /* nullable N: nullable HashMapNode[MModule, Set[MClassDef]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassDef, /* N: HashMapNode[MModule, Set[MClassDef]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassDef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MModule, Set[MClassDef]]] */
 }
 };
-/* runtime type FlatBufferIterator */
-const struct type type_standard__string__FlatBufferIterator = {
--1, /*CAST DEAD*/
-"FlatBufferIterator", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMap[MModule, Set[MClass]] */
+const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
+175,
+"HashMap[MModule, Set[MClass]]", /* class_name_string */
+36,
 0,
-&resolution_table_standard__string__FlatBufferIterator,
-5,
+&resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClass,
+85,
 {
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__string__FlatBufferIterator = {
-0, /* dummy */
-{
-&type_standard__Array__standard__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type MProject */
-const struct type type_nit__MProject = {
-100,
-"MProject", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
-2146, /* MEntity */
-100, /* MProject */
-},
-};
-/* runtime type POSet[MGroup] */
-const struct type type_poset__POSet__nit__MGroup = {
-101,
-"POSet[MGroup]", /* class_name_string */
-127,
-0,
-&resolution_table_poset__POSet__nit__MGroup,
-130,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3941,9 +4254,9 @@ const struct type type_poset__POSet__nit__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+175, /* HashMap[MModule, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3960,7 +4273,6 @@ const struct type type_poset__POSet__nit__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2354, /* Collection[MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3969,6 +4281,7 @@ const struct type type_poset__POSet__nit__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3989,8 +4302,39 @@ const struct type type_poset__POSet__nit__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2383, /* Collection[nullable MGroup] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MModule__core__Set__nitc__MClass, /* HashMapIterator[K, V]: HashMapIterator[MModule, Set[MClass]] */
+&type_nitc__MModule, /* K: MModule */
+&type_core__Set__nitc__MClass, /* V: Set[MClass] */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClass, /* HashMapNode[K, V]: HashMapNode[MModule, Set[MClass]] */
+&type_core__hash_collection__HashMapKeys__nitc__MModule__core__Set__nitc__MClass, /* HashMapKeys[K, V]: HashMapKeys[MModule, Set[MClass]] */
+&type_core__hash_collection__HashMapValues__nitc__MModule__core__Set__nitc__MClass, /* HashMapValues[K, V]: HashMapValues[MModule, Set[MClass]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClass, /* nullable N: nullable HashMapNode[MModule, Set[MClass]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClass, /* N: HashMapNode[MModule, Set[MClass]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MModule, Set[MClass]]] */
+}
+};
+/* runtime type HashMap[MModule, Set[MClassType]] */
+const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassType = {
+176,
+"HashMap[MModule, Set[MClassType]]", /* class_name_string */
+37,
+0,
+&resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassType,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4025,6 +4369,7 @@ const struct type type_poset__POSet__nit__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+176, /* HashMap[MModule, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4034,130 +4379,10 @@ const struct type type_poset__POSet__nit__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-101, /* POSet[MGroup] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_poset__POSet__nit__MGroup = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MGroup__poset__POSetElement__nit__MGroup, /* HashMap[E, POSetElement[E]]: HashMap[MGroup, POSetElement[MGroup]] */
-&type_standard__Array__nit__MGroup, /* Array[E]: Array[MGroup] */
-&type_nit__MGroup, /* E: MGroup */
-&type_poset__POSetElement__nit__MGroup, /* POSetElement[E]: POSetElement[MGroup] */
-&type_standard__Array__nit__MGroup, /* Array[E]: Array[MGroup] */
-&type_standard__Collection__nit__MGroup, /* Collection[E]: Collection[MGroup] */
-&type_nit__POSetConflictGraph__nit__MGroup, /* POSetConflictGraph[E]: POSetConflictGraph[MGroup] */
-&type_standard__Array__nit__MGroup, /* Array[COMPARED]: Array[MGroup] */
-}
-};
-/* runtime type MGroup */
-const struct type type_nit__MGroup = {
-102,
-"MGroup", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2146, /* MEntity */
-102, /* MGroup */
-2194, /* nullable MGroup */
-},
-};
-/* runtime type ModulePath */
-const struct type type_nit__ModulePath = {
-103,
-"ModulePath", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
-103, /* ModulePath */
-2193, /* nullable ModulePath */
-},
-};
-/* runtime type Message */
-const struct type type_nit__Message = {
-104,
-"Message", /* class_name_string */
-3,
-0,
-&resolution_table_nit__Message,
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
-2621, /* Comparable */
-104, /* Message */
-},
-};
-const struct types resolution_table_nit__Message = {
-0, /* dummy */
-{
-&type_nit__Message, /* OTHER: Message */
-}
-};
-/* runtime type FileReader */
-const struct type type_standard__FileReader = {
--1, /*CAST DEAD*/
-"FileReader", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-80, /* Object */
-2622, /* nullable Object */
-},
-};
-/* runtime type Lexer */
-const struct type type_nit__Lexer = {
--1, /*CAST DEAD*/
-"Lexer", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-80, /* Object */
-2622, /* nullable Object */
-},
-};
-/* runtime type SourceFile */
-const struct type type_nit__SourceFile = {
-107,
-"SourceFile", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-80, /* Object */
-2622, /* nullable Object */
-107, /* SourceFile */
-},
-};
-/* runtime type Array[Int] */
-const struct type type_standard__Array__standard__Int = {
-108,
-"Array[Int]", /* class_name_string */
-395,
-0,
-&resolution_table_standard__Array__standard__Int,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-2147, /* Collection[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4170,6 +4395,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4189,9 +4415,57 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MModule__core__Set__nitc__MClassType, /* HashMapIterator[K, V]: HashMapIterator[MModule, Set[MClassType]] */
+&type_nitc__MModule, /* K: MModule */
+&type_core__Set__nitc__MClassType, /* V: Set[MClassType] */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassType, /* HashMapNode[K, V]: HashMapNode[MModule, Set[MClassType]] */
+&type_core__hash_collection__HashMapKeys__nitc__MModule__core__Set__nitc__MClassType, /* HashMapKeys[K, V]: HashMapKeys[MModule, Set[MClassType]] */
+&type_core__hash_collection__HashMapValues__nitc__MModule__core__Set__nitc__MClassType, /* HashMapValues[K, V]: HashMapValues[MModule, Set[MClassType]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassType, /* nullable N: nullable HashMapNode[MModule, Set[MClassType]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassType, /* N: HashMapNode[MModule, Set[MClassType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Set__nitc__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MModule, Set[MClassType]]] */
+}
+};
+/* runtime type MClassType */
+const struct type type_nitc__MClassType = {
+177,
+"MClassType", /* class_name_string */
+5,
+0,
+NULL, /*NO RESOLUTIONS*/
+6,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2370, /* MType */
+2377, /* nullable MType */
+177, /* MClassType */
+},
+};
+/* runtime type HashSet[MClassDef] */
+const struct type type_core__HashSet__nitc__MClassDef = {
+178,
+"HashSet[MClassDef]", /* class_name_string */
+154,
+0,
+&resolution_table_core__HashSet__nitc__MClassDef,
+164,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4206,6 +4480,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2414, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4224,6 +4499,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4277,7 +4553,6 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4294,7 +4569,6 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2441, /* AbstractArrayRead[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4303,6 +4577,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4310,7 +4585,6 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4319,6 +4593,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2388, /* Set[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4340,7 +4615,9 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+142, /* HashSet[Object] */
 -1, /* empty */
+178, /* HashSet[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4350,6 +4627,50 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_nitc__MClassDef, /* E: MClassDef */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_core__hash_collection__HashSetNode__nitc__MClassDef, /* HashSetNode[E]: HashSetNode[MClassDef] */
+&type_core__hash_collection__HashSetIterator__nitc__MClassDef, /* HashSetIterator[E]: HashSetIterator[MClassDef] */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MClassDef, /* nullable N: nullable HashSetNode[MClassDef] */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+&type_core__hash_collection__HashSetNode__nitc__MClassDef, /* N: HashSetNode[MClassDef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MClassDef, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClassDef]] */
+}
+};
+/* runtime type RapidTypeVisitor */
+const struct type type_nitc__RapidTypeVisitor = {
+-1, /*CAST DEAD*/
+"RapidTypeVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type List[MClassType] */
+const struct type type_core__List__nitc__MClassType = {
+180,
+"List[MClassType]", /* class_name_string */
+132,
+0,
+&resolution_table_core__List__nitc__MClassType,
+136,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4367,6 +4688,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2416, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4375,6 +4697,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4382,6 +4705,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4392,6 +4716,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4415,7 +4740,6 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2665, /* AbstractArray[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4431,7 +4755,6 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4460,6 +4783,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4475,9 +4799,55 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
+180, /* List[MClassType] */
 -1, /* empty */
+207, /* List[MType] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__MClassType = {
+0, /* dummy */
+{
+&type_nitc__MClassType, /* E: MClassType */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_core__list__ListNode__nitc__MClassType, /* ListNode[E]: ListNode[MClassType] */
+&type_core__ListIterator__nitc__MClassType, /* ListIterator[E]: ListIterator[MClassType] */
+&type_core__list__ListReverseIterator__nitc__MClassType, /* ListReverseIterator[E]: ListReverseIterator[MClassType] */
+&type_nullable__core__list__ListNode__nitc__MClassType, /* nullable ListNode[E]: nullable ListNode[MClassType] */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__MClassType, /* E: MClassType */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+}
+};
+/* runtime type FileWriter */
+const struct type type_core__FileWriter = {
+-1, /*CAST DEAD*/
+"FileWriter", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type OrderedTree[Object] */
+const struct type type_ordered_tree__OrderedTree__core__Object = {
+182,
+"OrderedTree[Object]", /* class_name_string */
+2,
+0,
+&resolution_table_ordered_tree__OrderedTree__core__Object,
+130,
+{
+2371, /* Object */
+2397, /* nullable Object */
+182, /* OrderedTree[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4511,6 +4881,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4520,14 +4891,11 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2172, /* Array[Comparable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4548,7 +4916,6 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-108, /* Array[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4592,6 +4959,7 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4606,6 +4974,59 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2375, /* Writable */
+},
+};
+const struct types resolution_table_ordered_tree__OrderedTree__core__Object = {
+0, /* dummy */
+{
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__HashMap__core__Object__core__Array__core__Object, /* HashMap[E, Array[E]]: HashMap[Object, Array[Object]] */
+&type_core__HashMap__core__Object__nullable__core__Object, /* HashMap[E, nullable E]: HashMap[Object, nullable Object] */
+&type_nullable__core__Object, /* nullable E: nullable Object */
+&type_core__Object, /* E: Object */
+&type_ordered_tree__OrderedTreeIterator__core__Object, /* OrderedTreeIterator[E]: OrderedTreeIterator[Object] */
+}
+};
+/* runtime type CachedAlphaComparator */
+const struct type type_core__CachedAlphaComparator = {
+-1, /*CAST DEAD*/
+"CachedAlphaComparator", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__CachedAlphaComparator,
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+const struct types resolution_table_core__CachedAlphaComparator = {
+0, /* dummy */
+{
+&type_core__Object, /* COMPARED: Object */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Object, /* Array[COMPARED]: Array[Object] */
+}
+};
+/* runtime type HashMap[Object, String] */
+const struct type type_core__HashMap__core__Object__core__String = {
+184,
+"HashMap[Object, String]", /* class_name_string */
+38,
+0,
+&resolution_table_core__HashMap__core__Object__core__String,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4641,52 +5062,9 @@ const struct type type_standard__Array__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+184, /* HashMap[Object, String] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__standard__Int = {
-0, /* dummy */
-{
-&type_standard__Int, /* E: Int */
-&type_standard__Array__standard__Int, /* Array[E]: Array[Int] */
-&type_standard__Collection__standard__Int, /* Collection[E]: Collection[Int] */
-&type_standard__Array__standard__Int, /* Array[E]: Array[Int] */
-&type_standard__NativeArray__standard__Int, /* NativeArray[E]: NativeArray[Int] */
-&type_standard__Int, /* E: Int */
-&type_standard__Collection__standard__Int, /* Collection[E]: Collection[Int] */
-&type_standard__Int, /* E: Int */
-&type_standard__Collection__standard__Int, /* Collection[E]: Collection[Int] */
-&type_standard__Collection__standard__Int, /* Collection[E]: Collection[Int] */
-&type_standard__Array__standard__Int, /* Array[E]: Array[Int] */
-&type_standard__AbstractArray__standard__Int, /* AbstractArray[E]: AbstractArray[Int] */
-&type_standard__array__ArrayIterator__standard__Int, /* ArrayIterator[E]: ArrayIterator[Int] */
-}
-};
-/* runtime type Parser */
-const struct type type_nit__Parser = {
--1, /*CAST DEAD*/
-"Parser", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-80, /* Object */
-2622, /* nullable Object */
-},
-};
-/* runtime type Array[State] */
-const struct type type_standard__Array__nit__parser_work__State = {
-110,
-"Array[State]", /* class_name_string */
-396,
-0,
-&resolution_table_standard__Array__nit__parser_work__State,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4706,10 +5084,10 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2322, /* Collection[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4721,7 +5099,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4732,6 +5109,37 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__Object__core__String = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__Object__core__String, /* HashMapIterator[K, V]: HashMapIterator[Object, String] */
+&type_core__Object, /* K: Object */
+&type_core__String, /* V: String */
+&type_core__hash_collection__HashMapNode__core__Object__core__String, /* HashMapNode[K, V]: HashMapNode[Object, String] */
+&type_core__hash_collection__HashMapKeys__core__Object__core__String, /* HashMapKeys[K, V]: HashMapKeys[Object, String] */
+&type_core__hash_collection__HashMapValues__core__Object__core__String, /* HashMapValues[K, V]: HashMapValues[Object, String] */
+&type_nullable__core__hash_collection__HashMapNode__core__Object__core__String, /* nullable N: nullable HashMapNode[Object, String] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__Object__core__String, /* N: HashMapNode[Object, String] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__Object__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[Object, String]] */
+}
+};
+/* runtime type CsvDocument */
+const struct type type_csv__CsvDocument = {
+-1, /*CAST DEAD*/
+"CsvDocument", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+130,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4809,7 +5217,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4827,7 +5234,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2442, /* AbstractArrayRead[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4842,7 +5248,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4862,6 +5267,20 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2375, /* Writable */
+},
+};
+/* runtime type Array[Array[String]] */
+const struct type type_core__Array__core__Array__core__String = {
+186,
+"Array[Array[String]]", /* class_name_string */
+418,
+0,
+&resolution_table_core__Array__core__Array__core__String,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4889,12 +5308,14 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2426, /* Collection[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4948,7 +5369,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2666, /* AbstractArray[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4963,7 +5383,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4973,6 +5392,8 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2510, /* Collection[Array[Object]] */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4987,6 +5408,8 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5012,12 +5435,14 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2550, /* AbstractArrayRead[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5052,8 +5477,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5081,7 +5504,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-110, /* Array[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5099,6 +5521,8 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2636, /* AbstractArrayRead[Array[Object]] */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5137,12 +5561,14 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2874, /* AbstractArray[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5175,37 +5601,6 @@ const struct type type_standard__Array__nit__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__parser_work__State = {
-0, /* dummy */
-{
-&type_nit__parser_work__State, /* E: State */
-&type_standard__Array__nit__parser_work__State, /* Array[E]: Array[State] */
-&type_standard__Collection__nit__parser_work__State, /* Collection[E]: Collection[State] */
-&type_standard__Array__nit__parser_work__State, /* Array[E]: Array[State] */
-&type_standard__NativeArray__nit__parser_work__State, /* NativeArray[E]: NativeArray[State] */
-&type_nit__parser_work__State, /* E: State */
-&type_standard__Collection__nit__parser_work__State, /* Collection[E]: Collection[State] */
-&type_nit__parser_work__State, /* E: State */
-&type_standard__Collection__nit__parser_work__State, /* Collection[E]: Collection[State] */
-&type_standard__Collection__nit__parser_work__State, /* Collection[E]: Collection[State] */
-&type_standard__Array__nit__parser_work__State, /* Array[E]: Array[State] */
-&type_standard__AbstractArray__nit__parser_work__State, /* AbstractArray[E]: AbstractArray[State] */
-&type_standard__array__ArrayIterator__nit__parser_work__State, /* ArrayIterator[E]: ArrayIterator[State] */
-}
-};
-/* runtime type ANodes[AImport] */
-const struct type type_nit__ANodes__nit__AImport = {
--1, /*CAST DEAD*/
-"ANodes[AImport]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nit__ANodes__nit__AImport,
-125,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5230,7 +5625,6 @@ const struct type type_nit__ANodes__nit__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2327, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5240,7 +5634,6 @@ const struct type type_nit__ANodes__nit__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5254,11 +5647,12 @@ const struct type type_nit__ANodes__nit__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2960, /* AbstractArray[Array[Object]] */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2355, /* Collection[AImport] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5266,10 +5660,10 @@ const struct type type_nit__ANodes__nit__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5303,6 +5697,7 @@ const struct type type_nit__ANodes__nit__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+186, /* Array[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5328,35 +5723,6 @@ const struct type type_nit__ANodes__nit__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
-},
-};
-const struct types resolution_table_nit__ANodes__nit__AImport = {
-0, /* dummy */
-{
-&type_standard__Array__nit__AImport, /* Array[E]: Array[AImport] */
-&type_standard__Array__nit__AImport, /* Array[E]: Array[AImport] */
-&type_nit__AImport, /* E: AImport */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nit__AImport, /* E: AImport */
-&type_standard__Collection__nit__AImport, /* Collection[E]: Collection[AImport] */
-&type_standard__Collection__nit__AImport, /* Collection[E]: Collection[AImport] */
-}
-};
-/* runtime type ANodes[TId] */
-const struct type type_nit__ANodes__nit__TId = {
--1, /*CAST DEAD*/
-"ANodes[TId]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nit__ANodes__nit__TId,
-125,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5382,7 +5748,6 @@ const struct type type_nit__ANodes__nit__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2328, /* Collection[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5391,7 +5756,6 @@ const struct type type_nit__ANodes__nit__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5410,14 +5774,13 @@ const struct type type_nit__ANodes__nit__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2356, /* Collection[TId] */
 -1, /* empty */
+2012, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5426,144 +5789,82 @@ const struct type type_nit__ANodes__nit__TId = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 },
 };
-const struct types resolution_table_nit__ANodes__nit__TId = {
+const struct types resolution_table_core__Array__core__Array__core__String = {
 0, /* dummy */
 {
-&type_standard__Array__nit__TId, /* Array[E]: Array[TId] */
-&type_standard__Array__nit__TId, /* Array[E]: Array[TId] */
-&type_nit__TId, /* E: TId */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nit__TId, /* E: TId */
-&type_standard__Collection__nit__TId, /* Collection[E]: Collection[TId] */
-&type_standard__Collection__nit__TId, /* Collection[E]: Collection[TId] */
+&type_core__Array__core__String, /* E: Array[String] */
+&type_core__Array__core__Array__core__String, /* Array[E]: Array[Array[String]] */
+&type_core__Collection__core__Array__core__String, /* Collection[E]: Collection[Array[String]] */
+&type_core__Array__core__Array__core__String, /* Array[E]: Array[Array[String]] */
+&type_core__AbstractArray__core__Array__core__String, /* AbstractArray[E]: AbstractArray[Array[String]] */
+&type_core__NativeArray__core__Array__core__String, /* NativeArray[E]: NativeArray[Array[String]] */
+&type_core__Array__core__String, /* E: Array[String] */
+&type_core__Collection__core__Array__core__String, /* Collection[E]: Collection[Array[String]] */
+&type_core__Array__core__String, /* E: Array[String] */
+&type_core__Collection__core__Array__core__String, /* Collection[E]: Collection[Array[String]] */
+&type_core__Collection__core__Array__core__String, /* Collection[E]: Collection[Array[String]] */
+&type_core__Array__core__Array__core__String, /* Array[E]: Array[Array[String]] */
+&type_core__AbstractArray__core__Array__core__String, /* AbstractArray[E]: AbstractArray[Array[String]] */
+&type_core__array__ArrayIterator__core__Array__core__String, /* ArrayIterator[E]: ArrayIterator[Array[String]] */
+&type_core__array__ArrayReverseIterator__core__Array__core__String, /* ArrayReverseIterator[E]: ArrayReverseIterator[Array[String]] */
 }
 };
-/* runtime type MVisibility */
-const struct type type_nit__MVisibility = {
-113,
-"MVisibility", /* class_name_string */
-3,
+/* runtime type CsvFormat */
+const struct type type_csv__CsvFormat = {
+-1, /*CAST DEAD*/
+"CsvFormat", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_nit__MVisibility,
-4,
+NULL, /*NO RESOLUTIONS*/
+2,
 {
-80, /* Object */
-2622, /* nullable Object */
-2621, /* Comparable */
-113, /* MVisibility */
+2371, /* Object */
+2397, /* nullable Object */
 },
 };
-const struct types resolution_table_nit__MVisibility = {
-0, /* dummy */
+/* runtime type CodeWriter */
+const struct type type_nitc__CodeWriter = {
+188,
+"CodeWriter", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
-&type_nit__MVisibility, /* OTHER: MVisibility */
-}
+2371, /* Object */
+2397, /* nullable Object */
+188, /* CodeWriter */
+},
 };
-/* runtime type ANodes[AClassdef] */
-const struct type type_nit__ANodes__nit__AClassdef = {
--1, /*CAST DEAD*/
-"ANodes[AClassdef]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type List[String] */
+const struct type type_core__List__core__String = {
+189,
+"List[String]", /* class_name_string */
+133,
 0,
-&resolution_table_nit__ANodes__nit__AClassdef,
-125,
+&resolution_table_core__List__core__String,
+136,
 {
-80, /* Object */
-2622, /* 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 */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2402, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2327, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2332, /* Collection[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5582,14 +5883,15 @@ const struct type type_nit__ANodes__nit__AClassdef = {
 -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 */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5651,36 +5953,6 @@ const struct type type_nit__ANodes__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
-},
-};
-const struct types resolution_table_nit__ANodes__nit__AClassdef = {
-0, /* dummy */
-{
-&type_standard__Array__nit__AClassdef, /* Array[E]: Array[AClassdef] */
-&type_standard__Array__nit__AClassdef, /* Array[E]: Array[AClassdef] */
-&type_nit__AClassdef, /* E: AClassdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nit__AClassdef, /* E: AClassdef */
-&type_standard__Collection__nit__AClassdef, /* Collection[E]: Collection[AClassdef] */
-&type_standard__Collection__nit__AClassdef, /* Collection[E]: Collection[AClassdef] */
-}
-};
-/* runtime type ANodes[APropdef] */
-const struct type type_nit__ANodes__nit__APropdef = {
--1, /*CAST DEAD*/
-"ANodes[APropdef]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nit__ANodes__nit__APropdef,
-125,
-{
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5689,6 +5961,7 @@ const struct type type_nit__ANodes__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5704,22 +5977,42 @@ const struct type type_nit__ANodes__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2327, /* Collection[Prod] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2337, /* Collection[Object] */
--1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+189, /* List[String] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__core__String = {
+0, /* dummy */
+{
+&type_core__String, /* E: String */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__list__ListNode__core__String, /* ListNode[E]: ListNode[String] */
+&type_core__ListIterator__core__String, /* ListIterator[E]: ListIterator[String] */
+&type_core__list__ListReverseIterator__core__String, /* ListReverseIterator[E]: ListReverseIterator[String] */
+&type_nullable__core__list__ListNode__core__String, /* nullable ListNode[E]: nullable ListNode[String] */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__String, /* E: String */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+}
+};
+/* runtime type HashMap[String, Int] */
+const struct type type_core__HashMap__core__String__core__Int = {
+190,
+"HashMap[String, Int]", /* class_name_string */
+39,
+0,
+&resolution_table_core__HashMap__core__String__core__Int,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5734,13 +6027,11 @@ const struct type type_nit__ANodes__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2357, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5758,6 +6049,7 @@ const struct type type_nit__ANodes__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+190, /* HashMap[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5781,6 +6073,7 @@ const struct type type_nit__ANodes__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5802,77 +6095,67 @@ const struct type type_nit__ANodes__nit__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 },
 };
-const struct types resolution_table_nit__ANodes__nit__APropdef = {
+const struct types resolution_table_core__HashMap__core__String__core__Int = {
 0, /* dummy */
 {
-&type_standard__Array__nit__APropdef, /* Array[E]: Array[APropdef] */
-&type_standard__Array__nit__APropdef, /* Array[E]: Array[APropdef] */
-&type_nit__APropdef, /* E: APropdef */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__String__core__Int, /* HashMapIterator[K, V]: HashMapIterator[String, Int] */
+&type_core__String, /* K: String */
+&type_core__Int, /* V: Int */
+&type_core__hash_collection__HashMapNode__core__String__core__Int, /* HashMapNode[K, V]: HashMapNode[String, Int] */
+&type_core__hash_collection__HashMapKeys__core__String__core__Int, /* HashMapKeys[K, V]: HashMapKeys[String, Int] */
+&type_core__hash_collection__HashMapValues__core__String__core__Int, /* HashMapValues[K, V]: HashMapValues[String, Int] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__core__Int, /* nullable N: nullable HashMapNode[String, Int] */
 NULL, /* empty */
-&type_nit__APropdef, /* E: APropdef */
-&type_standard__Collection__nit__APropdef, /* Collection[E]: Collection[APropdef] */
-&type_standard__Collection__nit__APropdef, /* Collection[E]: Collection[APropdef] */
+&type_core__hash_collection__HashMapNode__core__String__core__Int, /* N: HashMapNode[String, Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Int]] */
 }
 };
-/* runtime type Location */
-const struct type type_nit__Location = {
-116,
-"Location", /* class_name_string */
-3,
+/* runtime type POSetColorer[MClass] */
+const struct type type_nitc__POSetColorer__nitc__MClass = {
+-1, /*CAST DEAD*/
+"POSetColorer[MClass]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_nit__Location,
-4,
+&resolution_table_nitc__POSetColorer__nitc__MClass,
+2,
 {
-80, /* Object */
-2622, /* nullable Object */
-2621, /* Comparable */
-116, /* Location */
+2371, /* Object */
+2397, /* nullable Object */
 },
 };
-const struct types resolution_table_nit__Location = {
+const struct types resolution_table_nitc__POSetColorer__nitc__MClass = {
 0, /* dummy */
 {
-&type_nit__Location, /* OTHER: Location */
+&type_core__HashMap__nitc__MClass__core__Int, /* HashMap[E, Int]: HashMap[MClass, Int] */
+&type_poset__POSet__nitc__MClass, /* POSet[E]: POSet[MClass] */
+&type_core__Map__nitc__MClass__core__Set__nitc__MClass, /* Map[E, Set[E]]: Map[MClass, Set[MClass]] */
+&type_nitc__POSetConflictGraph__nitc__MClass, /* POSetConflictGraph[E]: POSetConflictGraph[MClass] */
+&type_core__HashSet__nitc__MClass, /* HashSet[E]: HashSet[MClass] */
+&type_core__Set__nitc__MClass, /* Set[E]: Set[MClass] */
+&type_nitc__MClass, /* E: MClass */
+&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
 }
 };
-/* runtime type MClass */
-const struct type type_nit__MClass = {
-117,
-"MClass", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2146, /* MEntity */
-117, /* MClass */
-2183, /* nullable MClass */
-},
-};
-/* runtime type Array[MParameterType] */
-const struct type type_standard__Array__nit__MParameterType = {
-118,
-"Array[MParameterType]", /* class_name_string */
-397,
+/* runtime type HashMap[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+192,
+"HashMap[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+40,
 0,
-&resolution_table_standard__Array__nit__MParameterType,
-490,
+&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+85,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
+2841, /* Map[MClass, Set[MVirtualTypeProp]] */
+2976, /* Map[MClass, Collection[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5888,13 +6171,12 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2323, /* Collection[MParameterType] */
 -1, /* empty */
 -1, /* empty */
+103, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2329, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5902,19 +6184,19 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+192, /* HashMap[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
+234, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2349, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5931,6 +6213,7 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5952,6 +6235,38 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MVirtualTypeProp]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Set__nitc__MVirtualTypeProp, /* V: Set[MVirtualTypeProp] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MVirtualTypeProp]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MVirtualTypeProp]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* nullable N: nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* N: HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
+}
+};
+/* runtime type HashSet[MVirtualTypeProp] */
+const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
+193,
+"HashSet[MVirtualTypeProp]", /* class_name_string */
+155,
+0,
+&resolution_table_core__HashSet__nitc__MVirtualTypeProp,
+164,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5962,6 +6277,7 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5984,13 +6300,14 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
+2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6009,21 +6326,20 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2443, /* AbstractArrayRead[MParameterType] */
 -1, /* empty */
 -1, /* empty */
+2461, /* Collection[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2449, /* AbstractArrayRead[MType] */
 -1, /* empty */
+2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6035,7 +6351,6 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2469, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6063,12 +6378,14 @@ const struct type type_standard__Array__nit__MParameterType = {
 -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 */
@@ -6076,9 +6393,12 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2387, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2392, /* Set[MVirtualTypeProp] */
+2393, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6096,14 +6416,138 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
+193, /* HashSet[MVirtualTypeProp] */
 -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__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_nitc__MVirtualTypeProp, /* E: MVirtualTypeProp */
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[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] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+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__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 = {
+-1, /*CAST DEAD*/
+"POSetBucketsColorer[MClass, MVirtualTypeProp]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_nitc__POSetBucketsColorer__nitc__MClass__nitc__MVirtualTypeProp,
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+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 = {
+-1, /*CAST DEAD*/
+"FileStat", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type FileReader */
+const struct type type_core__FileReader = {
+-1, /*CAST DEAD*/
+"FileReader", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type MDoc */
+const struct type type_nitc__MDoc = {
+-1, /*CAST DEAD*/
+"MDoc", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type Lexer */
+const struct type type_nitc__Lexer = {
+-1, /*CAST DEAD*/
+"Lexer", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type Parser */
+const struct type type_nitc__Parser = {
+-1, /*CAST DEAD*/
+"Parser", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type Array[State] */
+const struct type type_core__Array__nitc__parser_work__State = {
+200,
+"Array[State]", /* class_name_string */
+419,
+0,
+&resolution_table_core__Array__nitc__parser_work__State,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6130,21 +6574,20 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2667, /* AbstractArray[MParameterType] */
 -1, /* empty */
 -1, /* empty */
+2427, /* Collection[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2673, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6156,7 +6599,6 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2693, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6218,6 +6660,7 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6232,9 +6675,9 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6242,12 +6685,10 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-170, /* Array[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-992, /* Array[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6262,12 +6703,13 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2551, /* AbstractArrayRead[State] */
 -1, /* empty */
-118, /* Array[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6347,6 +6789,7 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6356,38 +6799,6 @@ const struct type type_standard__Array__nit__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__MParameterType = {
-0, /* dummy */
-{
-&type_nit__MParameterType, /* E: MParameterType */
-&type_standard__Array__nit__MParameterType, /* Array[E]: Array[MParameterType] */
-&type_standard__Collection__nit__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_standard__Array__nit__MParameterType, /* Array[E]: Array[MParameterType] */
-&type_standard__NativeArray__nit__MParameterType, /* NativeArray[E]: NativeArray[MParameterType] */
-&type_nit__MParameterType, /* E: MParameterType */
-&type_standard__Collection__nit__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_nit__MParameterType, /* E: MParameterType */
-&type_standard__Collection__nit__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_standard__Collection__nit__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_standard__Array__nit__MParameterType, /* Array[E]: Array[MParameterType] */
-&type_standard__AbstractArray__nit__MParameterType, /* AbstractArray[E]: AbstractArray[MParameterType] */
-&type_standard__array__ArrayIterator__nit__MParameterType, /* ArrayIterator[E]: ArrayIterator[MParameterType] */
-}
-};
-/* runtime type HashMap[Array[MType], MGenericType] */
-const struct type type_standard__HashMap__standard__Array__nit__MType__nit__MGenericType = {
-119,
-"HashMap[Array[MType], MGenericType]", /* class_name_string */
-25,
-0,
-&resolution_table_standard__HashMap__standard__Array__nit__MType__nit__MGenericType,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6410,7 +6821,6 @@ const struct type type_standard__HashMap__standard__Array__nit__MType__nit__MGen
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-119, /* HashMap[Array[MType], MGenericType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6419,11 +6829,13 @@ const struct type type_standard__HashMap__standard__Array__nit__MType__nit__MGen
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2875, /* AbstractArray[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6468,51 +6880,6 @@ const struct type type_standard__HashMap__standard__Array__nit__MType__nit__MGen
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__standard__Array__nit__MType__nit__MGenericType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__standard__Array__nit__MType__nit__MGenericType, /* HashMapIterator[K, V]: HashMapIterator[Array[MType], MGenericType] */
-&type_standard__Array__nit__MType, /* K: Array[MType] */
-&type_nit__MGenericType, /* V: MGenericType */
-&type_standard__hash_collection__HashMapNode__standard__Array__nit__MType__nit__MGenericType, /* HashMapNode[K, V]: HashMapNode[Array[MType], MGenericType] */
-&type_standard__hash_collection__HashMapKeys__standard__Array__nit__MType__nit__MGenericType, /* HashMapKeys[K, V]: HashMapKeys[Array[MType], MGenericType] */
-&type_standard__hash_collection__HashMapValues__standard__Array__nit__MType__nit__MGenericType, /* HashMapValues[K, V]: HashMapValues[Array[MType], MGenericType] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__standard__Array__nit__MType__nit__MGenericType, /* nullable N: nullable HashMapNode[Array[MType], MGenericType] */
-&type_standard__hash_collection__HashMapNode__standard__Array__nit__MType__nit__MGenericType, /* N: HashMapNode[Array[MType], MGenericType] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__standard__Array__nit__MType__nit__MGenericType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[Array[MType], MGenericType]] */
-}
-};
-/* runtime type RapidTypeAnalysis */
-const struct type type_nit__RapidTypeAnalysis = {
--1, /*CAST DEAD*/
-"RapidTypeAnalysis", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-80, /* Object */
-2622, /* nullable Object */
-},
-};
-/* runtime type HashSet[MClassType] */
-const struct type type_standard__HashSet__nit__MClassType = {
-121,
-"HashSet[MClassType]", /* class_name_string */
-142,
-0,
-&resolution_table_standard__HashSet__nit__MClassType,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6529,7 +6896,6 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2320, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6538,7 +6904,6 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2329, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6546,11 +6911,11 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6558,7 +6923,6 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2349, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6566,6 +6930,7 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6600,6 +6965,7 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+200, /* Array[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6637,27 +7003,22 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2199, /* Set[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2204, /* Set[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-123, /* HashSet[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-121, /* HashSet[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6669,38 +7030,6 @@ const struct type type_standard__HashSet__nit__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__nit__MClassType = {
-0, /* dummy */
-{
-&type_nit__MClassType, /* E: MClassType */
-&type_standard__Array__nit__MClassType, /* Array[E]: Array[MClassType] */
-&type_standard__hash_collection__HashSetNode__nit__MClassType, /* HashSetNode[E]: HashSetNode[MClassType] */
-&type_standard__hash_collection__HashSetIterator__nit__MClassType, /* HashSetIterator[E]: HashSetIterator[MClassType] */
-&type_standard__Collection__nit__MClassType, /* Collection[E]: Collection[MClassType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__MClassType, /* nullable N: nullable HashSetNode[MClassType] */
-&type_standard__hash_collection__HashSetNode__nit__MClassType, /* N: HashSetNode[MClassType] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClassType]] */
-}
-};
-/* runtime type HashSet[MClass] */
-const struct type type_standard__HashSet__nit__MClass = {
-122,
-"HashSet[MClass]", /* class_name_string */
-143,
-0,
-&resolution_table_standard__HashSet__nit__MClass,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6710,7 +7039,6 @@ const struct type type_standard__HashSet__nit__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2313, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6728,17 +7056,48 @@ const struct type type_standard__HashSet__nit__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__parser_work__State = {
+0, /* dummy */
+{
+&type_nitc__parser_work__State, /* E: State */
+&type_core__Array__nitc__parser_work__State, /* Array[E]: 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__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 ANodes[AImport] */
+const struct type type_nitc__ANodes__nitc__AImport = {
+-1, /*CAST DEAD*/
+"ANodes[AImport]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_nitc__ANodes__nitc__AImport,
+132,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2341, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6764,12 +7123,14 @@ const struct type type_standard__HashSet__nit__MClass = {
 -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 */
@@ -6789,7 +7150,9 @@ const struct type type_standard__HashSet__nit__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
+2462, /* Collection[AImport] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6824,7 +7187,6 @@ const struct type type_standard__HashSet__nit__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2198, /* Set[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6839,13 +7201,12 @@ const struct type type_standard__HashSet__nit__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-122, /* HashSet[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6856,39 +7217,37 @@ const struct type type_standard__HashSet__nit__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__HashSet__nit__MClass = {
+const struct types resolution_table_nitc__ANodes__nitc__AImport = {
 0, /* dummy */
 {
-&type_nit__MClass, /* E: MClass */
-&type_standard__Array__nit__MClass, /* Array[E]: Array[MClass] */
-&type_standard__hash_collection__HashSetNode__nit__MClass, /* HashSetNode[E]: HashSetNode[MClass] */
-&type_standard__hash_collection__HashSetIterator__nit__MClass, /* HashSetIterator[E]: HashSetIterator[MClass] */
-&type_standard__Collection__nit__MClass, /* Collection[E]: Collection[MClass] */
+&type_core__Array__nitc__AImport, /* Array[E]: Array[AImport] */
+&type_core__Array__nitc__AImport, /* Array[E]: Array[AImport] */
+&type_nitc__AImport, /* E: AImport */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_standard__Collection__nit__MClass, /* Collection[E]: Collection[MClass] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__MClass, /* nullable N: nullable HashSetNode[MClass] */
-&type_standard__hash_collection__HashSetNode__nit__MClass, /* N: HashSetNode[MClass] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClass]] */
+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] */
 }
 };
-/* runtime type HashSet[MType] */
-const struct type type_standard__HashSet__nit__MType = {
-123,
-"HashSet[MType]", /* class_name_string */
-136,
+/* runtime type Array[AClassdef] */
+const struct type type_core__Array__nitc__AClassdef = {
+202,
+"Array[AClassdef]", /* class_name_string */
+420,
 0,
-&resolution_table_standard__HashSet__nit__MType,
-159,
+&resolution_table_core__Array__nitc__AClassdef,
+510,
 {
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6914,27 +7273,27 @@ const struct type type_standard__HashSet__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2329, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2428, /* Collection[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -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 */
 -1, /* empty */
-2349, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6950,6 +7309,7 @@ const struct type type_standard__HashSet__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7000,6 +7360,7 @@ const struct type type_standard__HashSet__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7014,15 +7375,15 @@ const struct type type_standard__HashSet__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2204, /* Set[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-123, /* HashSet[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7033,7 +7394,6 @@ const struct type type_standard__HashSet__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7044,42 +7404,12 @@ const struct type type_standard__HashSet__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2552, /* AbstractArrayRead[AClassdef] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__nit__MType = {
-0, /* dummy */
-{
-&type_nit__MType, /* E: MType */
-&type_standard__Array__nit__MType, /* Array[E]: Array[MType] */
-&type_standard__hash_collection__HashSetNode__nit__MType, /* HashSetNode[E]: HashSetNode[MType] */
-&type_standard__hash_collection__HashSetIterator__nit__MType, /* HashSetIterator[E]: HashSetIterator[MType] */
-&type_standard__Collection__nit__MType, /* Collection[E]: Collection[MType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__MType, /* Collection[E]: Collection[MType] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__MType, /* nullable N: nullable HashSetNode[MType] */
-&type_standard__hash_collection__HashSetNode__nit__MType, /* N: HashSetNode[MType] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MType, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MType]] */
-}
-};
-/* runtime type HashSet[MMethodDef] */
-const struct type type_standard__HashSet__nit__MMethodDef = {
-124,
-"HashSet[MMethodDef]", /* class_name_string */
-144,
-0,
-&resolution_table_standard__HashSet__nit__MMethodDef,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7087,6 +7417,7 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7094,7 +7425,6 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2321, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7108,12 +7438,10 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
-2339, /* Collection[PropertyLayoutElement] */
-2340, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7131,7 +7459,6 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2358, /* Collection[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7142,7 +7469,6 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2369, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7163,6 +7489,7 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7203,104 +7530,48 @@ const struct type type_standard__HashSet__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* Set[PropertyLayoutElement] */
+2876, /* AbstractArray[AClassdef] */
 -1, /* empty */
 -1, /* empty */
-2205, /* Set[MMethodDef] */
 -1, /* empty */
 -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 */
-124, /* HashSet[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-659, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__nit__MMethodDef = {
-0, /* dummy */
-{
-&type_nit__MMethodDef, /* E: MMethodDef */
-&type_standard__Array__nit__MMethodDef, /* Array[E]: Array[MMethodDef] */
-&type_standard__hash_collection__HashSetNode__nit__MMethodDef, /* HashSetNode[E]: HashSetNode[MMethodDef] */
-&type_standard__hash_collection__HashSetIterator__nit__MMethodDef, /* HashSetIterator[E]: HashSetIterator[MMethodDef] */
-&type_standard__Collection__nit__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__MMethodDef, /* nullable N: nullable HashSetNode[MMethodDef] */
-&type_standard__hash_collection__HashSetNode__nit__MMethodDef, /* N: HashSetNode[MMethodDef] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MMethodDef, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MMethodDef]] */
-}
-};
-/* runtime type HashSet[MMethod] */
-const struct type type_standard__HashSet__nit__MMethod = {
-125,
-"HashSet[MMethod]", /* class_name_string */
-145,
-0,
-&resolution_table_standard__HashSet__nit__MMethod,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2314, /* Collection[MProperty] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2324, /* Collection[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
-2339, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7330,7 +7601,6 @@ const struct type type_standard__HashSet__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2369, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7345,6 +7615,7 @@ const struct type type_standard__HashSet__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7359,6 +7630,7 @@ const struct type type_standard__HashSet__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7378,7 +7650,6 @@ const struct type type_standard__HashSet__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2417, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7386,17 +7657,16 @@ const struct type type_standard__HashSet__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2196, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+202, /* Array[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7405,58 +7675,7 @@ const struct type type_standard__HashSet__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
-125, /* HashSet[MMethod] */
--1, /* empty */
-133, /* HashSet[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-659, /* HashSet[PropertyLayoutElement] */
--1, /* empty */
-670, /* HashSet[MProperty] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__nit__MMethod = {
-0, /* dummy */
-{
-&type_nit__MMethod, /* E: MMethod */
-&type_standard__Array__nit__MMethod, /* Array[E]: Array[MMethod] */
-&type_standard__hash_collection__HashSetNode__nit__MMethod, /* HashSetNode[E]: HashSetNode[MMethod] */
-&type_standard__hash_collection__HashSetIterator__nit__MMethod, /* HashSetIterator[E]: HashSetIterator[MMethod] */
-&type_standard__Collection__nit__MMethod, /* Collection[E]: Collection[MMethod] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__MMethod, /* Collection[E]: Collection[MMethod] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__MMethod, /* nullable N: nullable HashSetNode[MMethod] */
-&type_standard__hash_collection__HashSetNode__nit__MMethod, /* N: HashSetNode[MMethod] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MMethod, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MMethod]] */
-}
-};
-/* runtime type HashSet[CallSite] */
-const struct type type_standard__HashSet__nit__CallSite = {
-126,
-"HashSet[CallSite]", /* class_name_string */
-146,
-0,
-&resolution_table_standard__HashSet__nit__CallSite,
-159,
-{
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7475,6 +7694,7 @@ const struct type type_standard__HashSet__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7485,8 +7705,6 @@ const struct type type_standard__HashSet__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2336, /* Collection[CallSite] */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7538,144 +7756,44 @@ const struct type type_standard__HashSet__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-126, /* HashSet[CallSite] */
-133, /* 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_standard__HashSet__nit__CallSite = {
+const struct types resolution_table_core__Array__nitc__AClassdef = {
 0, /* dummy */
 {
-&type_nit__CallSite, /* E: CallSite */
-&type_standard__Array__nit__CallSite, /* Array[E]: Array[CallSite] */
-&type_standard__hash_collection__HashSetNode__nit__CallSite, /* HashSetNode[E]: HashSetNode[CallSite] */
-&type_standard__hash_collection__HashSetIterator__nit__CallSite, /* HashSetIterator[E]: HashSetIterator[CallSite] */
-&type_standard__Collection__nit__CallSite, /* Collection[E]: Collection[CallSite] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__nit__CallSite, /* Collection[E]: Collection[CallSite] */
-&type_nullable__standard__hash_collection__HashSetNode__nit__CallSite, /* nullable N: nullable HashSetNode[CallSite] */
-&type_standard__hash_collection__HashSetNode__nit__CallSite, /* N: HashSetNode[CallSite] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__CallSite, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[CallSite]] */
+&type_nitc__AClassdef, /* E: AClassdef */
+&type_core__Array__nitc__AClassdef, /* Array[E]: 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__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 HashMap2[MType, MProperty, Set[MMethodDef]] */
-const struct type type_more_collections__HashMap2__nit__MType__nit__MProperty__standard__Set__nit__MMethodDef = {
+/* runtime type ANodes[AFormaldef] */
+const struct type type_nitc__ANodes__nitc__AFormaldef = {
 -1, /*CAST DEAD*/
-"HashMap2[MType, MProperty, Set[MMethodDef]]", /* class_name_string */
+"ANodes[AFormaldef]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_more_collections__HashMap2__nit__MType__nit__MProperty__standard__Set__nit__MMethodDef,
-3,
-{
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
-},
-};
-const struct types resolution_table_more_collections__HashMap2__nit__MType__nit__MProperty__standard__Set__nit__MMethodDef = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MType__standard__HashMap__nit__MProperty__standard__Set__nit__MMethodDef, /* HashMap[K1, HashMap[K2, V]]: HashMap[MType, HashMap[MProperty, Set[MMethodDef]]] */
-&type_nit__MType, /* K1: MType */
-&type_nit__MProperty, /* K2: MProperty */
-&type_standard__Set__nit__MMethodDef, /* V: Set[MMethodDef] */
-&type_standard__HashMap__nit__MProperty__standard__Set__nit__MMethodDef, /* HashMap[K2, V]: HashMap[MProperty, Set[MMethodDef]] */
-}
-};
-/* runtime type Array[MMethod] */
-const struct type type_standard__Array__nit__MMethod = {
-128,
-"Array[MMethod]", /* class_name_string */
-398,
-0,
-&resolution_table_standard__Array__nit__MMethod,
-490,
+&resolution_table_nitc__ANodes__nitc__AFormaldef,
+132,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2314, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7685,7 +7803,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2324, /* Collection[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7698,9 +7815,7 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
-2339, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7708,12 +7823,14 @@ const struct type type_standard__Array__nit__MMethod = {
 -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 */
@@ -7730,12 +7847,13 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2369, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
+2463, /* Collection[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7778,15 +7896,14 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2417, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7795,21 +7912,42 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2444, /* AbstractArrayRead[MMethod] */
--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_core__Array__nitc__AFormaldef, /* Array[E]: Array[AFormaldef] */
+&type_nitc__AFormaldef, /* E: AFormaldef */
+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] */
+}
+};
+/* runtime type Array[ASuperPropdef] */
+const struct type type_core__Array__nitc__ASuperPropdef = {
+204,
+"Array[ASuperPropdef]", /* class_name_string */
+421,
+0,
+&resolution_table_core__Array__nitc__ASuperPropdef,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7819,9 +7957,7 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2459, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7842,17 +7978,19 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2429, /* Collection[ASuperPropdef] */
 -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 */
-2490, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7866,10 +8004,12 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2455, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7900,7 +8040,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2538, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7916,18 +8055,17 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2657, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2668, /* AbstractArray[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7937,12 +8075,12 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
-2683, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7967,17 +8105,19 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2553, /* AbstractArrayRead[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2714, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7993,10 +8133,12 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2581, /* AbstractArrayRead[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8021,7 +8163,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2762, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8029,8 +8170,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8042,16 +8181,15 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-56, /* Array[MProperty] */
 -1, /* empty */
 -1, /* empty */
-1942, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8060,7 +8198,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-128, /* Array[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8073,7 +8210,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-658, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8095,16 +8231,18 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2877, /* AbstractArray[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
-1380, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8121,10 +8259,12 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2905, /* AbstractArray[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8152,38 +8292,6 @@ const struct type type_standard__Array__nit__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__MMethod = {
-0, /* dummy */
-{
-&type_nit__MMethod, /* E: MMethod */
-&type_standard__Array__nit__MMethod, /* Array[E]: Array[MMethod] */
-&type_standard__Collection__nit__MMethod, /* Collection[E]: Collection[MMethod] */
-&type_standard__Array__nit__MMethod, /* Array[E]: Array[MMethod] */
-&type_standard__NativeArray__nit__MMethod, /* NativeArray[E]: NativeArray[MMethod] */
-&type_nit__MMethod, /* E: MMethod */
-&type_standard__Collection__nit__MMethod, /* Collection[E]: Collection[MMethod] */
-&type_nit__MMethod, /* E: MMethod */
-&type_standard__Collection__nit__MMethod, /* Collection[E]: Collection[MMethod] */
-&type_standard__Collection__nit__MMethod, /* Collection[E]: Collection[MMethod] */
-&type_standard__Array__nit__MMethod, /* Array[E]: Array[MMethod] */
-&type_standard__AbstractArray__nit__MMethod, /* AbstractArray[E]: AbstractArray[MMethod] */
-&type_standard__array__ArrayIterator__nit__MMethod, /* ArrayIterator[E]: ArrayIterator[MMethod] */
-}
-};
-/* runtime type List[MMethodDef] */
-const struct type type_standard__List__nit__MMethodDef = {
-129,
-"List[MMethodDef]", /* class_name_string */
-2,
-0,
-&resolution_table_standard__List__nit__MMethodDef,
-131,
-{
-80, /* Object */
-2622, /* nullable Object */
-129, /* List[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8201,13 +8309,13 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2321, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8217,14 +8325,12 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
-2339, /* Collection[PropertyLayoutElement] */
-2340, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8238,7 +8344,6 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2358, /* Collection[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8249,7 +8354,6 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2369, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8263,6 +8367,7 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+204, /* Array[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8270,6 +8375,7 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8284,6 +8390,11 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1223, /* Array[APropdef] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8305,63 +8416,12 @@ const struct type type_standard__List__nit__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__List__nit__MMethodDef = {
-0, /* dummy */
-{
-&type_nit__MMethodDef, /* E: MMethodDef */
-&type_standard__Array__nit__MMethodDef, /* Array[E]: Array[MMethodDef] */
-&type_standard__list__ListNode__nit__MMethodDef, /* ListNode[E]: ListNode[MMethodDef] */
-&type_standard__ListIterator__nit__MMethodDef, /* ListIterator[E]: ListIterator[MMethodDef] */
-&type_nullable__standard__list__ListNode__nit__MMethodDef, /* nullable ListNode[E]: nullable ListNode[MMethodDef] */
-NULL, /* empty */
-NULL, /* empty */
-&type_nit__MMethodDef, /* E: MMethodDef */
-&type_standard__Collection__nit__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
-&type_standard__Collection__nit__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
-}
-};
-/* runtime type SeparateCompiler */
-const struct type type_nit__SeparateCompiler = {
-130,
-"SeparateCompiler", /* class_name_string */
-3,
-0,
-&resolution_table_nit__SeparateCompiler,
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
-2648, /* AbstractCompiler */
-130, /* SeparateCompiler */
-},
-};
-const struct types resolution_table_nit__SeparateCompiler = {
-0, /* dummy */
-{
-&type_nit__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
-}
-};
-/* runtime type HashMap[MClassDef, HashSet[MType]] */
-const struct type type_standard__HashMap__nit__MClassDef__standard__HashSet__nit__MType = {
-131,
-"HashMap[MClassDef, HashSet[MType]]", /* class_name_string */
-26,
-0,
-&resolution_table_standard__HashMap__nit__MClassDef__standard__HashSet__nit__MType,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8385,7 +8445,6 @@ const struct type type_standard__HashMap__nit__MClassDef__standard__HashSet__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-131, /* HashMap[MClassDef, HashSet[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8397,6 +8456,71 @@ const struct type type_standard__HashMap__nit__MClassDef__standard__HashSet__nit
 -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, /* Array[E]: 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__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 = {
+205,
+"MVirtualTypeDef", /* class_name_string */
+7,
+0,
+&resolution_table_nitc__MVirtualTypeDef,
+9,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2372, /* PropertyLayoutElement */
+2381, /* nullable PropertyLayoutElement */
+2368, /* MPropDef */
+2373, /* nullable MPropDef */
+205, /* MVirtualTypeDef */
+2985, /* 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 = {
+206,
+"POSet[MType]", /* class_name_string */
+133,
+0,
+&resolution_table_poset__POSet__nitc__MType,
+135,
+{
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8419,6 +8543,7 @@ const struct type type_standard__HashMap__nit__MClassDef__standard__HashSet__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8426,6 +8551,7 @@ const struct type type_standard__HashMap__nit__MClassDef__standard__HashSet__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8436,44 +8562,13 @@ const struct type type_standard__HashMap__nit__MClassDef__standard__HashSet__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MClassDef__standard__HashSet__nit__MType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClassDef__standard__HashSet__nit__MType, /* HashMapIterator[K, V]: HashMapIterator[MClassDef, HashSet[MType]] */
-&type_nit__MClassDef, /* K: MClassDef */
-&type_standard__HashSet__nit__MType, /* V: HashSet[MType] */
-&type_standard__hash_collection__HashMapNode__nit__MClassDef__standard__HashSet__nit__MType, /* HashMapNode[K, V]: HashMapNode[MClassDef, HashSet[MType]] */
-&type_standard__hash_collection__HashMapKeys__nit__MClassDef__standard__HashSet__nit__MType, /* HashMapKeys[K, V]: HashMapKeys[MClassDef, HashSet[MType]] */
-&type_standard__hash_collection__HashMapValues__nit__MClassDef__standard__HashSet__nit__MType, /* HashMapValues[K, V]: HashMapValues[MClassDef, HashSet[MType]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClassDef__standard__HashSet__nit__MType, /* nullable N: nullable HashMapNode[MClassDef, HashSet[MType]] */
-&type_standard__hash_collection__HashMapNode__nit__MClassDef__standard__HashSet__nit__MType, /* N: HashMapNode[MClassDef, HashSet[MType]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClassDef__standard__HashSet__nit__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
-}
-};
-/* runtime type HashMap[MClass, Int] */
-const struct type type_standard__HashMap__nit__MClass__standard__Int = {
-132,
-"HashMap[MClass, Int]", /* class_name_string */
-27,
-0,
-&resolution_table_standard__HashMap__nit__MClass__standard__Int,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8498,7 +8593,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-132, /* HashMap[MClass, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8535,6 +8629,7 @@ const struct type type_standard__HashMap__nit__MClass__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8553,39 +8648,34 @@ const struct type type_standard__HashMap__nit__MClass__standard__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+206, /* POSet[MType] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__HashMap__nit__MClass__standard__Int = {
+const struct types resolution_table_poset__POSet__nitc__MType = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClass__standard__Int, /* HashMapIterator[K, V]: HashMapIterator[MClass, Int] */
-&type_nit__MClass, /* K: MClass */
-&type_standard__Int, /* V: Int */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Int, /* HashMapNode[K, V]: HashMapNode[MClass, Int] */
-&type_standard__hash_collection__HashMapKeys__nit__MClass__standard__Int, /* HashMapKeys[K, V]: HashMapKeys[MClass, Int] */
-&type_standard__hash_collection__HashMapValues__nit__MClass__standard__Int, /* HashMapValues[K, V]: HashMapValues[MClass, Int] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Int, /* nullable N: nullable HashMapNode[MClass, Int] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Int, /* N: HashMapNode[MClass, Int] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Int]] */
+&type_core__HashMap__nitc__MType__poset__POSetElement__nitc__MType, /* HashMap[E, POSetElement[E]]: HashMap[MType, POSetElement[MType]] */
+&type_core__Array__nitc__MType, /* Array[E]: Array[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_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_nitc__POSetConflictGraph__nitc__MType, /* POSetConflictGraph[E]: POSetConflictGraph[MType] */
+&type_core__Array__nitc__MType, /* Array[COMPARED]: Array[MType] */
 }
 };
-/* runtime type HashSet[Object] */
-const struct type type_standard__HashSet__standard__Object = {
-133,
-"HashSet[Object]", /* class_name_string */
-147,
+/* runtime type List[MType] */
+const struct type type_core__List__nitc__MType = {
+207,
+"List[MType]", /* class_name_string */
+134,
 0,
-&resolution_table_standard__HashSet__standard__Object,
-159,
+&resolution_table_core__List__nitc__MType,
+136,
 {
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8612,6 +8702,7 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8619,7 +8710,7 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8630,6 +8721,7 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8696,6 +8788,7 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8711,10 +8804,69 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+207, /* List[MType] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__MType = {
+0, /* dummy */
+{
+&type_nitc__MType, /* E: MType */
+&type_core__Array__nitc__MType, /* Array[E]: Array[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 */
+&type_nitc__MType, /* E: MType */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+}
+};
+/* runtime type MMethod */
+const struct type type_nitc__MMethod = {
+208,
+"MMethod", /* class_name_string */
+7,
+0,
+&resolution_table_nitc__MMethod,
+9,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2372, /* PropertyLayoutElement */
+2381, /* nullable PropertyLayoutElement */
+2365, /* MProperty */
+2400, /* nullable MProperty */
+208, /* MMethod */
+2342, /* 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 = {
+209,
+"Array[MParameter]", /* class_name_string */
+422,
+0,
+&resolution_table_core__Array__nitc__MParameter,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8730,7 +8882,6 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8742,45 +8893,15 @@ const struct type type_standard__HashSet__standard__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashSet__standard__Object = {
-0, /* dummy */
-{
-&type_standard__Object, /* E: Object */
-&type_standard__Array__standard__Object, /* Array[E]: Array[Object] */
-&type_standard__hash_collection__HashSetNode__standard__Object, /* HashSetNode[E]: HashSetNode[Object] */
-&type_standard__hash_collection__HashSetIterator__standard__Object, /* HashSetIterator[E]: HashSetIterator[Object] */
-&type_standard__Collection__standard__Object, /* Collection[E]: Collection[Object] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__Collection__standard__Object, /* Collection[E]: Collection[Object] */
-&type_nullable__standard__hash_collection__HashSetNode__standard__Object, /* nullable N: nullable HashSetNode[Object] */
-&type_standard__hash_collection__HashSetNode__standard__Object, /* N: HashSetNode[Object] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__Object, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[Object]] */
-}
-};
-/* runtime type HashMap[MType, Array[nullable MType]] */
-const struct type type_standard__HashMap__nit__MType__standard__Array__nullable__nit__MType = {
-134,
-"HashMap[MType, Array[nullable MType]]", /* class_name_string */
-28,
-0,
-&resolution_table_standard__HashMap__nit__MType__standard__Array__nullable__nit__MType,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2430, /* Collection[MParameter] */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8799,7 +8920,6 @@ const struct type type_standard__HashMap__nit__MType__standard__Array__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-134, /* HashMap[MType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8854,43 +8974,12 @@ const struct type type_standard__HashMap__nit__MType__standard__Array__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MType__standard__Array__nullable__nit__MType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MType__standard__Array__nullable__nit__MType, /* HashMapIterator[K, V]: HashMapIterator[MType, Array[nullable MType]] */
-&type_nit__MType, /* K: MType */
-&type_standard__Array__nullable__nit__MType, /* V: Array[nullable MType] */
-&type_standard__hash_collection__HashMapNode__nit__MType__standard__Array__nullable__nit__MType, /* HashMapNode[K, V]: HashMapNode[MType, Array[nullable MType]] */
-&type_standard__hash_collection__HashMapKeys__nit__MType__standard__Array__nullable__nit__MType, /* HashMapKeys[K, V]: HashMapKeys[MType, Array[nullable MType]] */
-&type_standard__hash_collection__HashMapValues__nit__MType__standard__Array__nullable__nit__MType, /* HashMapValues[K, V]: HashMapValues[MType, Array[nullable MType]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MType__standard__Array__nullable__nit__MType, /* nullable N: nullable HashMapNode[MType, Array[nullable MType]] */
-&type_standard__hash_collection__HashMapNode__nit__MType__standard__Array__nullable__nit__MType, /* N: HashMapNode[MType, Array[nullable MType]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MType__standard__Array__nullable__nit__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-}
-};
-/* runtime type HashMap[MClassType, Array[nullable MType]] */
-const struct type type_standard__HashMap__nit__MClassType__standard__Array__nullable__nit__MType = {
-135,
-"HashMap[MClassType, Array[nullable MType]]", /* class_name_string */
-29,
-0,
-&resolution_table_standard__HashMap__nit__MClassType__standard__Array__nullable__nit__MType,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8905,14 +8994,14 @@ const struct type type_standard__HashMap__nit__MClassType__standard__Array__null
 -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 */
-134, /* HashMap[MType, Array[nullable MType]] */
-135, /* HashMap[MClassType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8936,8 +9025,10 @@ const struct type type_standard__HashMap__nit__MClassType__standard__Array__null
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2554, /* AbstractArrayRead[MParameter] */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8966,38 +9057,6 @@ const struct type type_standard__HashMap__nit__MClassType__standard__Array__null
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MClassType__standard__Array__nullable__nit__MType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClassType__standard__Array__nullable__nit__MType, /* HashMapIterator[K, V]: HashMapIterator[MClassType, Array[nullable MType]] */
-&type_nit__MClassType, /* K: MClassType */
-&type_standard__Array__nullable__nit__MType, /* V: Array[nullable MType] */
-&type_standard__hash_collection__HashMapNode__nit__MClassType__standard__Array__nullable__nit__MType, /* HashMapNode[K, V]: HashMapNode[MClassType, Array[nullable MType]] */
-&type_standard__hash_collection__HashMapKeys__nit__MClassType__standard__Array__nullable__nit__MType, /* HashMapKeys[K, V]: HashMapKeys[MClassType, Array[nullable MType]] */
-&type_standard__hash_collection__HashMapValues__nit__MClassType__standard__Array__nullable__nit__MType, /* HashMapValues[K, V]: HashMapValues[MClassType, Array[nullable MType]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClassType__standard__Array__nullable__nit__MType, /* nullable N: nullable HashMapNode[MClassType, Array[nullable MType]] */
-&type_standard__hash_collection__HashMapNode__nit__MClassType__standard__Array__nullable__nit__MType, /* N: HashMapNode[MClassType, Array[nullable MType]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClassType__standard__Array__nullable__nit__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
-}
-};
-/* runtime type HashMap[MClass, Array[nullable MPropDef]] */
-const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MPropDef = {
-136,
-"HashMap[MClass, Array[nullable MPropDef]]", /* class_name_string */
-30,
-0,
-&resolution_table_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MPropDef,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9025,7 +9084,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-136, /* HashMap[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9050,6 +9108,7 @@ const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9078,38 +9137,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MPropDef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClass__standard__Array__nullable__nit__MPropDef, /* HashMapIterator[K, V]: HashMapIterator[MClass, Array[nullable MPropDef]] */
-&type_nit__MClass, /* K: MClass */
-&type_standard__Array__nullable__nit__MPropDef, /* V: Array[nullable MPropDef] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MPropDef, /* HashMapNode[K, V]: HashMapNode[MClass, Array[nullable MPropDef]] */
-&type_standard__hash_collection__HashMapKeys__nit__MClass__standard__Array__nullable__nit__MPropDef, /* HashMapKeys[K, V]: HashMapKeys[MClass, Array[nullable MPropDef]] */
-&type_standard__hash_collection__HashMapValues__nit__MClass__standard__Array__nullable__nit__MPropDef, /* HashMapValues[K, V]: HashMapValues[MClass, Array[nullable MPropDef]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MPropDef, /* nullable N: nullable HashMapNode[MClass, Array[nullable MPropDef]] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MPropDef, /* N: HashMapNode[MClass, Array[nullable MPropDef]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MPropDef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
-}
-};
-/* runtime type HashMap[MClass, Array[nullable MProperty]] */
-const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MProperty = {
-137,
-"HashMap[MClass, Array[nullable MProperty]]", /* class_name_string */
-31,
-0,
-&resolution_table_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MProperty,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9124,8 +9151,10 @@ const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2878, /* AbstractArray[MParameter] */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9138,7 +9167,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-137, /* HashMap[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9190,38 +9218,6 @@ const struct type type_standard__HashMap__nit__MClass__standard__Array__nullable
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MClass__standard__Array__nullable__nit__MProperty = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClass__standard__Array__nullable__nit__MProperty, /* HashMapIterator[K, V]: HashMapIterator[MClass, Array[nullable MProperty]] */
-&type_nit__MClass, /* K: MClass */
-&type_standard__Array__nullable__nit__MProperty, /* V: Array[nullable MProperty] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MProperty, /* HashMapNode[K, V]: HashMapNode[MClass, Array[nullable MProperty]] */
-&type_standard__hash_collection__HashMapKeys__nit__MClass__standard__Array__nullable__nit__MProperty, /* HashMapKeys[K, V]: HashMapKeys[MClass, Array[nullable MProperty]] */
-&type_standard__hash_collection__HashMapValues__nit__MClass__standard__Array__nullable__nit__MProperty, /* HashMapValues[K, V]: HashMapValues[MClass, Array[nullable MProperty]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MProperty, /* nullable N: nullable HashMapNode[MClass, Array[nullable MProperty]] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MProperty, /* N: HashMapNode[MClass, Array[nullable MProperty]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Array__nullable__nit__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Array[nullable MProperty]]] */
-}
-};
-/* runtime type HashMap[String, String] */
-const struct type type_standard__HashMap__standard__String__standard__String = {
-138,
-"HashMap[String, String]", /* class_name_string */
-32,
-0,
-&resolution_table_standard__HashMap__standard__String__standard__String,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9238,6 +9234,7 @@ const struct type type_standard__HashMap__standard__String__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9251,13 +9248,12 @@ const struct type type_standard__HashMap__standard__String__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-138, /* HashMap[String, String] */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-181, /* HashMap[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9291,6 +9287,7 @@ const struct type type_standard__HashMap__standard__String__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+209, /* Array[MParameter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9302,37 +9299,6 @@ const struct type type_standard__HashMap__standard__String__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__standard__String__standard__String = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__standard__String__standard__String, /* HashMapIterator[K, V]: HashMapIterator[String, String] */
-&type_standard__String, /* K: String */
-&type_standard__String, /* V: String */
-&type_standard__hash_collection__HashMapNode__standard__String__standard__String, /* HashMapNode[K, V]: HashMapNode[String, String] */
-&type_standard__hash_collection__HashMapKeys__standard__String__standard__String, /* HashMapKeys[K, V]: HashMapKeys[String, String] */
-&type_standard__hash_collection__HashMapValues__standard__String__standard__String, /* HashMapValues[K, V]: HashMapValues[String, String] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__standard__String__standard__String, /* nullable N: nullable HashMapNode[String, String] */
-&type_standard__hash_collection__HashMapNode__standard__String__standard__String, /* N: HashMapNode[String, String] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__standard__String__standard__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, String]] */
-}
-};
-/* runtime type List[CodeFile] */
-const struct type type_standard__List__nit__CodeFile = {
-139,
-"List[CodeFile]", /* class_name_string */
-125,
-0,
-&resolution_table_standard__List__nit__CodeFile,
-131,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9367,7 +9333,6 @@ const struct type type_standard__List__nit__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9389,7 +9354,6 @@ const struct type type_standard__List__nit__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2359, /* Collection[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9411,6 +9375,74 @@ const struct type type_standard__List__nit__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MParameter = {
+0, /* dummy */
+{
+&type_nitc__MParameter, /* E: MParameter */
+&type_core__Array__nitc__MParameter, /* Array[E]: 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__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 MSignature */
+const struct type type_nitc__MSignature = {
+210,
+"MSignature", /* class_name_string */
+5,
+0,
+NULL, /*NO RESOLUTIONS*/
+6,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+2370, /* MType */
+2377, /* nullable MType */
+210, /* MSignature */
+},
+};
+/* runtime type MParameter */
+const struct type type_nitc__MParameter = {
+211,
+"MParameter", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2214, /* MEntity */
+211, /* MParameter */
+},
+};
+/* runtime type ArraySet[MProperty] */
+const struct type type_core__ArraySet__nitc__MProperty = {
+-1, /*CAST DEAD*/
+"ArraySet[MProperty]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__ArraySet__nitc__MProperty,
+141,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2204, /* Set[nullable Object] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9419,6 +9451,7 @@ const struct type type_standard__List__nit__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9441,7 +9474,9 @@ const struct type type_standard__List__nit__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
+2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9455,42 +9490,11 @@ const struct type type_standard__List__nit__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
-139, /* List[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__List__nit__CodeFile = {
-0, /* dummy */
-{
-&type_nit__CodeFile, /* E: CodeFile */
-&type_standard__Array__nit__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_standard__list__ListNode__nit__CodeFile, /* ListNode[E]: ListNode[CodeFile] */
-&type_standard__ListIterator__nit__CodeFile, /* ListIterator[E]: ListIterator[CodeFile] */
-&type_nullable__standard__list__ListNode__nit__CodeFile, /* nullable ListNode[E]: nullable ListNode[CodeFile] */
-NULL, /* empty */
-NULL, /* empty */
-&type_nit__CodeFile, /* E: CodeFile */
-&type_standard__Collection__nit__CodeFile, /* Collection[E]: Collection[CodeFile] */
-&type_standard__Collection__nit__CodeFile, /* Collection[E]: Collection[CodeFile] */
-}
-};
-/* runtime type HashMap[String, ANode] */
-const struct type type_standard__HashMap__standard__String__nit__ANode = {
-140,
-"HashMap[String, ANode]", /* class_name_string */
-33,
-0,
-&resolution_table_standard__HashMap__standard__String__nit__ANode,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9503,6 +9507,7 @@ const struct type type_standard__HashMap__standard__String__nit__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9521,7 +9526,6 @@ const struct type type_standard__HashMap__standard__String__nit__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-140, /* HashMap[String, ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9548,12 +9552,14 @@ const struct type type_standard__HashMap__standard__String__nit__ANode = {
 -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 */
@@ -9561,10 +9567,12 @@ const struct type type_standard__HashMap__standard__String__nit__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2387, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2393, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9573,39 +9581,61 @@ const struct type type_standard__HashMap__standard__String__nit__ANode = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__HashMap__standard__String__nit__ANode = {
+const struct types resolution_table_core__ArraySet__nitc__MProperty = {
 0, /* dummy */
 {
+&type_nitc__MProperty, /* E: MProperty */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__array__ArraySetIterator__nitc__MProperty, /* ArraySetIterator[E]: ArraySetIterator[MProperty] */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_standard__HashMapIterator__standard__String__nit__ANode, /* HashMapIterator[K, V]: HashMapIterator[String, ANode] */
-&type_standard__String, /* K: String */
-&type_nit__ANode, /* V: ANode */
-&type_standard__hash_collection__HashMapNode__standard__String__nit__ANode, /* HashMapNode[K, V]: HashMapNode[String, ANode] */
-&type_standard__hash_collection__HashMapKeys__standard__String__nit__ANode, /* HashMapKeys[K, V]: HashMapKeys[String, ANode] */
-&type_standard__hash_collection__HashMapValues__standard__String__nit__ANode, /* HashMapValues[K, V]: HashMapValues[String, ANode] */
 NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__standard__String__nit__ANode, /* nullable N: nullable HashMapNode[String, ANode] */
-&type_standard__hash_collection__HashMapNode__standard__String__nit__ANode, /* N: HashMapNode[String, ANode] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__standard__String__nit__ANode, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, ANode]] */
+NULL, /* empty */
+&type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
 }
 };
-/* runtime type ArraySet[String] */
-const struct type type_standard__ArraySet__standard__String = {
+/* runtime type ScopeVisitor */
+const struct type type_nitc__scope__ScopeVisitor = {
 -1, /*CAST DEAD*/
-"ArraySet[String]", /* class_name_string */
+"ScopeVisitor", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_standard__ArraySet__standard__String,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type Variable */
+const struct type type_nitc__Variable = {
+214,
+"Variable", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2371, /* Object */
+2397, /* nullable Object */
+214, /* Variable */
+},
+};
+/* runtime type List[Scope] */
+const struct type type_core__List__nitc__scope__Scope = {
+215,
+"List[Scope]", /* class_name_string */
+135,
+0,
+&resolution_table_core__List__nitc__scope__Scope,
 136,
 {
-80, /* Object */
-2622, /* nullable Object */
-2006, /* Set[nullable Object] */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
-2306, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9636,13 +9666,12 @@ const struct type type_standard__ArraySet__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-2343, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9671,6 +9700,7 @@ const struct type type_standard__ArraySet__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2464, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9717,6 +9747,7 @@ const struct type type_standard__ArraySet__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9732,24 +9763,54 @@ const struct type type_standard__ArraySet__standard__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+215, /* List[Scope] */
 },
 };
-const struct types resolution_table_standard__ArraySet__standard__String = {
+const struct types resolution_table_core__List__nitc__scope__Scope = {
 0, /* dummy */
 {
-&type_standard__String, /* E: String */
-&type_standard__Array__standard__String, /* Array[E]: Array[String] */
-&type_standard__array__ArraySetIterator__standard__String, /* ArraySetIterator[E]: ArraySetIterator[String] */
-&type_standard__Array__standard__String, /* Array[E]: Array[String] */
-NULL, /* empty */
-NULL, /* empty */
+&type_nitc__scope__Scope, /* E: Scope */
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[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_standard__Collection__standard__String, /* Collection[E]: Collection[String] */
+&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] */
 }
 };
+/* runtime type FlowVisitor */
+const struct type type_nitc__flow__FlowVisitor = {
+-1, /*CAST DEAD*/
+"FlowVisitor", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+NULL, /*NO RESOLUTIONS*/
+2,
+{
+2371, /* Object */
+2397, /* nullable Object */
+},
+};
+/* runtime type FlowContext */
+const struct type type_nitc__FlowContext = {
+217,
+"FlowContext", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2371, /* Object */
+2397, /* nullable Object */
+217, /* FlowContext */
+},
+};