Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__nith.types.3.c
index e117133..f59e759 100644 (file)
@@ -1,34 +1,16 @@
 #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,
+/* runtime type HashSet[MMethodDef] */
+const struct type type_core__HashSet__nitc__MMethodDef = {
+127,
+"HashSet[MMethodDef]", /* class_name_string */
+162,
 0,
-&resolution_table_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType,
-85,
+&resolution_table_core__HashSet__nitc__MMethodDef,
+175,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -47,6 +29,7 @@ const struct type type_core__HashMap__nitc__MClassType__core__Array__nullable__n
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2426, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -54,8 +37,6 @@ const struct type type_core__HashMap__nitc__MClassType__core__Array__nullable__n
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-143, /* HashMap[MType, Array[nullable MType]] */
-144, /* HashMap[MClassType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -64,7 +45,10 @@ const struct type type_core__HashMap__nitc__MClassType__core__Array__nullable__n
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
+2445, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -89,7 +73,6 @@ const struct type type_core__HashMap__nitc__MClassType__core__Array__nullable__n
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -109,40 +92,9 @@ const struct type type_core__HashMap__nitc__MClassType__core__Array__nullable__n
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2489, /* Collection[MMethodDef] */
 -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 */
@@ -153,6 +105,7 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -166,11 +119,11 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-145, /* HashMap[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -190,9 +143,11 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2398, /* Set[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2405, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -200,10 +155,10 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -215,50 +170,52 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+127, /* HashSet[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+235, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
+const struct types resolution_table_core__HashSet__nitc__MMethodDef = {
 0, /* dummy */
 {
+&type_nitc__MMethodDef, /* E: MMethodDef */
+&type_core__HashSet__nitc__MMethodDef, /* SELF: HashSet[MMethodDef] */
+&type_core__hash_collection__HashSetNode__nitc__MMethodDef, /* HashSetNode[E]: HashSetNode[MMethodDef] */
+&type_core__hash_collection__HashSetIterator__nitc__MMethodDef, /* HashSetIterator[E]: HashSetIterator[MMethodDef] */
+&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
+&type_core__HashSet__nitc__MMethodDef, /* HashSet[E]: HashSet[MMethodDef] */
+&type_core__Set__nitc__MMethodDef, /* Set[E]: Set[MMethodDef] */
+&type_core__HashSet__nitc__MMethodDef, /* HashSet[E]: HashSet[MMethodDef] */
 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]]] */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MMethodDef, /* nullable N: nullable HashSetNode[MMethodDef] */
+&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
+&type_core__Array__nitc__MMethodDef, /* Array[E]: Array[MMethodDef] */
+&type_core__hash_collection__HashSetNode__nitc__MMethodDef, /* N: HashSetNode[MMethodDef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MMethodDef, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MMethodDef]] */
 }
 };
-/* 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,
+/* runtime type HashSet[MMethod] */
+const struct type type_core__HashSet__nitc__MMethod = {
+128,
+"HashSet[MMethod]", /* class_name_string */
+163,
 0,
-&resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty,
-85,
+&resolution_table_core__HashSet__nitc__MMethod,
+175,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -269,6 +226,7 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -279,20 +237,22 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2429, /* Collection[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-146, /* HashMap[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -317,10 +277,10 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -339,38 +299,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Array__nullable__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__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 */
@@ -382,6 +310,7 @@ const struct type type_core__HashMap__core__String__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -395,18 +324,17 @@ const struct type type_core__HashMap__core__String__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-147, /* HashMap[String, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-184, /* HashMap[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -418,20 +346,23 @@ const struct type type_core__HashMap__core__String__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2396, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2405, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2849, /* Set[MMethod] */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -445,45 +376,51 @@ const struct type type_core__HashMap__core__String__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+128, /* HashSet[MMethod] */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+235, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
+246, /* HashSet[MProperty] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__core__String__core__String = {
+const struct types resolution_table_core__HashSet__nitc__MMethod = {
 0, /* dummy */
 {
+&type_nitc__MMethod, /* E: MMethod */
+&type_core__HashSet__nitc__MMethod, /* SELF: HashSet[MMethod] */
+&type_core__hash_collection__HashSetNode__nitc__MMethod, /* HashSetNode[E]: HashSetNode[MMethod] */
+&type_core__hash_collection__HashSetIterator__nitc__MMethod, /* HashSetIterator[E]: HashSetIterator[MMethod] */
+&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[MMethod] */
+&type_core__HashSet__nitc__MMethod, /* HashSet[E]: HashSet[MMethod] */
+&type_core__Set__nitc__MMethod, /* Set[E]: Set[MMethod] */
+&type_core__HashSet__nitc__MMethod, /* HashSet[E]: HashSet[MMethod] */
 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]] */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MMethod, /* nullable N: nullable HashSetNode[MMethod] */
+&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[MMethod] */
+&type_core__Array__nitc__MMethod, /* Array[E]: Array[MMethod] */
+&type_core__hash_collection__HashSetNode__nitc__MMethod, /* N: HashSetNode[MMethod] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MMethod, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MMethod]] */
 }
 };
-/* runtime type List[CodeFile] */
-const struct type type_core__List__nitc__CodeFile = {
-148,
-"List[CodeFile]", /* class_name_string */
+/* runtime type HashSet[CallSite] */
+const struct type type_core__HashSet__nitc__CallSite = {
 129,
+"HashSet[CallSite]", /* class_name_string */
+164,
 0,
-&resolution_table_core__List__nitc__CodeFile,
-136,
+&resolution_table_core__HashSet__nitc__CallSite,
+175,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -517,8 +454,9 @@ const struct type type_core__List__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2441, /* Collection[CallSite] */
+2442, /* Collection[Object] */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -542,7 +480,6 @@ const struct type type_core__List__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* Collection[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -578,6 +515,7 @@ const struct type type_core__List__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -596,7 +534,6 @@ const struct type type_core__List__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -611,43 +548,11 @@ const struct type type_core__List__nitc__CodeFile = {
 -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 */
@@ -659,6 +564,8 @@ const struct type type_core__HashMap__core__String__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2850, /* Set[CallSite] */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -675,20 +582,77 @@ const struct type type_core__HashMap__core__String__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+129, /* HashSet[CallSite] */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-149, /* HashMap[String, ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__CallSite = {
+0, /* dummy */
+{
+&type_nitc__CallSite, /* E: CallSite */
+&type_core__HashSet__nitc__CallSite, /* SELF: HashSet[CallSite] */
+&type_core__hash_collection__HashSetNode__nitc__CallSite, /* HashSetNode[E]: HashSetNode[CallSite] */
+&type_core__hash_collection__HashSetIterator__nitc__CallSite, /* HashSetIterator[E]: HashSetIterator[CallSite] */
+&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
+&type_core__HashSet__nitc__CallSite, /* HashSet[E]: HashSet[CallSite] */
+&type_core__Set__nitc__CallSite, /* Set[E]: Set[CallSite] */
+&type_core__HashSet__nitc__CallSite, /* HashSet[E]: HashSet[CallSite] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__CallSite, /* nullable N: nullable HashSetNode[CallSite] */
+&type_core__Collection__nitc__CallSite, /* Collection[E]: Collection[CallSite] */
+&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
+&type_core__hash_collection__HashSetNode__nitc__CallSite, /* N: HashSetNode[CallSite] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__CallSite, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[CallSite]] */
+}
+};
+/* runtime type HashMap2[MType, MProperty, Set[MMethodDef]] */
+const struct type type_more_collections__HashMap2__nitc__MType__nitc__MProperty__core__Set__nitc__MMethodDef = {
+130,
+"HashMap2[MType, MProperty, Set[MMethodDef]]", /* class_name_string */
+3,
+0,
+&resolution_table_more_collections__HashMap2__nitc__MType__nitc__MProperty__core__Set__nitc__MMethodDef,
+7,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
+130, /* HashMap2[MType, MProperty, Set[MMethodDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_more_collections__HashMap2__nitc__MType__nitc__MProperty__core__Set__nitc__MMethodDef = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MType__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* HashMap[K1, HashMap[K2, V]]: HashMap[MType, HashMap[MProperty, Set[MMethodDef]]] */
+&type_nitc__MType, /* K1: MType */
+&type_nitc__MProperty, /* K2: MProperty */
+&type_core__Set__nitc__MMethodDef, /* V: Set[MMethodDef] */
+&type_core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* HashMap[K2, V]: HashMap[MProperty, Set[MMethodDef]] */
+}
+};
+/* runtime type Array[MMethod] */
+const struct type type_core__Array__nitc__MMethod = {
+131,
+"Array[MMethod]", /* class_name_string */
+414,
+0,
+&resolution_table_core__Array__nitc__MMethod,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -700,6 +664,7 @@ const struct type type_core__HashMap__core__String__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -708,9 +673,9 @@ const struct type type_core__HashMap__core__String__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2429, /* Collection[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -723,48 +688,17 @@ const struct type type_core__HashMap__core__String__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -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 */
@@ -784,6 +718,7 @@ const struct type type_core__ArraySet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -795,13 +730,11 @@ const struct type type_core__ArraySet__core__String = {
 -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 */
@@ -815,6 +748,7 @@ const struct type type_core__ArraySet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -828,6 +762,7 @@ const struct type type_core__ArraySet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -845,6 +780,8 @@ const struct type type_core__ArraySet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -861,19 +798,20 @@ const struct type type_core__ArraySet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2549, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2556, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -898,37 +836,9 @@ const struct type type_core__ArraySet__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2587, /* AbstractArrayRead[MMethod] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__ArraySet__core__String = {
-0, /* dummy */
-{
-&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 */
-NULL, /* empty */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-}
-};
-/* runtime type Array[MNullableType] */
-const struct type type_core__Array__nitc__MNullableType = {
-151,
-"Array[MNullableType]", /* class_name_string */
-415,
-0,
-&resolution_table_core__Array__nitc__MNullableType,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -942,6 +852,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -952,20 +863,20 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2422, /* Collection[MNullableType] */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2625, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
+2627, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -974,7 +885,6 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1007,6 +917,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2864, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1017,6 +928,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2875, /* AbstractArray[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1029,7 +941,9 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
+2890, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1041,7 +955,6 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1056,10 +969,9 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2918, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1079,10 +991,8 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2546, /* AbstractArrayRead[MNullableType] */
 -1, /* empty */
 -1, /* empty */
-2549, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1090,9 +1000,9 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1102,11 +1012,11 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2569, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2963, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1125,6 +1035,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1136,8 +1047,10 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+62, /* Array[MProperty] */
 -1, /* empty */
 -1, /* empty */
+1259, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1152,6 +1065,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+131, /* Array[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1164,13 +1078,13 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+234, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1205,10 +1119,8 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2870, /* AbstractArray[MNullableType] */
 -1, /* empty */
 -1, /* empty */
-2873, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1216,7 +1128,6 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1227,13 +1138,13 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2892, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1929, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1250,6 +1161,41 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MMethod = {
+0, /* dummy */
+{
+&type_nitc__MMethod, /* E: MMethod */
+&type_core__Array__nitc__MMethod, /* SELF: Array[MMethod] */
+&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[MMethod] */
+&type_core__Array__nitc__MMethod, /* Array[E]: Array[MMethod] */
+&type_core__AbstractArray__nitc__MMethod, /* AbstractArray[E]: AbstractArray[MMethod] */
+&type_core__NativeArray__nitc__MMethod, /* NativeArray[E]: NativeArray[MMethod] */
+&type_nitc__MMethod, /* E: MMethod */
+&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[MMethod] */
+&type_nitc__MMethod, /* E: MMethod */
+&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[MMethod] */
+&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[MMethod] */
+&type_core__Array__nitc__MMethod, /* Array[E]: Array[MMethod] */
+&type_core__Array__nitc__MMethod, /* Array[E]: Array[MMethod] */
+&type_core__AbstractArray__nitc__MMethod, /* AbstractArray[E]: AbstractArray[MMethod] */
+&type_core__array__ArrayIterator__nitc__MMethod, /* ArrayIterator[E]: ArrayIterator[MMethod] */
+&type_core__array__ArrayReverseIterator__nitc__MMethod, /* ArrayReverseIterator[E]: ArrayReverseIterator[MMethod] */
+}
+};
+/* runtime type List[MMethodDef] */
+const struct type type_core__List__nitc__MMethodDef = {
+132,
+"List[MMethodDef]", /* class_name_string */
+2,
+0,
+&resolution_table_core__List__nitc__MMethodDef,
+135,
+{
+2380, /* Object */
+2401, /* nullable Object */
+132, /* List[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1268,6 +1214,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2426, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1283,7 +1230,10 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
+2445, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1296,7 +1246,6 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1311,7 +1260,6 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1319,18 +1267,17 @@ const struct type type_core__Array__nitc__MNullableType = {
 -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 */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2489, /* Collection[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1342,8 +1289,8 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-151, /* Array[MNullableType] */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1357,6 +1304,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1375,10 +1323,63 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__MMethodDef = {
+0, /* dummy */
+{
+&type_nitc__MMethodDef, /* E: MMethodDef */
+&type_core__list__ListNode__nitc__MMethodDef, /* ListNode[E]: ListNode[MMethodDef] */
+&type_core__ListIterator__nitc__MMethodDef, /* ListIterator[E]: ListIterator[MMethodDef] */
+&type_core__list__ListReverseIterator__nitc__MMethodDef, /* ListReverseIterator[E]: ListReverseIterator[MMethodDef] */
+&type_nullable__core__list__ListNode__nitc__MMethodDef, /* nullable ListNode[E]: nullable ListNode[MMethodDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__MMethodDef, /* E: MMethodDef */
+&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
+&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
+&type_core__Array__nitc__MMethodDef, /* Array[E]: Array[MMethodDef] */
+}
+};
+/* runtime type SeparateCompiler */
+const struct type type_nitc__SeparateCompiler = {
+133,
+"SeparateCompiler", /* class_name_string */
+3,
+0,
+&resolution_table_nitc__SeparateCompiler,
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+3079, /* AbstractCompiler */
+133, /* SeparateCompiler */
+},
+};
+const struct types resolution_table_nitc__SeparateCompiler = {
+0, /* dummy */
+{
+&type_nitc__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
+}
+};
+/* runtime type HashMap[MClassDef, HashSet[MType]] */
+const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MType = {
+134,
+"HashMap[MClassDef, HashSet[MType]]", /* class_name_string */
+122,
+0,
+&resolution_table_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1397,6 +1398,7 @@ const struct type type_core__Array__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3009, /* MapRead[MClassDef, HashSet[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1437,67 +1439,12 @@ const struct type type_core__Array__nitc__MNullableType = {
 -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_nitc__SeparateErasureCompiler = {
-0, /* dummy */
-{
-&type_nitc__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
-}
-};
-/* runtime type Array[Match] */
-const struct type type_core__Array__core__Match = {
-153,
-"Array[Match]", /* class_name_string */
-416,
-0,
-&resolution_table_core__Array__core__Match,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1516,8 +1463,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2423, /* Collection[Match] */
-2424, /* Collection[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1526,11 +1471,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1559,6 +1499,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+134, /* HashMap[MClassDef, HashSet[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1570,6 +1511,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1601,10 +1543,42 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassDef__core__HashSet__nitc__MType, /* HashMapIterator[K, V]: HashMapIterator[MClassDef, HashSet[MType]] */
+&type_nitc__MClassDef, /* K: MClassDef */
+&type_core__HashSet__nitc__MType, /* V: HashSet[MType] */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__core__HashSet__nitc__MType, /* HashMapNode[K, V]: HashMapNode[MClassDef, HashSet[MType]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassDef__core__HashSet__nitc__MType, /* HashMapKeys[K, V]: HashMapKeys[MClassDef, HashSet[MType]] */
+&type_core__hash_collection__HashMapValues__nitc__MClassDef__core__HashSet__nitc__MType, /* HashMapValues[K, V]: HashMapValues[MClassDef, HashSet[MType]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__HashSet__nitc__MType, /* nullable N: nullable HashMapNode[MClassDef, HashSet[MType]] */
+&type_core__MapRead__nitc__MClassDef__core__HashSet__nitc__MType, /* MapRead[K, V]: MapRead[MClassDef, HashSet[MType]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__core__HashSet__nitc__MType, /* N: HashMapNode[MClassDef, HashSet[MType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__HashSet__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
+}
+};
+/* runtime type HashMap[MClass, Int] */
+const struct type type_core__HashMap__nitc__MClass__core__Int = {
+135,
+"HashMap[MClass, Int]", /* class_name_string */
+123,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Int,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1619,10 +1593,9 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+3010, /* MapRead[MClass, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1643,8 +1616,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2547, /* AbstractArrayRead[Match] */
-2548, /* AbstractArrayRead[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1653,7 +1624,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1670,6 +1640,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1725,6 +1696,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+135, /* HashMap[MClass, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1733,9 +1705,9 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1767,10 +1739,41 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Int = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Int, /* HashMapIterator[K, V]: HashMapIterator[MClass, Int] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Int, /* V: Int */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Int, /* HashMapNode[K, V]: HashMapNode[MClass, Int] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Int, /* HashMapKeys[K, V]: HashMapKeys[MClass, Int] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Int, /* HashMapValues[K, V]: HashMapValues[MClass, Int] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Int, /* nullable N: nullable HashMapNode[MClass, Int] */
+&type_core__MapRead__nitc__MClass__core__Int, /* MapRead[K, V]: MapRead[MClass, Int] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Int, /* N: HashMapNode[MClass, Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Int]] */
+}
+};
+/* runtime type HashSet[Object] */
+const struct type type_core__HashSet__core__Object = {
+136,
+"HashSet[Object]", /* class_name_string */
+165,
+0,
+&resolution_table_core__HashSet__core__Object,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2871, /* AbstractArray[Match] */
-2872, /* AbstractArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1779,7 +1782,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1804,6 +1806,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1859,11 +1862,11 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1874,7 +1877,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1906,8 +1908,6 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-153, /* Array[Match] */
-155, /* Array[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1916,6 +1916,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1933,6 +1934,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1942,6 +1944,39 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__core__Object = {
+0, /* dummy */
+{
+&type_core__Object, /* E: Object */
+&type_core__HashSet__core__Object, /* SELF: HashSet[Object] */
+&type_core__hash_collection__HashSetNode__core__Object, /* HashSetNode[E]: HashSetNode[Object] */
+&type_core__hash_collection__HashSetIterator__core__Object, /* HashSetIterator[E]: HashSetIterator[Object] */
+&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_core__HashSet__core__Object, /* HashSet[E]: HashSet[Object] */
+&type_core__Set__core__Object, /* Set[E]: Set[Object] */
+&type_core__HashSet__core__Object, /* HashSet[E]: HashSet[Object] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__core__Object, /* nullable N: nullable HashSetNode[Object] */
+&type_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__hash_collection__HashSetNode__core__Object, /* N: HashSetNode[Object] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Object, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[Object]] */
+}
+};
+/* runtime type HashMap[MType, Array[nullable MType]] */
+const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__MType = {
+137,
+"HashMap[MType, Array[nullable MType]]", /* class_name_string */
+124,
+0,
+&resolution_table_core__HashMap__nitc__MType__core__Array__nullable__nitc__MType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1962,6 +1997,7 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3011, /* MapRead[MType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2000,59 +2036,12 @@ const struct type type_core__Array__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Match = {
-0, /* dummy */
-{
-&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 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_core__Array__nullable__core__Match,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2073,7 +2062,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2424, /* Collection[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2110,6 +2098,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+137, /* HashMap[MType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2119,6 +2108,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2150,6 +2140,39 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+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]] */
+&type_core__MapRead__nitc__MType__core__Array__nullable__nitc__MType, /* MapRead[K, V]: MapRead[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 = {
+138,
+"HashMap[MClassType, Array[nullable MType]]", /* class_name_string */
+125,
+0,
+&resolution_table_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2160,7 +2183,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2171,12 +2193,12 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3011, /* MapRead[MType, Array[nullable MType]] */
+3012, /* MapRead[MClassType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2200,7 +2222,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2548, /* AbstractArrayRead[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2216,6 +2237,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2272,6 +2294,8 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+137, /* HashMap[MType, Array[nullable MType]] */
+138, /* HashMap[MClassType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2280,6 +2304,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2289,7 +2314,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2312,6 +2336,39 @@ const struct type type_core__Array__nullable__core__Match = {
 -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]] */
+&type_core__MapRead__nitc__MClassType__core__Array__nullable__nitc__MType, /* MapRead[K, V]: MapRead[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 = {
+139,
+"HashMap[MClass, Array[nullable MPropDef]]", /* class_name_string */
+126,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2326,7 +2383,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2872, /* AbstractArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2335,6 +2391,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3013, /* MapRead[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2376,6 +2433,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2415,7 +2473,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2435,6 +2492,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+139, /* HashMap[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2442,6 +2500,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2463,7 +2522,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-155, /* Array[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2474,6 +2532,39 @@ const struct type type_core__Array__nullable__core__Match = {
 -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]] */
+&type_core__MapRead__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* MapRead[K, V]: MapRead[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 = {
+140,
+"HashMap[MClass, Array[nullable MProperty]]", /* class_name_string */
+127,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2497,6 +2588,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3014, /* MapRead[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2537,6 +2629,7 @@ const struct type type_core__Array__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2556,66 +2649,6 @@ const struct type type_core__Array__nullable__core__Match = {
 -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 */
@@ -2647,7 +2680,6 @@ const struct type type_core__HashMap__nitc__MClass__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-158, /* HashMap[MClass, MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2657,12 +2689,14 @@ const struct type type_core__HashMap__nitc__MClass__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+140, /* HashMap[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2676,10 +2710,6 @@ const struct type type_core__HashMap__nitc__MClass__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2700,36 +2730,47 @@ const struct type type_core__HashMap__nitc__MClass__nitc__MClassType = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__nitc__MClass__nitc__MClassType = {
+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__nitc__MClassType, /* HashMapIterator[K, V]: HashMapIterator[MClass, MClassType] */
+&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_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] */
+&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]] */
+&type_core__MapRead__nitc__MClass__core__Array__nullable__nitc__MProperty, /* MapRead[K, V]: MapRead[MClass, Array[nullable MProperty]] */
 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]] */
+&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 ArrayMap[MClass, AType] */
-const struct type type_core__ArrayMap__nitc__MClass__nitc__AType = {
-159,
-"ArrayMap[MClass, AType]", /* class_name_string */
-10,
+/* runtime type HashMap[String, String] */
+const struct type type_core__HashMap__core__String__core__String = {
+141,
+"HashMap[String, String]", /* class_name_string */
+128,
 0,
-&resolution_table_core__ArrayMap__nitc__MClass__nitc__AType,
-12,
+&resolution_table_core__HashMap__core__String__core__String,
+166,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2737,45 +2778,21 @@ const struct type type_core__ArrayMap__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -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 */
 -1, /* empty */
+3015, /* MapRead[String, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3022, /* MapRead[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2798,18 +2815,17 @@ const struct type type_nitc__ANodes__nitc__AExternCodeBlock = {
 -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 */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2824,8 +2840,6 @@ const struct type type_nitc__ANodes__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2459, /* Collection[AExternCodeBlock] */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2872,11 +2886,28 @@ const struct type type_nitc__ANodes__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+141, /* HashMap[String, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+-1, /* empty */
+183, /* HashMap[Object, 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 */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2892,103 +2923,39 @@ const struct type type_nitc__ANodes__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_nitc__ANodes__nitc__AExternCodeBlock = {
+const struct types resolution_table_core__HashMap__core__String__core__String = {
 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 */
+&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] */
+&type_core__MapRead__core__String__core__String, /* MapRead[K, V]: MapRead[String, String] */
 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] */
+&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 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,
+/* runtime type Array[CodeFile] */
+const struct type type_core__Array__nitc__CodeFile = {
+142,
+"Array[CodeFile]", /* class_name_string */
+415,
 0,
-&resolution_table_core__CircularArray__nitc__ANode,
-132,
+&resolution_table_core__Array__nitc__CodeFile,
+510,
 {
-2371, /* Object */
-2397, /* nullable Object */
-166, /* CircularArray[ANode] */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3012,6 +2979,7 @@ const struct type type_core__CircularArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2430, /* Collection[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3022,8 +2990,8 @@ const struct type type_core__CircularArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3049,7 +3017,6 @@ const struct type type_core__CircularArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3084,6 +3051,7 @@ const struct type type_core__CircularArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3100,7 +3068,6 @@ const struct type type_core__CircularArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3116,38 +3083,9 @@ const struct type type_core__CircularArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* 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 */
@@ -3181,7 +3119,6 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3207,8 +3144,8 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2592, /* AbstractArrayRead[CodeFile] */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3218,6 +3155,7 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3235,6 +3173,7 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3259,7 +3198,6 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3294,11 +3232,10 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2876, /* AbstractArray[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
-167, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3307,39 +3244,9 @@ const struct type type_core__HashSet__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -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 */
@@ -3374,19 +3281,16 @@ const struct type type_nitc__ANodes__nitc__AExpr = {
 -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 */
 -1, /* empty */
-2445, /* Collection[AExpr] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3401,7 +3305,7 @@ const struct type type_nitc__ANodes__nitc__AExpr = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3434,6 +3338,7 @@ const struct type type_nitc__ANodes__nitc__AExpr = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3452,7 +3357,6 @@ const struct type type_nitc__ANodes__nitc__AExpr = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3465,107 +3369,10 @@ const struct type type_nitc__ANodes__nitc__AExpr = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+142, /* Array[CodeFile] */
 -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 */
 -1, /* empty */
@@ -3591,7 +3398,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3599,7 +3405,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3610,7 +3415,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3660,6 +3464,41 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__CodeFile = {
+0, /* dummy */
+{
+&type_nitc__CodeFile, /* E: CodeFile */
+&type_core__Array__nitc__CodeFile, /* SELF: Array[CodeFile] */
+&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
+&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
+&type_core__AbstractArray__nitc__CodeFile, /* AbstractArray[E]: AbstractArray[CodeFile] */
+&type_core__NativeArray__nitc__CodeFile, /* NativeArray[E]: NativeArray[CodeFile] */
+&type_nitc__CodeFile, /* E: CodeFile */
+&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
+&type_nitc__CodeFile, /* E: CodeFile */
+&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
+&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
+&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
+&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
+&type_core__AbstractArray__nitc__CodeFile, /* AbstractArray[E]: AbstractArray[CodeFile] */
+&type_core__array__ArrayIterator__nitc__CodeFile, /* ArrayIterator[E]: ArrayIterator[CodeFile] */
+&type_core__array__ArrayReverseIterator__nitc__CodeFile, /* ArrayReverseIterator[E]: ArrayReverseIterator[CodeFile] */
+}
+};
+/* runtime type HashMap[String, ANode] */
+const struct type type_core__HashMap__core__String__nitc__ANode = {
+143,
+"HashMap[String, ANode]", /* class_name_string */
+129,
+0,
+&resolution_table_core__HashMap__core__String__nitc__ANode,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3677,7 +3516,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3686,14 +3524,13 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3016, /* MapRead[String, ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3718,7 +3555,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2549, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3726,8 +3562,8 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3738,7 +3574,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2569, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3790,10 +3625,12 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+143, /* HashMap[String, ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3806,7 +3643,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3826,8 +3662,42 @@ const struct type type_core__Array__nitc__MType = {
 -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] */
+&type_core__MapRead__core__String__nitc__ANode, /* MapRead[K, V]: MapRead[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 = {
+144,
+"ArraySet[String]", /* class_name_string */
+153,
+0,
+&resolution_table_core__ArraySet__core__String,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3844,7 +3714,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2873, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3852,7 +3721,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3861,12 +3729,13 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-2892, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2448, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3920,6 +3789,7 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3932,7 +3802,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3947,7 +3816,6 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3955,32 +3823,63 @@ const struct type type_core__Array__nitc__MType = {
 -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 */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1438, /* Set[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+144, /* ArraySet[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__ArraySet__core__String = {
+0, /* dummy */
+{
+&type_core__String, /* E: String */
+&type_core__ArraySet__core__String, /* SELF: ArraySet[String] */
+&type_core__array__ArraySetIterator__core__String, /* ArraySetIterator[E]: ArraySetIterator[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__ArraySet__core__String, /* ArraySet[E]: ArraySet[String] */
+NULL, /* empty */
+&type_core__Set__core__String, /* Set[E]: Set[String] */
+&type_core__HashSet__core__String, /* HashSet[E]: HashSet[String] */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+}
+};
+/* runtime type Array[MNullableType] */
+const struct type type_core__Array__nitc__MNullableType = {
+145,
+"Array[MNullableType]", /* class_name_string */
+416,
+0,
+&resolution_table_core__Array__nitc__MNullableType,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4005,8 +3904,10 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2431, /* Collection[MNullableType] */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4014,6 +3915,7 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4024,6 +3926,7 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4072,41 +3975,8 @@ const struct type type_core__Array__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
-},
-};
-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 */
@@ -4137,9 +4007,10 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-174, /* HashMap[MModule, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4167,7 +4038,6 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4189,38 +4059,6 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef = {
-0, /* dummy */
-{
-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 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_core__HashMap__nitc__MModule__core__Set__nitc__MClass,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4232,13 +4070,16 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2594, /* AbstractArrayRead[MNullableType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2600, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4254,9 +4095,9 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-175, /* HashMap[MModule, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4279,9 +4120,9 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2644, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4303,38 +4144,6 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -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 */
@@ -4348,8 +4157,10 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassType
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2877, /* AbstractArray[MNullableType] */
 -1, /* empty */
 -1, /* empty */
+2880, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4357,6 +4168,7 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassType
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4367,9 +4179,9 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassType
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2899, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
-176, /* HashMap[MModule, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4395,7 +4207,6 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassType
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4417,56 +4228,8 @@ const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClassType
 -1, /* empty */
 -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 */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4480,7 +4243,6 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2414, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4499,8 +4261,8 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4508,10 +4270,12 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+172, /* Array[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+729, /* Array[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4530,6 +4294,7 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+145, /* Array[MNullableType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4577,7 +4342,6 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4593,7 +4357,6 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2388, /* Set[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4615,9 +4378,7 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
-178, /* HashSet[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4629,57 +4390,61 @@ const struct type type_core__HashSet__nitc__MClassDef = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashSet__nitc__MClassDef = {
+const struct types resolution_table_core__Array__nitc__MNullableType = {
 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]] */
+&type_nitc__MNullableType, /* E: MNullableType */
+&type_core__Array__nitc__MNullableType, /* SELF: 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__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 RapidTypeVisitor */
-const struct type type_nitc__RapidTypeVisitor = {
--1, /*CAST DEAD*/
-"RapidTypeVisitor", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
+/* runtime type SeparateErasureCompiler */
+const struct type type_nitc__SeparateErasureCompiler = {
+146,
+"SeparateErasureCompiler", /* class_name_string */
+4,
+0,
+&resolution_table_nitc__SeparateErasureCompiler,
+5,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+3079, /* AbstractCompiler */
+133, /* SeparateCompiler */
+146, /* SeparateErasureCompiler */
 },
 };
-/* runtime type List[MClassType] */
-const struct type type_core__List__nitc__MClassType = {
-180,
-"List[MClassType]", /* class_name_string */
-132,
+const struct types resolution_table_nitc__SeparateErasureCompiler = {
+0, /* dummy */
+{
+&type_nitc__SeparateCompilerVisitor, /* VISITOR: SeparateCompilerVisitor */
+}
+};
+/* runtime type FlatStringCharIterator */
+const struct type type_core__flat__FlatStringCharIterator = {
+147,
+"FlatStringCharIterator", /* class_name_string */
+11,
 0,
-&resolution_table_core__List__nitc__MClassType,
-136,
+&resolution_table_core__flat__FlatStringCharIterator,
+12,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4688,16 +4453,27 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2416, /* Collection[MClassType] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+147, /* FlatStringCharIterator */
+},
+};
+const struct types resolution_table_core__flat__FlatStringCharIterator = {
+0, /* dummy */
+{
+&type_core__Array__core__Char, /* Array[E]: Array[Char] */
+}
+};
+/* runtime type Array[Match] */
+const struct type type_core__Array__core__Match = {
+148,
+"Array[Match]", /* class_name_string */
+417,
+0,
+&resolution_table_core__Array__core__Match,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4705,7 +4481,6 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4716,7 +4491,6 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4724,6 +4498,8 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2432, /* Collection[Match] */
+2433, /* Collection[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4732,6 +4508,7 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4783,7 +4560,6 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4792,6 +4568,7 @@ const struct type type_core__List__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4799,55 +4576,9 @@ const struct type type_core__List__nitc__MClassType = {
 -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 */
@@ -4869,6 +4600,8 @@ const struct type type_ordered_tree__OrderedTree__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4881,7 +4614,6 @@ const struct type type_ordered_tree__OrderedTree__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4932,12 +4664,15 @@ const struct type type_ordered_tree__OrderedTree__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2595, /* AbstractArrayRead[Match] */
+2596, /* AbstractArrayRead[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4955,11 +4690,11 @@ const struct type type_ordered_tree__OrderedTree__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4974,59 +4709,6 @@ const struct type type_ordered_tree__OrderedTree__core__Object = {
 -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 */
@@ -5062,7 +4744,6 @@ const struct type type_core__HashMap__core__Object__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-184, /* HashMap[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5070,6 +4751,8 @@ const struct type type_core__HashMap__core__Object__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2878, /* AbstractArray[Match] */
+2879, /* AbstractArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5078,6 +4761,7 @@ const struct type type_core__HashMap__core__Object__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5087,7 +4771,6 @@ const struct type type_core__HashMap__core__Object__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5109,37 +4792,6 @@ const struct type type_core__HashMap__core__Object__core__String = {
 -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 */
@@ -5170,6 +4822,7 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5202,6 +4855,7 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5234,6 +4888,8 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+148, /* Array[Match] */
+150, /* Array[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5267,20 +4923,6 @@ NULL, /*NO RESOLUTIONS*/
 -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 */
@@ -5308,14 +4950,12 @@ const struct type type_core__Array__core__Array__core__String = {
 -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 */
@@ -5341,6 +4981,55 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__core__Match = {
+0, /* dummy */
+{
+&type_core__Match, /* E: Match */
+&type_core__Array__core__Match, /* SELF: 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__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 Match */
+const struct type type_core__Match = {
+149,
+"Match", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+149, /* Match */
+2378, /* nullable Match */
+},
+};
+/* runtime type Array[nullable Match] */
+const struct type type_core__Array__nullable__core__Match = {
+150,
+"Array[nullable Match]", /* class_name_string */
+418,
+0,
+&resolution_table_core__Array__nullable__core__Match,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5367,6 +5056,7 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5392,8 +5082,6 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2510, /* Collection[Array[Object]] */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5408,8 +5096,6 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5435,14 +5121,13 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2550, /* AbstractArrayRead[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5472,6 +5157,8 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5521,8 +5208,6 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2636, /* AbstractArrayRead[Array[Object]] */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5537,12 +5222,14 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2596, /* AbstractArrayRead[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5561,14 +5248,12 @@ const struct type type_core__Array__core__Array__core__String = {
 -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 */
@@ -5624,6 +5309,7 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2879, /* AbstractArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5647,8 +5333,6 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2960, /* AbstractArray[Array[Object]] */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5663,7 +5347,6 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5696,8 +5379,8 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
-186, /* Array[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5763,6 +5446,7 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+150, /* Array[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5775,7 +5459,6 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2012, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5789,70 +5472,9 @@ const struct type type_core__Array__core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Array__core__String = {
-0, /* dummy */
-{
-&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 CsvFormat */
-const struct type type_csv__CsvFormat = {
--1, /*CAST DEAD*/
-"CsvFormat", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type CodeWriter */
-const struct type type_nitc__CodeWriter = {
-188,
-"CodeWriter", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-2371, /* Object */
-2397, /* nullable Object */
-188, /* CodeWriter */
-},
-};
-/* runtime type List[String] */
-const struct type type_core__List__core__String = {
-189,
-"List[String]", /* class_name_string */
-133,
-0,
-&resolution_table_core__List__core__String,
-136,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2402, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5883,13 +5505,11 @@ const struct type type_core__List__core__String = {
 -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 */
@@ -5918,6 +5538,41 @@ const struct type type_core__List__core__String = {
 -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, /* SELF: 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__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 RopeCharIterator */
+const struct type type_core__ropes__RopeCharIterator = {
+151,
+"RopeCharIterator", /* class_name_string */
+11,
+0,
+&resolution_table_core__ropes__RopeCharIterator,
+12,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5926,6 +5581,41 @@ const struct type type_core__List__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+151, /* RopeCharIterator */
+},
+};
+const struct types resolution_table_core__ropes__RopeCharIterator = {
+0, /* dummy */
+{
+&type_core__Array__core__Char, /* Array[E]: Array[Char] */
+}
+};
+/* runtime type RopeCharIteratorPiece */
+const struct type type_core__ropes__RopeCharIteratorPiece = {
+152,
+"RopeCharIteratorPiece", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+152, /* RopeCharIteratorPiece */
+},
+};
+/* runtime type FlatBufferCharIterator */
+const struct type type_core__flat__FlatBufferCharIterator = {
+153,
+"FlatBufferCharIterator", /* class_name_string */
+11,
+0,
+&resolution_table_core__flat__FlatBufferCharIterator,
+12,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5934,6 +5624,55 @@ const struct type type_core__List__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+153, /* FlatBufferCharIterator */
+},
+};
+const struct types resolution_table_core__flat__FlatBufferCharIterator = {
+0, /* dummy */
+{
+&type_core__Array__core__Char, /* Array[E]: Array[Char] */
+}
+};
+/* runtime type SourceFile */
+const struct type type_nitc__SourceFile = {
+154,
+"SourceFile", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+154, /* SourceFile */
+},
+};
+/* runtime type LiteralVisitor */
+const struct type type_nitc__literal__LiteralVisitor = {
+155,
+"LiteralVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+155, /* LiteralVisitor */
+},
+};
+/* runtime type HashMap[MClass, MClassType] */
+const struct type type_core__HashMap__nitc__MClass__nitc__MClassType = {
+156,
+"HashMap[MClass, MClassType]", /* class_name_string */
+130,
+0,
+&resolution_table_core__HashMap__nitc__MClass__nitc__MClassType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5960,8 +5699,12 @@ const struct type type_core__List__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3017, /* MapRead[MClass, MClassType] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5977,42 +5720,10 @@ const struct type type_core__List__core__String = {
 -1, /* empty */
 -1, /* empty */
 -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 */
@@ -6026,6 +5737,7 @@ const struct type type_core__HashMap__core__String__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6049,7 +5761,6 @@ const struct type type_core__HashMap__core__String__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-190, /* HashMap[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6073,7 +5784,37 @@ const struct type type_core__HashMap__core__String__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+156, /* HashMap[MClass, MClassType] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6097,71 +5838,197 @@ const struct type type_core__HashMap__core__String__core__Int = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__core__String__core__Int = {
+const struct types resolution_table_core__HashMap__nitc__MClass__nitc__MClassType = {
 0, /* dummy */
 {
 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] */
+&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] */
+&type_core__MapRead__nitc__MClass__nitc__MClassType, /* MapRead[K, V]: MapRead[MClass, MClassType] */
 NULL, /* empty */
-&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]] */
+&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 POSetColorer[MClass] */
-const struct type type_nitc__POSetColorer__nitc__MClass = {
--1, /*CAST DEAD*/
-"POSetColorer[MClass]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type ArrayMap[MClass, AType] */
+const struct type type_core__ArrayMap__nitc__MClass__nitc__AType = {
+157,
+"ArrayMap[MClass, AType]", /* class_name_string */
+89,
 0,
-&resolution_table_nitc__POSetColorer__nitc__MClass,
-2,
+&resolution_table_core__ArrayMap__nitc__MClass__nitc__AType,
+91,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+3018, /* MapRead[MClass, AType] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+157, /* ArrayMap[MClass, AType] */
+-1, /* empty */
 },
 };
-const struct types resolution_table_nitc__POSetColorer__nitc__MClass = {
+const struct types resolution_table_core__ArrayMap__nitc__MClass__nitc__AType = {
 0, /* dummy */
 {
-&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] */
+&type_core__Array__core__Couple__nitc__MClass__nitc__AType, /* Array[Couple[K, E]]: Array[Couple[MClass, AType]] */
+&type_core__ArrayMap__nitc__MClass__nitc__AType, /* SELF: ArrayMap[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__ArrayMap__nitc__MClass__nitc__AType, /* ArrayMap[K, E]: ArrayMap[MClass, AType] */
+&type_core__abstract_collection__CoupleMapIterator__nitc__MClass__nitc__AType, /* CoupleMapIterator[K, V]: CoupleMapIterator[MClass, AType] */
+NULL, /* empty */
+&type_core__MapRead__nitc__MClass__nitc__AType, /* MapRead[K, V]: MapRead[MClass, AType] */
 }
 };
-/* 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,
+/* runtime type ANodes[AExternCodeBlock] */
+const struct type type_nitc__ANodes__nitc__AExternCodeBlock = {
+158,
+"ANodes[AExternCodeBlock]", /* class_name_string */
+132,
 0,
-&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
-85,
+&resolution_table_nitc__ANodes__nitc__AExternCodeBlock,
+143,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
-2841, /* Map[MClass, Set[MVirtualTypeProp]] */
-2976, /* Map[MClass, Collection[PropertyLayoutElement]] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6173,7 +6040,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-103, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6190,9 +6056,7 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-192, /* HashMap[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
-234, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6211,11 +6075,13 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
+2499, /* Collection[AExternCodeBlock] */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6235,38 +6101,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTyp
 -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 */
@@ -6277,7 +6111,166 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2210, /* SequenceRead[nullable Object] */
+-1, /* empty */
+158, /* ANodes[AExternCodeBlock] */
+-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_nitc__ANodes__nitc__AExternCodeBlock = {
+0, /* dummy */
+{
+&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
+&type_nitc__AExternCodeBlock, /* E: AExternCodeBlock */
+NULL, /* empty */
+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] */
+&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
+}
+};
+/* runtime type MErrorType */
+const struct type type_nitc__MErrorType = {
+159,
+"MErrorType", /* class_name_string */
+5,
+0,
+NULL, /*NO RESOLUTIONS*/
+6,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+159, /* MErrorType */
+},
+};
+/* runtime type ForeignCType */
+const struct type type_nitc__ForeignCType = {
+160,
+"ForeignCType", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+162, /* ForeignType */
+160, /* ForeignCType */
+},
+};
+/* runtime type MClassKind */
+const struct type type_nitc__MClassKind = {
+161,
+"MClassKind", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+161, /* MClassKind */
+},
+};
+/* runtime type ForeignType */
+const struct type type_nitc__ForeignType = {
+162,
+"ForeignType", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+162, /* ForeignType */
+},
+};
+/* runtime type TransformVisitor */
+const struct type type_nitc__transform__TransformVisitor = {
+163,
+"TransformVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+163, /* TransformVisitor */
+},
+};
+/* runtime type ASTValidationVisitor */
+const struct type type_nitc__ASTValidationVisitor = {
+164,
+"ASTValidationVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+164, /* ASTValidationVisitor */
+},
+};
+/* runtime type CircularArray[ANode] */
+const struct type type_core__CircularArray__nitc__ANode = {
+165,
+"CircularArray[ANode]", /* class_name_string */
+2,
+0,
+&resolution_table_core__CircularArray__nitc__ANode,
+132,
+{
+2380, /* Object */
+2401, /* nullable Object */
+165, /* CircularArray[ANode] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6287,6 +6280,7 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6300,9 +6294,7 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6328,12 +6320,10 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2461, /* Collection[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6344,11 +6334,13 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6378,14 +6370,44 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* 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_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 */
+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] */
+&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
+}
+};
+/* runtime type HashSet[ANode] */
+const struct type type_core__HashSet__nitc__ANode = {
+166,
+"HashSet[ANode]", /* class_name_string */
+166,
+0,
+&resolution_table_core__HashSet__nitc__ANode,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6393,12 +6415,9 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -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 */
@@ -6416,138 +6435,15 @@ const struct type type_core__HashSet__nitc__MVirtualTypeProp = {
 -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] */
+2442, /* Collection[Object] */
 -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 */
@@ -6576,13 +6472,11 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2427, /* Collection[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6600,11 +6494,13 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6654,13 +6550,14 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
+2852, /* Set[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6671,16 +6568,48 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
+166, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__ANode = {
+0, /* dummy */
+{
+&type_nitc__ANode, /* E: ANode */
+&type_core__HashSet__nitc__ANode, /* SELF: HashSet[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] */
+&type_core__HashSet__nitc__ANode, /* HashSet[E]: HashSet[ANode] */
+&type_core__Set__nitc__ANode, /* Set[E]: Set[ANode] */
+&type_core__HashSet__nitc__ANode, /* HashSet[E]: HashSet[ANode] */
+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__Array__nitc__ANode, /* Array[E]: Array[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 = {
+167,
+"ANodes[AExpr]", /* class_name_string */
+133,
+0,
+&resolution_table_nitc__ANodes__nitc__AExpr,
+143,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6703,13 +6632,11 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2551, /* AbstractArrayRead[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6718,16 +6645,19 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2454, /* Collection[AExpr] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6769,11 +6699,13 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6789,7 +6721,6 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6807,8 +6738,10 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+167, /* ANodes[AExpr] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6818,6 +6751,103 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__ANodes__nitc__AExpr = {
+0, /* dummy */
+{
+&type_core__Array__nitc__AExpr, /* Array[E]: Array[AExpr] */
+&type_nitc__AExpr, /* E: AExpr */
+NULL, /* empty */
+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] */
+&type_core__Array__nitc__AExpr, /* Array[E]: Array[AExpr] */
+}
+};
+/* runtime type TextCollectorVisitor */
+const struct type type_nitc__parser_work__TextCollectorVisitor = {
+168,
+"TextCollectorVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+168, /* TextCollectorVisitor */
+},
+};
+/* runtime type MParameterType */
+const struct type type_nitc__MParameterType = {
+169,
+"MParameterType", /* class_name_string */
+6,
+0,
+NULL, /*NO RESOLUTIONS*/
+7,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+2218, /* MFormalType */
+169, /* MParameterType */
+},
+};
+/* runtime type MNotNullType */
+const struct type type_nitc__MNotNullType = {
+170,
+"MNotNullType", /* class_name_string */
+5,
+0,
+NULL, /*NO RESOLUTIONS*/
+6,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+170, /* MNotNullType */
+},
+};
+/* runtime type MGenericType */
+const struct type type_nitc__MGenericType = {
+171,
+"MGenericType", /* class_name_string */
+6,
+0,
+NULL, /*NO RESOLUTIONS*/
+7,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+176, /* MClassType */
+171, /* MGenericType */
+},
+};
+/* runtime type Array[MType] */
+const struct type type_core__Array__nitc__MType = {
+172,
+"Array[MType]", /* class_name_string */
+392,
+0,
+&resolution_table_core__Array__nitc__MType,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6829,13 +6859,11 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -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 */
@@ -6847,6 +6875,7 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6854,6 +6883,7 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6864,6 +6894,7 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6912,10 +6943,10 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6930,7 +6961,6 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6945,6 +6975,8 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6965,7 +6997,6 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-200, /* Array[State] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7013,8 +7044,10 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2600, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7032,6 +7065,7 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7054,41 +7088,9 @@ const struct type type_core__Array__nitc__parser_work__State = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2644, /* AbstractArrayRead[nullable MType] */
 -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 */
@@ -7123,18 +7125,18 @@ const struct type type_nitc__ANodes__nitc__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2880, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7145,14 +7147,13 @@ const struct type type_nitc__ANodes__nitc__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2899, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
-2462, /* Collection[AImport] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7196,12 +7197,12 @@ const struct type type_nitc__ANodes__nitc__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7217,37 +7218,7 @@ const struct type type_nitc__ANodes__nitc__AImport = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_nitc__ANodes__nitc__AImport = {
-0, /* dummy */
-{
-&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 */
-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 Array[AClassdef] */
-const struct type type_core__Array__nitc__AClassdef = {
-202,
-"Array[AClassdef]", /* class_name_string */
-420,
-0,
-&resolution_table_core__Array__nitc__AClassdef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7259,6 +7230,7 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7266,10 +7238,12 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+172, /* Array[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+729, /* Array[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7277,19 +7251,16 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2428, /* Collection[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7309,7 +7280,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7360,7 +7330,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7375,8 +7344,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7389,6 +7356,41 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MType = {
+0, /* dummy */
+{
+&type_nitc__MType, /* E: MType */
+&type_core__Array__nitc__MType, /* SELF: 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__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 = {
+173,
+"HashMap[MModule, Set[MClassDef]]", /* class_name_string */
+131,
+0,
+&resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7404,12 +7406,10 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2552, /* AbstractArrayRead[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7417,9 +7417,9 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
+3019, /* MapRead[MModule, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7438,7 +7438,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7456,6 +7455,7 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7489,7 +7489,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7520,8 +7519,10 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+173, /* HashMap[MModule, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7530,19 +7531,16 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2876, /* AbstractArray[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -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 */
@@ -7556,6 +7554,39 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+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]] */
+&type_core__MapRead__nitc__MModule__core__Set__nitc__MClassDef, /* MapRead[K, V]: MapRead[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 HashMap[MModule, Set[MClass]] */
+const struct type type_core__HashMap__nitc__MModule__core__Set__nitc__MClass = {
+174,
+"HashMap[MModule, Set[MClass]]", /* class_name_string */
+132,
+0,
+&resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClass,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7564,7 +7595,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7586,6 +7616,7 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3020, /* MapRead[MModule, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7615,12 +7646,12 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7630,7 +7661,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7666,7 +7696,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-202, /* Array[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7675,7 +7704,6 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7688,13 +7716,14 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+174, /* HashMap[MModule, Set[MClass]] */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7721,6 +7750,39 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -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]] */
+&type_core__MapRead__nitc__MModule__core__Set__nitc__MClass, /* MapRead[K, V]: MapRead[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 = {
+175,
+"HashMap[MModule, Set[MClassType]]", /* class_name_string */
+133,
+0,
+&resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7751,44 +7813,12 @@ const struct type type_core__Array__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3021, /* MapRead[MModule, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__AClassdef = {
-0, /* dummy */
-{
-&type_nitc__AClassdef, /* E: AClassdef */
-&type_core__Array__nitc__AClassdef, /* 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 ANodes[AFormaldef] */
-const struct type type_nitc__ANodes__nitc__AFormaldef = {
--1, /*CAST DEAD*/
-"ANodes[AFormaldef]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__ANodes__nitc__AFormaldef,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7817,20 +7847,19 @@ const struct type type_nitc__ANodes__nitc__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7850,10 +7879,8 @@ const struct type type_nitc__ANodes__nitc__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
-2463, /* Collection[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7886,6 +7913,8 @@ const struct type type_nitc__ANodes__nitc__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+175, /* HashMap[MModule, Set[MClassType]] */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7901,7 +7930,6 @@ const struct type type_nitc__ANodes__nitc__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7917,52 +7945,57 @@ const struct type type_nitc__ANodes__nitc__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_nitc__ANodes__nitc__AFormaldef = {
+const struct types resolution_table_core__HashMap__nitc__MModule__core__Set__nitc__MClassType = {
 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 */
+&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]] */
+&type_core__MapRead__nitc__MModule__core__Set__nitc__MClassType, /* MapRead[K, V]: MapRead[MModule, Set[MClassType]] */
 NULL, /* empty */
-&type_nitc__AFormaldef, /* E: AFormaldef */
-&type_core__Collection__nitc__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
-&type_core__Collection__nitc__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
+&type_core__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 Array[ASuperPropdef] */
-const struct type type_core__Array__nitc__ASuperPropdef = {
-204,
-"Array[ASuperPropdef]", /* class_name_string */
-421,
+/* runtime type MClassType */
+const struct type type_nitc__MClassType = {
+176,
+"MClassType", /* class_name_string */
+5,
 0,
-&resolution_table_core__Array__nitc__ASuperPropdef,
-510,
+NULL, /*NO RESOLUTIONS*/
+6,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+176, /* MClassType */
+},
+};
+/* runtime type HashSet[MClassDef] */
+const struct type type_core__HashSet__nitc__MClassDef = {
+177,
+"HashSet[MClassDef]", /* class_name_string */
+167,
+0,
+&resolution_table_core__HashSet__nitc__MClassDef,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7978,18 +8011,16 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2429, /* Collection[ASuperPropdef] */
+2423, /* Collection[MClassDef] */
 -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 */
@@ -7999,17 +8030,16 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -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 */
@@ -8060,7 +8090,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8075,8 +8105,6 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8096,6 +8124,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2390, /* Set[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8105,19 +8134,17 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2553, /* AbstractArrayRead[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8131,16 +8158,62 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
+177, /* HashSet[MClassDef] */
 -1, /* empty */
-2581, /* AbstractArrayRead[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_nitc__MClassDef, /* E: MClassDef */
+&type_core__HashSet__nitc__MClassDef, /* SELF: HashSet[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] */
+&type_core__HashSet__nitc__MClassDef, /* HashSet[E]: HashSet[MClassDef] */
+&type_core__Set__nitc__MClassDef, /* Set[E]: Set[MClassDef] */
+&type_core__HashSet__nitc__MClassDef, /* HashSet[E]: HashSet[MClassDef] */
+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__Array__nitc__MClassDef, /* Array[E]: Array[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 = {
+178,
+"RapidTypeVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+178, /* RapidTypeVisitor */
+},
+};
+/* runtime type List[MClassType] */
+const struct type type_core__List__nitc__MClassType = {
+179,
+"List[MClassType]", /* class_name_string */
+129,
+0,
+&resolution_table_core__List__nitc__MClassType,
+135,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8159,6 +8232,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8167,6 +8241,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8174,6 +8249,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8184,12 +8260,12 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8231,18 +8307,16 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2877, /* AbstractArray[ASuperPropdef] */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -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 */
@@ -8259,19 +8333,65 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -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 */
 -1, /* empty */
+179, /* List[MClassType] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
+206, /* List[MType] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__List__nitc__MClassType = {
+0, /* dummy */
+{
+&type_nitc__MClassType, /* E: 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 */
+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] */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+}
+};
+/* runtime type FileWriter */
+const struct type type_core__FileWriter = {
+180,
+"FileWriter", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+180, /* FileWriter */
+},
+};
+/* runtime type OrderedTree[Object] */
+const struct type type_ordered_tree__OrderedTree__core__Object = {
+181,
+"OrderedTree[Object]", /* class_name_string */
+2,
+0,
+&resolution_table_ordered_tree__OrderedTree__core__Object,
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+181, /* OrderedTree[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8306,6 +8426,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8315,7 +8436,6 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8330,7 +8450,6 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8367,7 +8486,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-204, /* Array[ASuperPropdef] */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8375,7 +8494,6 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8390,11 +8508,9 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1223, /* Array[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8402,6 +8518,67 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+const struct types resolution_table_ordered_tree__OrderedTree__core__Object = {
+0, /* dummy */
+{
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_ordered_tree__OrderedTree__core__Object, /* SELF: OrderedTree[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_core__Collection__core__Object, /* Collection[E]: Collection[Object] */
+&type_ordered_tree__OrderedTreeIterator__core__Object, /* OrderedTreeIterator[E]: OrderedTreeIterator[Object] */
+&type_ordered_tree__OrderedTree__core__Object, /* OrderedTree[E]: OrderedTree[Object] */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+}
+};
+/* runtime type CachedAlphaComparator */
+const struct type type_core__CachedAlphaComparator = {
+182,
+"CachedAlphaComparator", /* class_name_string */
+2,
+0,
+&resolution_table_core__CachedAlphaComparator,
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+182, /* CachedAlphaComparator */
+},
+};
+const struct types resolution_table_core__CachedAlphaComparator = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Object, /* COMPARED: Object */
+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 = {
+183,
+"HashMap[Object, String]", /* class_name_string */
+136,
+0,
+&resolution_table_core__HashMap__core__Object__core__String,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8433,6 +8610,7 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3022, /* MapRead[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8456,67 +8634,6 @@ const struct type type_core__Array__nitc__ASuperPropdef = {
 -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 */
@@ -8526,6 +8643,7 @@ const struct type type_poset__POSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8543,7 +8661,6 @@ const struct type type_poset__POSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8551,7 +8668,6 @@ const struct type type_poset__POSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8562,7 +8678,6 @@ const struct type type_poset__POSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8595,7 +8710,9 @@ const struct type type_poset__POSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
+183, /* HashMap[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8625,11 +8742,43 @@ const struct type type_poset__POSet__nitc__MType = {
 -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] */
+&type_core__MapRead__core__Object__core__String, /* MapRead[K, V]: MapRead[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 = {
+184,
+"CsvDocument", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+184, /* CsvDocument */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8648,34 +8797,7 @@ const struct type type_poset__POSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-206, /* POSet[MType] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_poset__POSet__nitc__MType = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__poset__POSetElement__nitc__MType, /* HashMap[E, POSetElement[E]]: HashMap[MType, POSetElement[MType]] */
-&type_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 List[MType] */
-const struct type type_core__List__nitc__MType = {
-207,
-"List[MType]", /* class_name_string */
-134,
-0,
-&resolution_table_core__List__nitc__MType,
-136,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8702,7 +8824,6 @@ const struct type type_core__List__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8710,7 +8831,6 @@ const struct type type_core__List__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8721,7 +8841,6 @@ const struct type type_core__List__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8782,13 +8901,26 @@ const struct type type_core__List__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+/* runtime type Array[Array[String]] */
+const struct type type_core__Array__core__Array__core__String = {
+185,
+"Array[Array[String]]", /* class_name_string */
+419,
+0,
+&resolution_table_core__Array__core__Array__core__String,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8804,78 +8936,21 @@ const struct type type_core__List__nitc__MType = {
 -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 */
+2435, /* Collection[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8898,10 +8973,8 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2430, /* Collection[MParameter] */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8937,6 +9010,8 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
+2503, /* Collection[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8967,6 +9042,8 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8979,7 +9056,6 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8994,8 +9070,6 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9025,10 +9099,8 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2554, /* AbstractArrayRead[MParameter] */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9042,6 +9114,9 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
+2604, /* AbstractArrayRead[Array[Object]] */
+2605, /* AbstractArrayRead[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9057,6 +9132,7 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9108,7 +9184,6 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9121,12 +9196,14 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9151,10 +9228,8 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2878, /* AbstractArray[MParameter] */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9189,6 +9264,8 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
+2950, /* AbstractArray[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9220,6 +9297,7 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9234,7 +9312,6 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9249,13 +9326,13 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+185, /* Array[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9287,7 +9364,6 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-209, /* Array[MParameter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9317,6 +9393,7 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1726, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9346,6 +9423,55 @@ const struct type type_core__Array__nitc__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__core__Array__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__String, /* E: Array[String] */
+&type_core__Array__core__Array__core__String, /* SELF: 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__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 CodeWriter */
+const struct type type_nitc__CodeWriter = {
+186,
+"CodeWriter", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+186, /* CodeWriter */
+},
+};
+/* runtime type HashMap[String, Int] */
+const struct type type_core__HashMap__core__String__core__Int = {
+187,
+"HashMap[String, Int]", /* class_name_string */
+137,
+0,
+&resolution_table_core__HashMap__core__String__core__Int,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9375,75 +9501,10 @@ const struct type type_core__Array__nitc__MParameter = {
 -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 */
+3023, /* MapRead[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9451,7 +9512,6 @@ const struct type type_core__ArraySet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9474,10 +9534,9 @@ const struct type type_core__ArraySet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9507,7 +9566,6 @@ const struct type type_core__ArraySet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9545,21 +9603,21 @@ const struct type type_core__ArraySet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+187, /* HashMap[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9567,12 +9625,10 @@ const struct type type_core__ArraySet__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2387, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2393, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9581,60 +9637,83 @@ const struct type type_core__ArraySet__nitc__MProperty = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__ArraySet__nitc__MProperty = {
+const struct types resolution_table_core__HashMap__core__String__core__Int = {
 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 */
 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] */
+&type_core__MapRead__core__String__core__Int, /* MapRead[K, V]: MapRead[String, Int] */
 NULL, /* empty */
-&type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
+&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 ScopeVisitor */
-const struct type type_nitc__scope__ScopeVisitor = {
--1, /*CAST DEAD*/
-"ScopeVisitor", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
+/* runtime type POSetColorer[MClass] */
+const struct type type_nitc__POSetColorer__nitc__MClass = {
+188,
+"POSetColorer[MClass]", /* class_name_string */
 2,
+0,
+&resolution_table_nitc__POSetColorer__nitc__MClass,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+188, /* POSetColorer[MClass] */
+-1, /* empty */
 },
 };
-/* runtime type Variable */
-const struct type type_nitc__Variable = {
-214,
-"Variable", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
+const struct types resolution_table_nitc__POSetColorer__nitc__MClass = {
+0, /* dummy */
 {
-2371, /* Object */
-2397, /* nullable Object */
-214, /* Variable */
-},
+&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 List[Scope] */
-const struct type type_core__List__nitc__scope__Scope = {
-215,
-"List[Scope]", /* class_name_string */
-135,
+/* runtime type HashMap[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+189,
+"HashMap[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+139,
 0,
-&resolution_table_core__List__nitc__scope__Scope,
-136,
+&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+166,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+3005, /* MapRead[MClass, Set[MProperty]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9650,7 +9729,9 @@ const struct type type_core__List__nitc__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3024, /* MapRead[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
+3026, /* MapRead[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9669,7 +9750,6 @@ const struct type type_core__List__nitc__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9680,6 +9760,7 @@ const struct type type_core__List__nitc__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9695,12 +9776,13 @@ const struct type type_core__List__nitc__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2988, /* Map[MClass, Set[MVirtualTypeProp]] */
+3075, /* Map[MClass, Collection[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2464, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9725,6 +9807,7 @@ const struct type type_core__List__nitc__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+101, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9744,10 +9827,19 @@ const struct type type_core__List__nitc__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
+-1, /* empty */
+189, /* HashMap[MClass, Set[MVirtualTypeProp]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+232, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9763,54 +9855,28 @@ const struct type type_core__List__nitc__scope__Scope = {
 -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_core__List__nitc__scope__Scope = {
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&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 */
-&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] */
+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]] */
+&type_core__MapRead__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* MapRead[K, V]: MapRead[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 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 */
-},
-};