csrc: regen for 32 bits platforms and Windows
[nit.git] / c_src / nitc__nith.types.2.c
index ebdfe8f..4cb0212 100644 (file)
@@ -1,20 +1,16 @@
 #include "nitc__nith.types.0.h"
-/* runtime type Concat */
-const struct type type_core__ropes__Concat = {
-84,
-"Concat", /* class_name_string */
-5,
+/* runtime type HashMap[MModule, AModule] */
+const struct type type_core__HashMap__nitc__MModule__nitc__AModule = {
+76,
+"HashMap[MModule, AModule]", /* class_name_string */
+109,
 0,
-&resolution_table_core__ropes__Concat,
-130,
+&resolution_table_core__HashMap__nitc__MModule__nitc__AModule,
+166,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-2205, /* Text */
-2344, /* String */
-84, /* Concat */
-2360, /* nullable String */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -24,6 +20,7 @@ const struct type type_core__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3000, /* MapRead[MModule, AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -78,6 +75,7 @@ const struct type type_core__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -119,6 +117,7 @@ const struct type type_core__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+76, /* HashMap[MModule, AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -137,35 +136,13 @@ const struct type type_core__ropes__Concat = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
-},
-};
-const struct types resolution_table_core__ropes__Concat = {
-0, /* dummy */
-{
-&type_core__Text, /* OTHER: Text */
-&type_core__String, /* SELFTYPE: String */
-&type_core__Array__core__String, /* Array[SELFTYPE]: Array[String] */
-}
-};
-/* runtime type RopeChars */
-const struct type type_core__ropes__RopeChars = {
--1, /*CAST DEAD*/
-"RopeChars", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ropes__RopeChars,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
-2206, /* Collection[Char] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -193,11 +170,43 @@ const struct type type_core__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MModule__nitc__AModule = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MModule__nitc__AModule, /* HashMapIterator[K, V]: HashMapIterator[MModule, AModule] */
+&type_nitc__MModule, /* K: MModule */
+&type_nitc__AModule, /* V: AModule */
+&type_core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* HashMapNode[K, V]: HashMapNode[MModule, AModule] */
+&type_core__hash_collection__HashMapKeys__nitc__MModule__nitc__AModule, /* HashMapKeys[K, V]: HashMapKeys[MModule, AModule] */
+&type_core__hash_collection__HashMapValues__nitc__MModule__nitc__AModule, /* HashMapValues[K, V]: HashMapValues[MModule, AModule] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* nullable N: nullable HashMapNode[MModule, AModule] */
+&type_core__MapRead__nitc__MModule__nitc__AModule, /* MapRead[K, V]: MapRead[MModule, AModule] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* N: HashMapNode[MModule, AModule] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MModule, AModule]] */
+}
+};
+/* runtime type HashMap[MClassDef, AClassdef] */
+const struct type type_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
+77,
+"HashMap[MClassDef, AClassdef]", /* class_name_string */
+110,
+0,
+&resolution_table_core__HashMap__nitc__MClassDef__nitc__AClassdef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -208,6 +217,7 @@ const struct type type_core__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3001, /* MapRead[MClassDef, AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -261,6 +271,7 @@ const struct type type_core__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -271,7 +282,6 @@ const struct type type_core__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -287,31 +297,9 @@ const struct type type_core__ropes__RopeChars = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__ropes__RopeChars = {
-0, /* dummy */
-{
-&type_core__ropes__Concat, /* SELFTYPE: Concat */
-&type_core__Array__core__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type RopeBytes */
-const struct type type_core__ropes__RopeBytes = {
--1, /*CAST DEAD*/
-"RopeBytes", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ropes__RopeBytes,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-2215, /* Collection[Byte] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -326,6 +314,7 @@ const struct type type_core__ropes__RopeBytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+77, /* HashMap[MClassDef, AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -343,13 +332,13 @@ const struct type type_core__ropes__RopeBytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -381,6 +370,39 @@ const struct type type_core__ropes__RopeBytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassDef__nitc__AClassdef, /* HashMapIterator[K, V]: HashMapIterator[MClassDef, AClassdef] */
+&type_nitc__MClassDef, /* K: MClassDef */
+&type_nitc__AClassdef, /* V: AClassdef */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* HashMapNode[K, V]: HashMapNode[MClassDef, AClassdef] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassDef__nitc__AClassdef, /* HashMapKeys[K, V]: HashMapKeys[MClassDef, AClassdef] */
+&type_core__hash_collection__HashMapValues__nitc__MClassDef__nitc__AClassdef, /* HashMapValues[K, V]: HashMapValues[MClassDef, AClassdef] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* nullable N: nullable HashMapNode[MClassDef, AClassdef] */
+&type_core__MapRead__nitc__MClassDef__nitc__AClassdef, /* MapRead[K, V]: MapRead[MClassDef, AClassdef] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* N: HashMapNode[MClassDef, AClassdef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
+}
+};
+/* runtime type HashMap[String, MModuleData[AAnnotation]] */
+const struct type type_core__HashMap__core__String__nitc__MModuleData__nitc__AAnnotation = {
+78,
+"HashMap[String, MModuleData[AAnnotation]]", /* class_name_string */
+111,
+0,
+&resolution_table_core__HashMap__core__String__nitc__MModuleData__nitc__AAnnotation,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -392,6 +414,7 @@ const struct type type_core__ropes__RopeBytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3002, /* MapRead[String, MModuleData[AAnnotation]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -421,7 +444,6 @@ const struct type type_core__ropes__RopeBytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -437,33 +459,7 @@ const struct type type_core__ropes__RopeBytes = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__ropes__RopeBytes = {
-0, /* dummy */
-{
-&type_core__ropes__Concat, /* SELFTYPE: Concat */
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-}
-};
-/* runtime type FlatBuffer */
-const struct type type_core__FlatBuffer = {
-87,
-"FlatBuffer", /* class_name_string */
-6,
-0,
-&resolution_table_core__FlatBuffer,
-130,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-2205, /* Text */
-81, /* Buffer */
-2201, /* FlatText */
-87, /* FlatBuffer */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -471,6 +467,7 @@ const struct type type_core__FlatBuffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -514,6 +511,7 @@ const struct type type_core__FlatBuffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+78, /* HashMap[String, MModuleData[AAnnotation]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -536,6 +534,7 @@ const struct type type_core__FlatBuffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -567,6 +566,39 @@ const struct type type_core__FlatBuffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__String__nitc__MModuleData__nitc__AAnnotation = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapIterator[K, V]: HashMapIterator[String, MModuleData[AAnnotation]] */
+&type_core__String, /* K: String */
+&type_nitc__MModuleData__nitc__AAnnotation, /* V: MModuleData[AAnnotation] */
+&type_core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapNode[K, V]: HashMapNode[String, MModuleData[AAnnotation]] */
+&type_core__hash_collection__HashMapKeys__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapKeys[K, V]: HashMapKeys[String, MModuleData[AAnnotation]] */
+&type_core__hash_collection__HashMapValues__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapValues[K, V]: HashMapValues[String, MModuleData[AAnnotation]] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* nullable N: nullable HashMapNode[String, MModuleData[AAnnotation]] */
+&type_core__MapRead__core__String__nitc__MModuleData__nitc__AAnnotation, /* MapRead[K, V]: MapRead[String, MModuleData[AAnnotation]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* N: HashMapNode[String, MModuleData[AAnnotation]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, MModuleData[AAnnotation]]] */
+}
+};
+/* runtime type HashMap[MPropDef, APropdef] */
+const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
+79,
+"HashMap[MPropDef, APropdef]", /* class_name_string */
+112,
+0,
+&resolution_table_core__HashMap__nitc__MPropDef__nitc__APropdef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -579,6 +611,11 @@ const struct type type_core__FlatBuffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3003, /* MapRead[MPropDef, APropdef] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -586,30 +623,7 @@ const struct type type_core__FlatBuffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
-},
-};
-const struct types resolution_table_core__FlatBuffer = {
-0, /* dummy */
-{
-&type_core__Text, /* OTHER: Text */
-&type_core__Buffer, /* SELFTYPE: Buffer */
-&type_core__Array__core__Buffer, /* Array[SELFTYPE]: Array[Buffer] */
-}
-};
-/* runtime type FlatBufferCharView */
-const struct type type_core__flat__FlatBufferCharView = {
--1, /*CAST DEAD*/
-"FlatBufferCharView", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatBufferCharView,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
-2206, /* Collection[Char] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -642,7 +656,6 @@ const struct type type_core__flat__FlatBufferCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -650,6 +663,7 @@ const struct type type_core__flat__FlatBufferCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -694,6 +708,7 @@ const struct type type_core__flat__FlatBufferCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+79, /* HashMap[MPropDef, APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -715,12 +730,22 @@ const struct type type_core__flat__FlatBufferCharView = {
 -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 */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -736,40 +761,41 @@ const struct type type_core__flat__FlatBufferCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__flat__FlatBufferCharView = {
+const struct types resolution_table_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 0, /* dummy */
 {
-&type_core__FlatBuffer, /* SELFTYPE: FlatBuffer */
-&type_core__Array__core__Char, /* Array[E]: Array[Char] */
-NULL, /* empty */
-NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MPropDef__nitc__APropdef, /* HashMapIterator[K, V]: HashMapIterator[MPropDef, APropdef] */
+&type_nitc__MPropDef, /* K: MPropDef */
+&type_nitc__APropdef, /* V: APropdef */
+&type_core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* HashMapNode[K, V]: HashMapNode[MPropDef, APropdef] */
+&type_core__hash_collection__HashMapKeys__nitc__MPropDef__nitc__APropdef, /* HashMapKeys[K, V]: HashMapKeys[MPropDef, APropdef] */
+&type_core__hash_collection__HashMapValues__nitc__MPropDef__nitc__APropdef, /* HashMapValues[K, V]: HashMapValues[MPropDef, APropdef] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* nullable N: nullable HashMapNode[MPropDef, APropdef] */
+&type_core__MapRead__nitc__MPropDef__nitc__APropdef, /* MapRead[K, V]: MapRead[MPropDef, APropdef] */
 NULL, /* empty */
-&type_core__Char, /* E: Char */
-&type_core__Collection__core__Char, /* Collection[E]: Collection[Char] */
-&type_core__Collection__core__Char, /* Collection[E]: Collection[Char] */
+&type_core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* N: HashMapNode[MPropDef, APropdef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
 }
 };
-/* runtime type FlatBufferByteView */
-const struct type type_core__flat__FlatBufferByteView = {
--1, /*CAST DEAD*/
-"FlatBufferByteView", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Array[Int] */
+const struct type type_core__Array__core__Int = {
+80,
+"Array[Int]", /* class_name_string */
+409,
 0,
-&resolution_table_core__flat__FlatBufferByteView,
-132,
+&resolution_table_core__Array__core__Int,
+510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-2215, /* Collection[Byte] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -782,6 +808,7 @@ const struct type type_core__flat__FlatBufferByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2421, /* Collection[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -801,8 +828,8 @@ const struct type type_core__flat__FlatBufferByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -862,6 +889,7 @@ const struct type type_core__flat__FlatBufferByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -879,7 +907,6 @@ const struct type type_core__flat__FlatBufferByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -894,30 +921,10 @@ const struct type type_core__flat__FlatBufferByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatBufferByteView = {
-0, /* dummy */
-{
-&type_core__FlatBuffer, /* SELFTYPE: FlatBuffer */
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-}
-};
-/* runtime type FlatSubstringsIter */
-const struct type type_core__flat__FlatSubstringsIter = {
--1, /*CAST DEAD*/
-"FlatSubstringsIter", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatSubstringsIter,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -926,28 +933,8 @@ const struct type type_core__flat__FlatSubstringsIter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatSubstringsIter = {
-0, /* dummy */
-{
-&type_core__Array__core__FlatText, /* Array[E]: Array[FlatText] */
-}
-};
-/* runtime type NativeArray[Option] */
-const struct type type_core__NativeArray__opts__Option = {
-91,
-"NativeArray[Option]", /* class_name_string */
-4,
-0,
-&resolution_table_core__NativeArray__opts__Option,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-91, /* NativeArray[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -968,6 +955,7 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2565, /* AbstractArrayRead[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -976,7 +964,6 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1006,6 +993,7 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1023,6 +1011,7 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1056,7 +1045,6 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1073,6 +1061,7 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2867, /* AbstractArray[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1093,6 +1082,7 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1153,6 +1143,7 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1169,39 +1160,6 @@ const struct type type_core__NativeArray__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__opts__Option = {
-0, /* dummy */
-{
-&type_opts__Option, /* E: Option */
-&type_core__NativeArray__opts__Option, /* NativeArray[E]: NativeArray[Option] */
-}
-};
-/* runtime type AnnotationPhaseVisitor */
-const struct type type_nitc__phase__AnnotationPhaseVisitor = {
--1, /*CAST DEAD*/
-"AnnotationPhaseVisitor", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[AAnnotation] */
-const struct type type_core__Array__nitc__AAnnotation = {
-93,
-"Array[AAnnotation]", /* class_name_string */
-409,
-0,
-&resolution_table_core__Array__nitc__AAnnotation,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1216,14 +1174,15 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2413, /* Collection[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2370, /* Array[Comparable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1236,14 +1195,13 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
+80, /* Array[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1263,7 +1221,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1314,7 +1271,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1329,8 +1285,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1343,12 +1297,52 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2537, /* AbstractArrayRead[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__core__Int = {
+0, /* dummy */
+{
+&type_core__Int, /* E: Int */
+&type_core__Array__core__Int, /* SELF: Array[Int] */
+&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+&type_core__AbstractArray__core__Int, /* AbstractArray[E]: AbstractArray[Int] */
+&type_core__NativeArray__core__Int, /* NativeArray[E]: NativeArray[Int] */
+&type_core__Int, /* E: Int */
+&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
+&type_core__Int, /* E: Int */
+&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
+&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+&type_core__AbstractArray__core__Int, /* AbstractArray[E]: AbstractArray[Int] */
+&type_core__array__ArrayIterator__core__Int, /* ArrayIterator[E]: ArrayIterator[Int] */
+&type_core__array__ArrayReverseIterator__core__Int, /* ArrayReverseIterator[E]: ArrayReverseIterator[Int] */
+}
+};
+/* runtime type ASCIIFlatString */
+const struct type type_core__flat__ASCIIFlatString = {
+81,
+"ASCIIFlatString", /* class_name_string */
+8,
+0,
+&resolution_table_core__flat__ASCIIFlatString,
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+2209, /* Text */
+2352, /* String */
+2369, /* nullable String */
+2205, /* FlatText */
+19, /* FlatString */
+81, /* ASCIIFlatString */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1363,7 +1357,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1371,7 +1364,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1392,7 +1384,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1443,7 +1434,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1469,11 +1459,40 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2861, /* AbstractArray[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+const struct types resolution_table_core__flat__ASCIIFlatString = {
+0, /* dummy */
+{
+&type_core__Text, /* OTHER: Text */
+&type_core__flat__ASCIIFlatString, /* SELF: ASCIIFlatString */
+&type_core__String, /* SELFTYPE: String */
+&type_core__Array__core__String, /* Array[SELFTYPE]: Array[String] */
+}
+};
+/* runtime type UnicodeFlatString */
+const struct type type_core__flat__UnicodeFlatString = {
+82,
+"UnicodeFlatString", /* class_name_string */
+8,
+0,
+&resolution_table_core__flat__UnicodeFlatString,
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+2209, /* Text */
+2352, /* String */
+2369, /* nullable String */
+2205, /* FlatText */
+19, /* FlatString */
+82, /* UnicodeFlatString */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1489,14 +1508,12 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -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 */
@@ -1518,7 +1535,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1569,7 +1585,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1584,7 +1599,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1599,6 +1613,32 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+const struct types resolution_table_core__flat__UnicodeFlatString = {
+0, /* dummy */
+{
+&type_core__Text, /* OTHER: Text */
+&type_core__flat__UnicodeFlatString, /* SELF: UnicodeFlatString */
+&type_core__String, /* SELFTYPE: String */
+&type_core__Array__core__String, /* Array[SELFTYPE]: Array[String] */
+}
+};
+/* runtime type Buffer */
+const struct type type_core__Buffer = {
+83,
+"Buffer", /* class_name_string */
+4,
+0,
+&resolution_table_core__Buffer,
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+2209, /* Text */
+83, /* Buffer */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1609,7 +1649,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-93, /* Array[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1629,7 +1668,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1648,7 +1686,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1710,40 +1747,6 @@ const struct type type_core__Array__nitc__AAnnotation = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__AAnnotation = {
-0, /* dummy */
-{
-&type_nitc__AAnnotation, /* E: AAnnotation */
-&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_core__AbstractArray__nitc__AAnnotation, /* AbstractArray[E]: AbstractArray[AAnnotation] */
-&type_core__NativeArray__nitc__AAnnotation, /* NativeArray[E]: NativeArray[AAnnotation] */
-&type_nitc__AAnnotation, /* E: AAnnotation */
-&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_nitc__AAnnotation, /* E: AAnnotation */
-&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
-&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
-&type_core__AbstractArray__nitc__AAnnotation, /* AbstractArray[E]: AbstractArray[AAnnotation] */
-&type_core__array__ArrayIterator__nitc__AAnnotation, /* ArrayIterator[E]: ArrayIterator[AAnnotation] */
-&type_core__array__ArrayReverseIterator__nitc__AAnnotation, /* ArrayReverseIterator[E]: ArrayReverseIterator[AAnnotation] */
-}
-};
-/* runtime type FlatStringCharIterator */
-const struct type type_core__flat__FlatStringCharIterator = {
--1, /*CAST DEAD*/
-"FlatStringCharIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatStringCharIterator,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1752,26 +1755,6 @@ const struct type type_core__flat__FlatStringCharIterator = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatStringCharIterator = {
-0, /* dummy */
-{
-&type_core__Array__core__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type FlatStringByteIterator */
-const struct type type_core__flat__FlatStringByteIterator = {
--1, /*CAST DEAD*/
-"FlatStringByteIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatStringByteIterator,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1780,54 +1763,68 @@ const struct type type_core__flat__FlatStringByteIterator = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
 },
 };
-const struct types resolution_table_core__flat__FlatStringByteIterator = {
+const struct types resolution_table_core__Buffer = {
 0, /* dummy */
 {
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
+&type_core__Text, /* OTHER: Text */
+&type_core__Buffer, /* SELF: Buffer */
+&type_core__Buffer, /* SELFTYPE: Buffer */
+&type_core__Array__core__Buffer, /* Array[SELFTYPE]: Array[Buffer] */
 }
 };
-/* runtime type MModule */
-const struct type type_nitc__MModule = {
-96,
-"MModule", /* class_name_string */
-3,
+/* runtime type DefaultComparator */
+const struct type type_core__DefaultComparator = {
+84,
+"DefaultComparator", /* class_name_string */
+2,
 0,
-NULL, /*NO RESOLUTIONS*/
-5,
+&resolution_table_core__DefaultComparator,
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-96, /* MModule */
-2384, /* nullable MModule */
+2380, /* Object */
+2401, /* nullable Object */
+84, /* DefaultComparator */
 },
 };
-/* runtime type HashSet[MModule] */
-const struct type type_core__HashSet__nitc__MModule = {
-97,
-"HashSet[MModule]", /* class_name_string */
-144,
+const struct types resolution_table_core__DefaultComparator = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Comparable, /* COMPARED: Comparable */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Comparable, /* Array[COMPARED]: Array[Comparable] */
+}
+};
+/* runtime type ArraySet[MModule] */
+const struct type type_core__ArraySet__nitc__MModule = {
+85,
+"ArraySet[MModule]", /* class_name_string */
+152,
 0,
-&resolution_table_core__HashSet__nitc__MModule,
-164,
+&resolution_table_core__ArraySet__nitc__MModule,
+158,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2408, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2416, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1849,11 +1846,11 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1886,6 +1883,7 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2475, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1898,7 +1896,6 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2482, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1913,6 +1910,7 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1927,7 +1925,6 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1946,32 +1943,29 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2389, /* Set[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2399, /* Set[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-97, /* HashSet[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
-142, /* HashSet[Object] */
--1, /* empty */
--1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+85, /* ArraySet[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1979,35 +1973,36 @@ const struct type type_core__HashSet__nitc__MModule = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashSet__nitc__MModule = {
+const struct types resolution_table_core__ArraySet__nitc__MModule = {
 0, /* dummy */
 {
 &type_nitc__MModule, /* E: MModule */
+&type_core__ArraySet__nitc__MModule, /* SELF: ArraySet[MModule] */
+&type_core__array__ArraySetIterator__nitc__MModule, /* ArraySetIterator[E]: ArraySetIterator[MModule] */
 &type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-&type_core__hash_collection__HashSetNode__nitc__MModule, /* HashSetNode[E]: HashSetNode[MModule] */
-&type_core__hash_collection__HashSetIterator__nitc__MModule, /* HashSetIterator[E]: HashSetIterator[MModule] */
-&type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
-NULL, /* empty */
+&type_core__ArraySet__nitc__MModule, /* ArraySet[E]: ArraySet[MModule] */
 NULL, /* empty */
+&type_core__Set__nitc__MModule, /* Set[E]: Set[MModule] */
+&type_core__HashSet__nitc__MModule, /* HashSet[E]: HashSet[MModule] */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MModule, /* nullable N: nullable HashSetNode[MModule] */
 &type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
-&type_core__hash_collection__HashSetNode__nitc__MModule, /* N: HashSetNode[MModule] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MModule, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MModule]] */
+&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
 }
 };
-/* runtime type Array[MClassDef] */
-const struct type type_core__Array__nitc__MClassDef = {
-98,
-"Array[MClassDef]", /* class_name_string */
-388,
+/* runtime type FlatStringCharView */
+const struct type type_core__flat__FlatStringCharView = {
+86,
+"FlatStringCharView", /* class_name_string */
+2,
 0,
-&resolution_table_core__Array__nitc__MClassDef,
-510,
+&resolution_table_core__flat__FlatStringCharView,
+132,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+86, /* FlatStringCharView */
+2211, /* Collection[Char] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2023,7 +2018,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2414, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2042,7 +2036,7 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2102,6 +2096,7 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2120,7 +2115,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2135,9 +2129,43 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__flat__FlatStringCharView = {
+0, /* dummy */
+{
+&type_core__FlatString, /* SELFTYPE: FlatString */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Char, /* Array[E]: Array[Char] */
+}
+};
+/* runtime type Concat */
+const struct type type_core__ropes__Concat = {
+87,
+"Concat", /* class_name_string */
+6,
+0,
+&resolution_table_core__ropes__Concat,
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+2209, /* Text */
+2352, /* String */
+2369, /* nullable String */
+87, /* Concat */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2150,7 +2178,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2538, /* AbstractArrayRead[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2169,7 +2196,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2249,7 +2275,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2263,6 +2288,34 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+const struct types resolution_table_core__ropes__Concat = {
+0, /* dummy */
+{
+&type_core__Text, /* OTHER: Text */
+&type_core__ropes__Concat, /* SELF: Concat */
+&type_core__String, /* SELFTYPE: String */
+&type_core__Array__core__String, /* Array[SELFTYPE]: Array[String] */
+}
+};
+/* runtime type FlatBuffer */
+const struct type type_core__FlatBuffer = {
+88,
+"FlatBuffer", /* class_name_string */
+5,
+0,
+&resolution_table_core__FlatBuffer,
+130,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+2209, /* Text */
+83, /* Buffer */
+88, /* FlatBuffer */
+2205, /* FlatText */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2276,7 +2329,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2862, /* AbstractArray[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2295,7 +2347,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2375,7 +2426,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2388,18 +2438,61 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+const struct types resolution_table_core__FlatBuffer = {
+0, /* dummy */
+{
+&type_core__Text, /* OTHER: Text */
+&type_core__FlatBuffer, /* SELF: FlatBuffer */
+&type_core__Buffer, /* SELFTYPE: Buffer */
+&type_core__Array__core__Buffer, /* Array[SELFTYPE]: Array[Buffer] */
+}
+};
+/* runtime type FlatSubstringsIter */
+const struct type type_core__flat__FlatSubstringsIter = {
+89,
+"FlatSubstringsIter", /* class_name_string */
+11,
+0,
+&resolution_table_core__flat__FlatSubstringsIter,
+12,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-98, /* Array[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+89, /* FlatSubstringsIter */
+},
+};
+const struct types resolution_table_core__flat__FlatSubstringsIter = {
+0, /* dummy */
+{
+&type_core__Array__core__FlatText, /* Array[E]: Array[FlatText] */
+}
+};
+/* runtime type NativeArray[Option] */
+const struct type type_core__NativeArray__opts__Option = {
+90,
+"NativeArray[Option]", /* class_name_string */
+4,
+0,
+&resolution_table_core__NativeArray__opts__Option,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+90, /* NativeArray[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2429,6 +2522,7 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2489,6 +2583,7 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2516,39 +2611,6 @@ const struct type type_core__Array__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__MClassDef = {
-0, /* dummy */
-{
-&type_nitc__MClassDef, /* E: MClassDef */
-&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
-&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
-&type_core__AbstractArray__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[MClassDef] */
-&type_core__NativeArray__nitc__MClassDef, /* NativeArray[E]: NativeArray[MClassDef] */
-&type_nitc__MClassDef, /* E: MClassDef */
-&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_nitc__MClassDef, /* E: MClassDef */
-&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
-&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
-&type_core__AbstractArray__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[MClassDef] */
-&type_core__array__ArrayIterator__nitc__MClassDef, /* ArrayIterator[E]: ArrayIterator[MClassDef] */
-&type_core__array__ArrayReverseIterator__nitc__MClassDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[MClassDef] */
-}
-};
-/* runtime type Array[ExternFile] */
-const struct type type_core__Array__nitc__ExternFile = {
-99,
-"Array[ExternFile]", /* class_name_string */
-410,
-0,
-&resolution_table_core__Array__nitc__ExternFile,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2565,7 +2627,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2415, /* Collection[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2583,7 +2644,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2656,12 +2716,66 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__opts__Option = {
+0, /* dummy */
+{
+&type_opts__Option, /* E: Option */
+&type_core__NativeArray__opts__Option, /* NativeArray[E]: NativeArray[Option] */
+}
+};
+/* runtime type Message */
+const struct type type_nitc__Message = {
+91,
+"Message", /* class_name_string */
+3,
+0,
+&resolution_table_nitc__Message,
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+91, /* Message */
+},
+};
+const struct types resolution_table_nitc__Message = {
+0, /* dummy */
+{
+&type_nitc__Message, /* OTHER: Message */
+}
+};
+/* runtime type AnnotationPhaseVisitor */
+const struct type type_nitc__phase__AnnotationPhaseVisitor = {
+92,
+"AnnotationPhaseVisitor", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+92, /* AnnotationPhaseVisitor */
+},
+};
+/* runtime type Array[AAnnotation] */
+const struct type type_core__Array__nitc__AAnnotation = {
+93,
+"Array[AAnnotation]", /* class_name_string */
+410,
+0,
+&resolution_table_core__Array__nitc__AAnnotation,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2672,12 +2786,11 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2422, /* Collection[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2692,14 +2805,15 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2539, /* AbstractArrayRead[ExternFile] */
 -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 */
@@ -2710,7 +2824,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2747,11 +2860,13 @@ const struct type type_core__Array__nitc__ExternFile = {
 -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 */
@@ -2783,6 +2898,8 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2790,7 +2907,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2818,9 +2934,9 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2863, /* AbstractArray[ExternFile] */
 -1, /* empty */
 -1, /* empty */
+2569, /* AbstractArrayRead[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2836,7 +2952,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2845,6 +2960,7 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2593, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2854,6 +2970,7 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2871,6 +2988,7 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2885,6 +3003,7 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2636, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2916,11 +3035,11 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2868, /* AbstractArray[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2931,7 +3050,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2941,12 +3059,14 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2895, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2957,7 +3077,6 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-99, /* Array[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2995,11 +3114,13 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2943, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3032,6 +3153,7 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3057,41 +3179,7 @@ const struct type type_core__Array__nitc__ExternFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__ExternFile = {
-0, /* dummy */
-{
-&type_nitc__ExternFile, /* E: ExternFile */
-&type_core__Array__nitc__ExternFile, /* Array[E]: Array[ExternFile] */
-&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_core__Array__nitc__ExternFile, /* Array[E]: Array[ExternFile] */
-&type_core__AbstractArray__nitc__ExternFile, /* AbstractArray[E]: AbstractArray[ExternFile] */
-&type_core__NativeArray__nitc__ExternFile, /* NativeArray[E]: NativeArray[ExternFile] */
-&type_nitc__ExternFile, /* E: ExternFile */
-&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_nitc__ExternFile, /* E: ExternFile */
-&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
-&type_core__Array__nitc__ExternFile, /* Array[E]: Array[ExternFile] */
-&type_core__AbstractArray__nitc__ExternFile, /* AbstractArray[E]: AbstractArray[ExternFile] */
-&type_core__array__ArrayIterator__nitc__ExternFile, /* ArrayIterator[E]: ArrayIterator[ExternFile] */
-&type_core__array__ArrayReverseIterator__nitc__ExternFile, /* ArrayReverseIterator[E]: ArrayReverseIterator[ExternFile] */
-}
-};
-/* runtime type MultiHashMap[String, String] */
-const struct type type_more_collections__MultiHashMap__core__String__core__String = {
--1, /*CAST DEAD*/
-"MultiHashMap[String, String]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_more_collections__MultiHashMap__core__String__core__String,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
+93, /* Array[AAnnotation] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3110,8 +3198,8 @@ const struct type type_more_collections__MultiHashMap__core__String__core__Strin
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2358, /* HashMap[String, Array[String]] */
 -1, /* empty */
+254, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3150,13 +3238,12 @@ const struct type type_more_collections__MultiHashMap__core__String__core__Strin
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* HashMap[Object, Array[Object]] */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1623, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3173,45 +3260,12 @@ const struct type type_more_collections__MultiHashMap__core__String__core__Strin
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_more_collections__MultiHashMap__core__String__core__String = {
-0, /* dummy */
-{
-&type_core__String, /* K: String */
-&type_core__String, /* V: String */
-&type_core__Array__core__String, /* Array[V]: Array[String] */
-&type_core__hash_collection__HashMapIterator__core__String__core__Array__core__String, /* HashMapIterator[K, V]: HashMapIterator[String, Array[String]] */
-&type_core__String, /* K: String */
-&type_core__Array__core__String, /* V: Array[String] */
-&type_core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* HashMapNode[K, V]: HashMapNode[String, Array[String]] */
-&type_core__hash_collection__HashMapKeys__core__String__core__Array__core__String, /* HashMapKeys[K, V]: HashMapKeys[String, Array[String]] */
-&type_core__hash_collection__HashMapValues__core__String__core__Array__core__String, /* HashMapValues[K, V]: HashMapValues[String, Array[String]] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* nullable N: nullable HashMapNode[String, Array[String]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* N: HashMapNode[String, Array[String]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[String]]] */
-}
-};
-/* runtime type HashSet[FFILanguage] */
-const struct type type_core__HashSet__nitc__FFILanguage = {
-101,
-"HashSet[FFILanguage]", /* class_name_string */
-145,
-0,
-&resolution_table_core__HashSet__nitc__FFILanguage,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2406, /* Collection[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3225,6 +3279,57 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__AAnnotation = {
+0, /* dummy */
+{
+&type_nitc__AAnnotation, /* E: AAnnotation */
+&type_core__Array__nitc__AAnnotation, /* SELF: Array[AAnnotation] */
+&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
+&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
+&type_core__AbstractArray__nitc__AAnnotation, /* AbstractArray[E]: AbstractArray[AAnnotation] */
+&type_core__NativeArray__nitc__AAnnotation, /* NativeArray[E]: NativeArray[AAnnotation] */
+&type_nitc__AAnnotation, /* E: AAnnotation */
+&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
+&type_nitc__AAnnotation, /* E: AAnnotation */
+&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
+&type_core__Collection__nitc__AAnnotation, /* Collection[E]: Collection[AAnnotation] */
+&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
+&type_core__Array__nitc__AAnnotation, /* Array[E]: Array[AAnnotation] */
+&type_core__AbstractArray__nitc__AAnnotation, /* AbstractArray[E]: AbstractArray[AAnnotation] */
+&type_core__array__ArrayIterator__nitc__AAnnotation, /* ArrayIterator[E]: ArrayIterator[AAnnotation] */
+&type_core__array__ArrayReverseIterator__nitc__AAnnotation, /* ArrayReverseIterator[E]: ArrayReverseIterator[AAnnotation] */
+}
+};
+/* runtime type MModule */
+const struct type type_nitc__MModule = {
+94,
+"MModule", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+5,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+94, /* MModule */
+2393, /* nullable MModule */
+},
+};
+/* runtime type HashSet[MModule] */
+const struct type type_core__HashSet__nitc__MModule = {
+95,
+"HashSet[MModule]", /* class_name_string */
+156,
+0,
+&resolution_table_core__HashSet__nitc__MModule,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3233,12 +3338,12 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2416, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3259,6 +3364,7 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3291,6 +3397,7 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2475, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3316,8 +3423,8 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3347,14 +3454,13 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-101, /* HashSet[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2389, /* Set[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3366,40 +3472,9 @@ const struct type type_core__HashSet__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__FFILanguage = {
-0, /* dummy */
-{
-&type_nitc__FFILanguage, /* E: FFILanguage */
-&type_core__Array__nitc__FFILanguage, /* Array[E]: Array[FFILanguage] */
-&type_core__hash_collection__HashSetNode__nitc__FFILanguage, /* HashSetNode[E]: HashSetNode[FFILanguage] */
-&type_core__hash_collection__HashSetIterator__nitc__FFILanguage, /* HashSetIterator[E]: HashSetIterator[FFILanguage] */
-&type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__FFILanguage, /* nullable N: nullable HashSetNode[FFILanguage] */
-&type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
-&type_core__hash_collection__HashSetNode__nitc__FFILanguage, /* N: HashSetNode[FFILanguage] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__FFILanguage, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[FFILanguage]] */
-}
-};
-/* runtime type HashSet[AMethPropdef] */
-const struct type type_core__HashSet__nitc__AMethPropdef = {
-102,
-"HashSet[AMethPropdef]", /* class_name_string */
-146,
-0,
-&resolution_table_core__HashSet__nitc__AMethPropdef,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3408,6 +3483,7 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+95, /* HashSet[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3416,6 +3492,7 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3425,24 +3502,55 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__MModule = {
+0, /* dummy */
+{
+&type_nitc__MModule, /* E: MModule */
+&type_core__HashSet__nitc__MModule, /* SELF: HashSet[MModule] */
+&type_core__hash_collection__HashSetNode__nitc__MModule, /* HashSetNode[E]: HashSetNode[MModule] */
+&type_core__hash_collection__HashSetIterator__nitc__MModule, /* HashSetIterator[E]: HashSetIterator[MModule] */
+&type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
+&type_core__HashSet__nitc__MModule, /* HashSet[E]: HashSet[MModule] */
+&type_core__Set__nitc__MModule, /* Set[E]: Set[MModule] */
+&type_core__HashSet__nitc__MModule, /* HashSet[E]: HashSet[MModule] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MModule, /* nullable N: nullable HashSetNode[MModule] */
+&type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
+&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
+&type_core__hash_collection__HashSetNode__nitc__MModule, /* N: HashSetNode[MModule] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MModule, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MModule]] */
+}
+};
+/* runtime type Array[MClassDef] */
+const struct type type_core__Array__nitc__MClassDef = {
+96,
+"Array[MClassDef]", /* class_name_string */
+388,
+0,
+&resolution_table_core__Array__nitc__MClassDef,
+510,
+{
+2380, /* Object */
+2401, /* 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 */
 -1, /* empty */
+2423, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3450,20 +3558,18 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2452, /* Collection[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
-2455, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3509,7 +3615,6 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3524,6 +3629,7 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3541,14 +3647,11 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-102, /* HashSet[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
-167, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3558,42 +3661,11 @@ const struct type type_core__HashSet__nitc__AMethPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__AMethPropdef = {
-0, /* dummy */
-{
-&type_nitc__AMethPropdef, /* E: AMethPropdef */
-&type_core__Array__nitc__AMethPropdef, /* Array[E]: Array[AMethPropdef] */
-&type_core__hash_collection__HashSetNode__nitc__AMethPropdef, /* HashSetNode[E]: HashSetNode[AMethPropdef] */
-&type_core__hash_collection__HashSetIterator__nitc__AMethPropdef, /* HashSetIterator[E]: HashSetIterator[AMethPropdef] */
-&type_core__Collection__nitc__AMethPropdef, /* Collection[E]: Collection[AMethPropdef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__AMethPropdef, /* nullable N: nullable HashSetNode[AMethPropdef] */
-&type_core__Collection__nitc__AMethPropdef, /* Collection[E]: Collection[AMethPropdef] */
-&type_core__hash_collection__HashSetNode__nitc__AMethPropdef, /* N: HashSetNode[AMethPropdef] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__AMethPropdef, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[AMethPropdef]] */
-}
-};
-/* runtime type HashMap[MClass, Set[MProperty]] */
-const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty = {
-103,
-"HashMap[MClass, Set[MProperty]]", /* class_name_string */
-23,
-0,
-&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MProperty,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2976, /* Map[MClass, Collection[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3611,7 +3683,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-103, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3629,8 +3700,8 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2570, /* AbstractArrayRead[MClassDef] */
 -1, /* empty */
-234, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3651,7 +3722,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3663,6 +3733,7 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3673,52 +3744,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MProperty = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MProperty, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MProperty]] */
-&type_nitc__MClass, /* K: MClass */
-&type_core__Set__nitc__MProperty, /* V: Set[MProperty] */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MProperty]] */
-&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MProperty, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MProperty]] */
-&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MProperty, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MProperty]] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* nullable N: nullable HashMapNode[MClass, Set[MProperty]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-}
-};
-/* runtime type MClassDef */
-const struct type type_nitc__MClassDef = {
-104,
-"MClassDef", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-104, /* MClassDef */
-},
-};
-/* runtime type Array[MClassType] */
-const struct type type_core__Array__nitc__MClassType = {
-105,
-"Array[MClassType]", /* class_name_string */
-389,
-0,
-&resolution_table_core__Array__nitc__MClassType,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3726,6 +3751,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3736,7 +3762,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2416, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3745,7 +3770,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3753,7 +3777,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3764,7 +3787,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3781,6 +3803,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2869, /* AbstractArray[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3799,6 +3822,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3831,7 +3855,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3846,8 +3869,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3862,8 +3883,8 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
-2540, /* AbstractArrayRead[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3872,7 +3893,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2549, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3880,7 +3900,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3892,15 +3911,16 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2569, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+96, /* Array[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3960,7 +3980,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3989,7 +4008,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2864, /* AbstractArray[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3998,7 +4016,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2873, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4006,7 +4023,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4017,7 +4033,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2892, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4027,6 +4042,40 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_nitc__MClassDef, /* E: MClassDef */
+&type_core__Array__nitc__MClassDef, /* SELF: Array[MClassDef] */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_core__AbstractArray__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[MClassDef] */
+&type_core__NativeArray__nitc__MClassDef, /* NativeArray[E]: NativeArray[MClassDef] */
+&type_nitc__MClassDef, /* E: MClassDef */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+&type_nitc__MClassDef, /* E: MClassDef */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_core__AbstractArray__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[MClassDef] */
+&type_core__array__ArrayIterator__nitc__MClassDef, /* ArrayIterator[E]: ArrayIterator[MClassDef] */
+&type_core__array__ArrayReverseIterator__nitc__MClassDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[MClassDef] */
+}
+};
+/* runtime type Array[ExternFile] */
+const struct type type_core__Array__nitc__ExternFile = {
+97,
+"Array[ExternFile]", /* class_name_string */
+411,
+0,
+&resolution_table_core__Array__nitc__ExternFile,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4044,6 +4093,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2424, /* Collection[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4061,6 +4111,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4086,7 +4137,6 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4101,20 +4151,16 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-105, /* Array[MClassType] */
 -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 */
@@ -4125,6 +4171,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4156,6 +4203,8 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4194,6 +4243,7 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2571, /* AbstractArrayRead[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4225,41 +4275,9 @@ const struct type type_core__Array__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__MClassType = {
-0, /* dummy */
-{
-&type_nitc__MClassType, /* E: MClassType */
-&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
-&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
-&type_core__AbstractArray__nitc__MClassType, /* AbstractArray[E]: AbstractArray[MClassType] */
-&type_core__NativeArray__nitc__MClassType, /* NativeArray[E]: NativeArray[MClassType] */
-&type_nitc__MClassType, /* E: MClassType */
-&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
-&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] */
-&type_core__AbstractArray__nitc__MClassType, /* AbstractArray[E]: AbstractArray[MClassType] */
-&type_core__array__ArrayIterator__nitc__MClassType, /* ArrayIterator[E]: ArrayIterator[MClassType] */
-&type_core__array__ArrayReverseIterator__nitc__MClassType, /* ArrayReverseIterator[E]: ArrayReverseIterator[MClassType] */
-}
-};
-/* runtime type Array[MPropDef] */
-const struct type type_core__Array__nitc__MPropDef = {
-106,
-"Array[MPropDef]", /* class_name_string */
-394,
-0,
-&resolution_table_core__Array__nitc__MPropDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4275,10 +4293,10 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2417, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4294,10 +4312,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
-2436, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4327,11 +4342,11 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2870, /* AbstractArray[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4349,6 +4364,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4372,7 +4388,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4387,8 +4402,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4405,7 +4418,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2541, /* AbstractArrayRead[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4413,6 +4425,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4421,10 +4434,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2559, /* AbstractArrayRead[PropertyLayoutElement] */
-2560, /* AbstractArrayRead[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4448,6 +4458,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4456,7 +4467,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4475,6 +4485,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+97, /* Array[ExternFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4501,7 +4512,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4531,7 +4541,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2865, /* AbstractArray[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4547,10 +4556,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
-2883, /* AbstractArray[PropertyLayoutElement] */
-2884, /* AbstractArray[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4578,11 +4584,45 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__ExternFile = {
+0, /* dummy */
+{
+&type_nitc__ExternFile, /* E: ExternFile */
+&type_core__Array__nitc__ExternFile, /* SELF: Array[ExternFile] */
+&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
+&type_core__Array__nitc__ExternFile, /* Array[E]: Array[ExternFile] */
+&type_core__AbstractArray__nitc__ExternFile, /* AbstractArray[E]: AbstractArray[ExternFile] */
+&type_core__NativeArray__nitc__ExternFile, /* NativeArray[E]: NativeArray[ExternFile] */
+&type_nitc__ExternFile, /* E: ExternFile */
+&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
+&type_nitc__ExternFile, /* E: ExternFile */
+&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
+&type_core__Collection__nitc__ExternFile, /* Collection[E]: Collection[ExternFile] */
+&type_core__Array__nitc__ExternFile, /* Array[E]: Array[ExternFile] */
+&type_core__Array__nitc__ExternFile, /* Array[E]: Array[ExternFile] */
+&type_core__AbstractArray__nitc__ExternFile, /* AbstractArray[E]: AbstractArray[ExternFile] */
+&type_core__array__ArrayIterator__nitc__ExternFile, /* ArrayIterator[E]: ArrayIterator[ExternFile] */
+&type_core__array__ArrayReverseIterator__nitc__ExternFile, /* ArrayReverseIterator[E]: ArrayReverseIterator[ExternFile] */
+}
+};
+/* runtime type MultiHashMap[String, String] */
+const struct type type_more_collections__MultiHashMap__core__String__core__String = {
+98,
+"MultiHashMap[String, String]", /* class_name_string */
+172,
+0,
+&resolution_table_more_collections__MultiHashMap__core__String__core__String,
+174,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2916, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4592,6 +4632,7 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3004, /* MapRead[String, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4627,7 +4668,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4642,7 +4682,8 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4652,11 +4693,9 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-106, /* Array[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-242, /* Array[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4684,13 +4723,13 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-236, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2367, /* HashMap[String, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4711,8 +4750,9 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
-1457, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4748,13 +4788,48 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+98, /* MultiHashMap[String, String] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_more_collections__MultiHashMap__core__String__core__String = {
+0, /* dummy */
+{
+&type_core__String, /* K: String */
+&type_core__String, /* V: String */
+&type_core__Array__core__String, /* Array[V]: Array[String] */
+&type_core__hash_collection__HashMapIterator__core__String__core__Array__core__String, /* HashMapIterator[K, V]: HashMapIterator[String, Array[String]] */
+&type_core__String, /* K: String */
+&type_core__Array__core__String, /* V: Array[String] */
+&type_core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* HashMapNode[K, V]: HashMapNode[String, Array[String]] */
+&type_core__hash_collection__HashMapKeys__core__String__core__Array__core__String, /* HashMapKeys[K, V]: HashMapKeys[String, Array[String]] */
+&type_core__hash_collection__HashMapValues__core__String__core__Array__core__String, /* HashMapValues[K, V]: HashMapValues[String, Array[String]] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* nullable N: nullable HashMapNode[String, Array[String]] */
+&type_core__MapRead__core__String__core__Array__core__String, /* MapRead[K, V]: MapRead[String, Array[String]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* N: HashMapNode[String, Array[String]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[String]]] */
+}
+};
+/* runtime type HashSet[FFILanguage] */
+const struct type type_core__HashSet__nitc__FFILanguage = {
+99,
+"HashSet[FFILanguage]", /* class_name_string */
+157,
+0,
+&resolution_table_core__HashSet__nitc__FFILanguage,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2414, /* Collection[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4768,40 +4843,6 @@ const struct type type_core__Array__nitc__MPropDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__MPropDef = {
-0, /* dummy */
-{
-&type_nitc__MPropDef, /* E: MPropDef */
-&type_core__Array__nitc__MPropDef, /* Array[E]: Array[MPropDef] */
-&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_core__Array__nitc__MPropDef, /* Array[E]: Array[MPropDef] */
-&type_core__AbstractArray__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[MPropDef] */
-&type_core__NativeArray__nitc__MPropDef, /* NativeArray[E]: NativeArray[MPropDef] */
-&type_nitc__MPropDef, /* E: MPropDef */
-&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_nitc__MPropDef, /* E: MPropDef */
-&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
-&type_core__Array__nitc__MPropDef, /* Array[E]: Array[MPropDef] */
-&type_core__AbstractArray__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[MPropDef] */
-&type_core__array__ArrayIterator__nitc__MPropDef, /* ArrayIterator[E]: ArrayIterator[MPropDef] */
-&type_core__array__ArrayReverseIterator__nitc__MPropDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[MPropDef] */
-}
-};
-/* runtime type HashMap[MProperty, APropdef] */
-const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
-107,
-"HashMap[MProperty, APropdef]", /* class_name_string */
-24,
-0,
-&resolution_table_core__HashMap__nitc__MProperty__nitc__APropdef,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4816,6 +4857,7 @@ const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4823,7 +4865,6 @@ const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-107, /* HashMap[MProperty, APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4862,7 +4903,6 @@ const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4877,6 +4917,7 @@ const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4884,65 +4925,6 @@ const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MProperty__nitc__APropdef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MProperty__nitc__APropdef, /* HashMapIterator[K, V]: HashMapIterator[MProperty, APropdef] */
-&type_nitc__MProperty, /* K: MProperty */
-&type_nitc__APropdef, /* V: APropdef */
-&type_core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* HashMapNode[K, V]: HashMapNode[MProperty, APropdef] */
-&type_core__hash_collection__HashMapKeys__nitc__MProperty__nitc__APropdef, /* HashMapKeys[K, V]: HashMapKeys[MProperty, APropdef] */
-&type_core__hash_collection__HashMapValues__nitc__MProperty__nitc__APropdef, /* HashMapValues[K, V]: HashMapValues[MProperty, APropdef] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* nullable N: nullable HashMapNode[MProperty, APropdef] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* N: HashMapNode[MProperty, APropdef] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MProperty, APropdef]] */
-}
-};
-/* runtime type MMethodDef */
-const struct type type_nitc__MMethodDef = {
-108,
-"MMethodDef", /* class_name_string */
-7,
-0,
-&resolution_table_nitc__MMethodDef,
-9,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-2372, /* PropertyLayoutElement */
-2381, /* nullable PropertyLayoutElement */
-2368, /* MPropDef */
-2373, /* nullable MPropDef */
-108, /* MMethodDef */
-2983, /* nullable MMethodDef */
-},
-};
-const struct types resolution_table_nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_nitc__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
-&type_nitc__MMethod, /* MPROPERTY: MMethod */
-&type_nitc__MMethodDef, /* MPROPDEF: MMethodDef */
-}
-};
-/* runtime type Array[Int] */
-const struct type type_core__Array__core__Int = {
-109,
-"Array[Int]", /* class_name_string */
-411,
-0,
-&resolution_table_core__Array__core__Int,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4962,7 +4944,6 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2418, /* Collection[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4977,15 +4958,16 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2847, /* Set[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4995,6 +4977,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+99, /* HashSet[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5002,6 +4985,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5011,6 +4995,39 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__FFILanguage = {
+0, /* dummy */
+{
+&type_nitc__FFILanguage, /* E: FFILanguage */
+&type_core__HashSet__nitc__FFILanguage, /* SELF: HashSet[FFILanguage] */
+&type_core__hash_collection__HashSetNode__nitc__FFILanguage, /* HashSetNode[E]: HashSetNode[FFILanguage] */
+&type_core__hash_collection__HashSetIterator__nitc__FFILanguage, /* HashSetIterator[E]: HashSetIterator[FFILanguage] */
+&type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
+&type_core__HashSet__nitc__FFILanguage, /* HashSet[E]: HashSet[FFILanguage] */
+&type_core__Set__nitc__FFILanguage, /* Set[E]: Set[FFILanguage] */
+&type_core__HashSet__nitc__FFILanguage, /* HashSet[E]: HashSet[FFILanguage] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__FFILanguage, /* nullable N: nullable HashSetNode[FFILanguage] */
+&type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
+&type_core__Array__nitc__FFILanguage, /* Array[E]: Array[FFILanguage] */
+&type_core__hash_collection__HashSetNode__nitc__FFILanguage, /* N: HashSetNode[FFILanguage] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__FFILanguage, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[FFILanguage]] */
+}
+};
+/* runtime type HashSet[AMethPropdef] */
+const struct type type_core__HashSet__nitc__AMethPropdef = {
+100,
+"HashSet[AMethPropdef]", /* class_name_string */
+158,
+0,
+&resolution_table_core__HashSet__nitc__AMethPropdef,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5045,17 +5062,18 @@ const struct type type_core__Array__core__Int = {
 -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 */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5070,8 +5088,6 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5082,14 +5098,15 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2478, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
+2481, /* Collection[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2542, /* AbstractArrayRead[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5099,12 +5116,13 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5151,8 +5169,11 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2848, /* Set[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
+2852, /* Set[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5162,12 +5183,15 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+100, /* HashSet[AMethPropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
+166, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5176,6 +5200,39 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__AMethPropdef = {
+0, /* dummy */
+{
+&type_nitc__AMethPropdef, /* E: AMethPropdef */
+&type_core__HashSet__nitc__AMethPropdef, /* SELF: HashSet[AMethPropdef] */
+&type_core__hash_collection__HashSetNode__nitc__AMethPropdef, /* HashSetNode[E]: HashSetNode[AMethPropdef] */
+&type_core__hash_collection__HashSetIterator__nitc__AMethPropdef, /* HashSetIterator[E]: HashSetIterator[AMethPropdef] */
+&type_core__Collection__nitc__AMethPropdef, /* Collection[E]: Collection[AMethPropdef] */
+&type_core__HashSet__nitc__AMethPropdef, /* HashSet[E]: HashSet[AMethPropdef] */
+&type_core__Set__nitc__AMethPropdef, /* Set[E]: Set[AMethPropdef] */
+&type_core__HashSet__nitc__AMethPropdef, /* HashSet[E]: HashSet[AMethPropdef] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__AMethPropdef, /* nullable N: nullable HashSetNode[AMethPropdef] */
+&type_core__Collection__nitc__AMethPropdef, /* Collection[E]: Collection[AMethPropdef] */
+&type_core__Array__nitc__AMethPropdef, /* Array[E]: Array[AMethPropdef] */
+&type_core__hash_collection__HashSetNode__nitc__AMethPropdef, /* N: HashSetNode[AMethPropdef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__AMethPropdef, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[AMethPropdef]] */
+}
+};
+/* runtime type HashMap[MClass, Set[MProperty]] */
+const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MProperty = {
+101,
+"HashMap[MClass, Set[MProperty]]", /* class_name_string */
+114,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MProperty,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5184,13 +5241,13 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3005, /* MapRead[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5211,11 +5268,11 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3026, /* MapRead[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2866, /* AbstractArray[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5230,7 +5287,6 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5241,6 +5297,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5257,6 +5314,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3075, /* Map[MClass, Collection[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5286,6 +5344,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+101, /* HashMap[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5305,18 +5364,19 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+232, /* HashMap[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5325,19 +5385,64 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2361, /* Array[Comparable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MProperty = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MProperty, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MProperty]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Set__nitc__MProperty, /* V: Set[MProperty] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MProperty]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MProperty, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MProperty]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MProperty, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MProperty]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* nullable N: nullable HashMapNode[MClass, Set[MProperty]] */
+&type_core__MapRead__nitc__MClass__core__Set__nitc__MProperty, /* MapRead[K, V]: MapRead[MClass, Set[MProperty]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
+}
+};
+/* runtime type MClassDef */
+const struct type type_nitc__MClassDef = {
+102,
+"MClassDef", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+102, /* MClassDef */
+},
+};
+/* runtime type Array[MClassType] */
+const struct type type_core__Array__nitc__MClassType = {
+103,
+"Array[MClassType]", /* class_name_string */
+389,
+0,
+&resolution_table_core__Array__nitc__MClassType,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5352,11 +5457,11 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-109, /* Array[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5365,6 +5470,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5372,6 +5478,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5382,6 +5489,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5430,6 +5538,7 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5451,97 +5560,18 @@ const struct type type_core__Array__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Int = {
-0, /* dummy */
-{
-&type_core__Int, /* E: Int */
-&type_core__Array__core__Int, /* Array[E]: Array[Int] */
-&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
-&type_core__Array__core__Int, /* Array[E]: Array[Int] */
-&type_core__AbstractArray__core__Int, /* AbstractArray[E]: AbstractArray[Int] */
-&type_core__NativeArray__core__Int, /* NativeArray[E]: NativeArray[Int] */
-&type_core__Int, /* E: Int */
-&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
-&type_core__Int, /* E: Int */
-&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
-&type_core__Collection__core__Int, /* Collection[E]: Collection[Int] */
-&type_core__Array__core__Int, /* Array[E]: Array[Int] */
-&type_core__AbstractArray__core__Int, /* AbstractArray[E]: AbstractArray[Int] */
-&type_core__array__ArrayIterator__core__Int, /* ArrayIterator[E]: ArrayIterator[Int] */
-&type_core__array__ArrayReverseIterator__core__Int, /* ArrayReverseIterator[E]: ArrayReverseIterator[Int] */
-}
-};
-/* runtime type RopeSubstrings */
-const struct type type_core__ropes__RopeSubstrings = {
--1, /*CAST DEAD*/
-"RopeSubstrings", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ropes__RopeSubstrings,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
-2828, /* Iterator[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__ropes__RopeSubstrings = {
-0, /* dummy */
-{
-&type_core__Array__core__FlatString, /* Array[E]: Array[FlatString] */
-}
-};
-/* runtime type RopeCharIterator */
-const struct type type_core__ropes__RopeCharIterator = {
--1, /*CAST DEAD*/
-"RopeCharIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ropes__RopeCharIterator,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
-},
-};
-const struct types resolution_table_core__ropes__RopeCharIterator = {
-0, /* dummy */
-{
-&type_core__Array__core__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type RopeByteIterator */
-const struct type type_core__ropes__RopeByteIterator = {
--1, /*CAST DEAD*/
-"RopeByteIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ropes__RopeByteIterator,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5549,26 +5579,6 @@ const struct type type_core__ropes__RopeByteIterator = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__ropes__RopeByteIterator = {
-0, /* dummy */
-{
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-}
-};
-/* runtime type FlatBufferCharIterator */
-const struct type type_core__flat__FlatBufferCharIterator = {
--1, /*CAST DEAD*/
-"FlatBufferCharIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatBufferCharIterator,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5577,26 +5587,6 @@ const struct type type_core__flat__FlatBufferCharIterator = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatBufferCharIterator = {
-0, /* dummy */
-{
-&type_core__Array__core__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type FlatBufferByteIterator */
-const struct type type_core__flat__FlatBufferByteIterator = {
--1, /*CAST DEAD*/
-"FlatBufferByteIterator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatBufferByteIterator,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5605,40 +5595,6 @@ const struct type type_core__flat__FlatBufferByteIterator = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatBufferByteIterator = {
-0, /* dummy */
-{
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-}
-};
-/* runtime type MPackage */
-const struct type type_nitc__MPackage = {
-115,
-"MPackage", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-115, /* MPackage */
-},
-};
-/* runtime type POSet[MGroup] */
-const struct type type_poset__POSet__nitc__MGroup = {
-116,
-"POSet[MGroup]", /* class_name_string */
-132,
-0,
-&resolution_table_poset__POSet__nitc__MGroup,
-135,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5657,6 +5613,7 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2574, /* AbstractArrayRead[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5673,7 +5630,6 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5683,8 +5639,10 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2600, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5694,7 +5652,6 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2454, /* Collection[MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5703,6 +5660,7 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5723,9 +5681,9 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2483, /* Collection[nullable MGroup] */
 -1, /* empty */
 -1, /* empty */
+2644, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5751,12 +5709,12 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2871, /* AbstractArray[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5765,56 +5723,15 @@ const struct type type_poset__POSet__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2880, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-116, /* POSet[MGroup] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_poset__POSet__nitc__MGroup = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MGroup__poset__POSetElement__nitc__MGroup, /* HashMap[E, POSetElement[E]]: HashMap[MGroup, POSetElement[MGroup]] */
-&type_core__Array__nitc__MGroup, /* Array[E]: Array[MGroup] */
-&type_nitc__MGroup, /* E: MGroup */
-&type_poset__POSetElement__nitc__MGroup, /* POSetElement[E]: POSetElement[MGroup] */
-&type_core__Array__nitc__MGroup, /* Array[E]: Array[MGroup] */
-&type_core__Collection__nitc__MGroup, /* Collection[E]: Collection[MGroup] */
-&type_nitc__POSetConflictGraph__nitc__MGroup, /* POSetConflictGraph[E]: POSetConflictGraph[MGroup] */
-&type_core__Array__nitc__MGroup, /* Array[COMPARED]: Array[MGroup] */
-}
-};
-/* runtime type MGroup */
-const struct type type_nitc__MGroup = {
-117,
-"MGroup", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-117, /* MGroup */
-2385, /* nullable MGroup */
-},
-};
-/* runtime type ConfigTree */
-const struct type type_ini__ConfigTree = {
--1, /*CAST DEAD*/
-"ConfigTree", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-130,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5825,6 +5742,7 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2899, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5874,6 +5792,7 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5906,16 +5825,20 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+103, /* Array[MClassType] */
 -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 */
@@ -5941,20 +5864,6 @@ NULL, /*NO RESOLUTIONS*/
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
-},
-};
-/* runtime type Array[ConfigNode] */
-const struct type type_core__Array__ini__ConfigNode = {
-119,
-"Array[ConfigNode]", /* class_name_string */
-412,
-0,
-&resolution_table_core__Array__ini__ConfigNode,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5975,7 +5884,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2419, /* Collection[ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5989,7 +5897,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6044,6 +5951,40 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MClassType = {
+0, /* dummy */
+{
+&type_nitc__MClassType, /* E: MClassType */
+&type_core__Array__nitc__MClassType, /* SELF: Array[MClassType] */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_core__AbstractArray__nitc__MClassType, /* AbstractArray[E]: AbstractArray[MClassType] */
+&type_core__NativeArray__nitc__MClassType, /* NativeArray[E]: NativeArray[MClassType] */
+&type_nitc__MClassType, /* E: MClassType */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+&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] */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_core__AbstractArray__nitc__MClassType, /* AbstractArray[E]: AbstractArray[MClassType] */
+&type_core__array__ArrayIterator__nitc__MClassType, /* ArrayIterator[E]: ArrayIterator[MClassType] */
+&type_core__array__ArrayReverseIterator__nitc__MClassType, /* ArrayReverseIterator[E]: ArrayReverseIterator[MClassType] */
+}
+};
+/* runtime type Array[MPropDef] */
+const struct type type_core__Array__nitc__MPropDef = {
+104,
+"Array[MPropDef]", /* class_name_string */
+394,
+0,
+&resolution_table_core__Array__nitc__MPropDef,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6063,11 +6004,11 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2426, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6079,11 +6020,12 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
+2445, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6102,7 +6044,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2543, /* AbstractArrayRead[ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6116,7 +6057,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6140,6 +6080,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6153,6 +6094,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6170,6 +6112,8 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6196,7 +6140,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6213,6 +6156,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2575, /* AbstractArrayRead[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6228,7 +6172,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2867, /* AbstractArray[ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6241,8 +6184,8 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6259,12 +6202,16 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2625, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
+2627, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
+2630, /* AbstractArrayRead[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6310,6 +6257,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2872, /* AbstractArray[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6322,11 +6270,13 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
+2890, /* AbstractArray[PropertyLayoutElement] */
+2891, /* AbstractArray[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6337,7 +6287,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6365,7 +6314,6 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-119, /* Array[ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6386,6 +6334,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6399,6 +6348,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2963, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6417,6 +6367,7 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6426,9 +6377,11 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+104, /* Array[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+240, /* Array[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6457,101 +6410,13 @@ const struct type type_core__Array__ini__ConfigNode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+234, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__ini__ConfigNode = {
-0, /* dummy */
-{
-&type_ini__ConfigNode, /* E: ConfigNode */
-&type_core__Array__ini__ConfigNode, /* Array[E]: Array[ConfigNode] */
-&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
-&type_core__Array__ini__ConfigNode, /* Array[E]: Array[ConfigNode] */
-&type_core__AbstractArray__ini__ConfigNode, /* AbstractArray[E]: AbstractArray[ConfigNode] */
-&type_core__NativeArray__ini__ConfigNode, /* NativeArray[E]: NativeArray[ConfigNode] */
-&type_ini__ConfigNode, /* E: ConfigNode */
-&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
-&type_ini__ConfigNode, /* E: ConfigNode */
-&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
-&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
-&type_core__Array__ini__ConfigNode, /* Array[E]: Array[ConfigNode] */
-&type_core__AbstractArray__ini__ConfigNode, /* AbstractArray[E]: AbstractArray[ConfigNode] */
-&type_core__array__ArrayIterator__ini__ConfigNode, /* ArrayIterator[E]: ArrayIterator[ConfigNode] */
-&type_core__array__ArrayReverseIterator__ini__ConfigNode, /* ArrayReverseIterator[E]: ArrayReverseIterator[ConfigNode] */
-}
-};
-/* runtime type SourceFile */
-const struct type type_nitc__SourceFile = {
-120,
-"SourceFile", /* class_name_string */
-2,
-0,
-NULL, /*NO RESOLUTIONS*/
-3,
-{
-2371, /* Object */
-2397, /* nullable Object */
-120, /* SourceFile */
-},
-};
-/* runtime type Location */
-const struct type type_nitc__Location = {
-121,
-"Location", /* class_name_string */
-3,
-0,
-&resolution_table_nitc__Location,
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-121, /* Location */
-},
-};
-const struct types resolution_table_nitc__Location = {
-0, /* dummy */
-{
-&type_nitc__Location, /* OTHER: Location */
-}
-};
-/* runtime type Message */
-const struct type type_nitc__Message = {
-122,
-"Message", /* class_name_string */
-3,
-0,
-&resolution_table_nitc__Message,
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-122, /* Message */
-},
-};
-const struct types resolution_table_nitc__Message = {
-0, /* dummy */
-{
-&type_nitc__Message, /* OTHER: Message */
-}
-};
-/* runtime type ANodes[AClassdef] */
-const struct type type_nitc__ANodes__nitc__AClassdef = {
--1, /*CAST DEAD*/
-"ANodes[AClassdef]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__ANodes__nitc__AClassdef,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6581,19 +6446,16 @@ const struct type type_nitc__ANodes__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 */
@@ -6613,8 +6475,8 @@ const struct type type_nitc__ANodes__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
+1929, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6631,6 +6493,41 @@ const struct type type_nitc__ANodes__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MPropDef = {
+0, /* dummy */
+{
+&type_nitc__MPropDef, /* E: MPropDef */
+&type_core__Array__nitc__MPropDef, /* SELF: Array[MPropDef] */
+&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
+&type_core__Array__nitc__MPropDef, /* Array[E]: Array[MPropDef] */
+&type_core__AbstractArray__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[MPropDef] */
+&type_core__NativeArray__nitc__MPropDef, /* NativeArray[E]: NativeArray[MPropDef] */
+&type_nitc__MPropDef, /* E: MPropDef */
+&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
+&type_nitc__MPropDef, /* E: MPropDef */
+&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
+&type_core__Collection__nitc__MPropDef, /* Collection[E]: Collection[MPropDef] */
+&type_core__Array__nitc__MPropDef, /* Array[E]: Array[MPropDef] */
+&type_core__Array__nitc__MPropDef, /* Array[E]: Array[MPropDef] */
+&type_core__AbstractArray__nitc__MPropDef, /* AbstractArray[E]: AbstractArray[MPropDef] */
+&type_core__array__ArrayIterator__nitc__MPropDef, /* ArrayIterator[E]: ArrayIterator[MPropDef] */
+&type_core__array__ArrayReverseIterator__nitc__MPropDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[MPropDef] */
+}
+};
+/* runtime type HashMap[MProperty, MPropDef] */
+const struct type type_core__HashMap__nitc__MProperty__nitc__MPropDef = {
+105,
+"HashMap[MProperty, MPropDef]", /* class_name_string */
+115,
+0,
+&resolution_table_core__HashMap__nitc__MProperty__nitc__MPropDef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6646,6 +6543,7 @@ const struct type type_nitc__ANodes__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3006, /* MapRead[MProperty, MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6664,7 +6562,6 @@ const struct type type_nitc__ANodes__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6680,37 +6577,7 @@ const struct type type_nitc__ANodes__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_nitc__ANodes__nitc__AClassdef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__AClassdef, /* Array[E]: Array[AClassdef] */
-&type_core__Array__nitc__AClassdef, /* Array[E]: Array[AClassdef] */
-&type_nitc__AClassdef, /* E: AClassdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nitc__AClassdef, /* E: AClassdef */
-&type_core__Collection__nitc__AClassdef, /* Collection[E]: Collection[AClassdef] */
-&type_core__Collection__nitc__AClassdef, /* Collection[E]: Collection[AClassdef] */
-}
-};
-/* runtime type ANodes[APropdef] */
-const struct type type_nitc__ANodes__nitc__APropdef = {
--1, /*CAST DEAD*/
-"ANodes[APropdef]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_nitc__ANodes__nitc__APropdef,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6725,6 +6592,7 @@ const struct type type_nitc__ANodes__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6745,14 +6613,12 @@ const struct type type_nitc__ANodes__nitc__APropdef = {
 -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 */
@@ -6767,15 +6633,14 @@ const struct type type_nitc__ANodes__nitc__APropdef = {
 -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 */
+105, /* HashMap[MProperty, MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6794,6 +6659,7 @@ const struct type type_nitc__ANodes__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6823,9 +6689,41 @@ const struct type type_nitc__ANodes__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MProperty__nitc__MPropDef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MProperty__nitc__MPropDef, /* HashMapIterator[K, V]: HashMapIterator[MProperty, MPropDef] */
+&type_nitc__MProperty, /* K: MProperty */
+&type_nitc__MPropDef, /* V: MPropDef */
+&type_core__hash_collection__HashMapNode__nitc__MProperty__nitc__MPropDef, /* HashMapNode[K, V]: HashMapNode[MProperty, MPropDef] */
+&type_core__hash_collection__HashMapKeys__nitc__MProperty__nitc__MPropDef, /* HashMapKeys[K, V]: HashMapKeys[MProperty, MPropDef] */
+&type_core__hash_collection__HashMapValues__nitc__MProperty__nitc__MPropDef, /* HashMapValues[K, V]: HashMapValues[MProperty, MPropDef] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MProperty__nitc__MPropDef, /* nullable N: nullable HashMapNode[MProperty, MPropDef] */
+&type_core__MapRead__nitc__MProperty__nitc__MPropDef, /* MapRead[K, V]: MapRead[MProperty, MPropDef] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MProperty__nitc__MPropDef, /* N: HashMapNode[MProperty, MPropDef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MProperty__nitc__MPropDef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MProperty, MPropDef]] */
+}
+};
+/* runtime type HashMap[MProperty, APropdef] */
+const struct type type_core__HashMap__nitc__MProperty__nitc__APropdef = {
+106,
+"HashMap[MProperty, APropdef]", /* class_name_string */
+116,
+0,
+&resolution_table_core__HashMap__nitc__MProperty__nitc__APropdef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6839,55 +6737,10 @@ const struct type type_nitc__ANodes__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_nitc__ANodes__nitc__APropdef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__APropdef, /* Array[E]: Array[APropdef] */
-&type_core__Array__nitc__APropdef, /* Array[E]: Array[APropdef] */
-&type_nitc__APropdef, /* E: APropdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nitc__APropdef, /* E: APropdef */
-&type_core__Collection__nitc__APropdef, /* Collection[E]: Collection[APropdef] */
-&type_core__Collection__nitc__APropdef, /* Collection[E]: Collection[APropdef] */
-}
-};
-/* runtime type MClass */
-const struct type type_nitc__MClass = {
-125,
-"MClass", /* class_name_string */
-3,
-0,
-NULL, /*NO RESOLUTIONS*/
-5,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-125, /* MClass */
-2374, /* nullable MClass */
-},
-};
-/* runtime type Array[MParameterType] */
-const struct type type_core__Array__nitc__MParameterType = {
-126,
-"Array[MParameterType]", /* class_name_string */
-413,
-0,
-&resolution_table_core__Array__nitc__MParameterType,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+3007, /* MapRead[MProperty, APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6907,12 +6760,10 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2420, /* Collection[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6920,7 +6771,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6931,7 +6781,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6939,6 +6788,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6987,6 +6837,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+106, /* HashMap[MProperty, APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6998,13 +6849,13 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7013,8 +6864,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7034,12 +6883,72 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2544, /* AbstractArrayRead[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2549, /* AbstractArrayRead[MType] */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MProperty__nitc__APropdef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MProperty__nitc__APropdef, /* HashMapIterator[K, V]: HashMapIterator[MProperty, APropdef] */
+&type_nitc__MProperty, /* K: MProperty */
+&type_nitc__APropdef, /* V: APropdef */
+&type_core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* HashMapNode[K, V]: HashMapNode[MProperty, APropdef] */
+&type_core__hash_collection__HashMapKeys__nitc__MProperty__nitc__APropdef, /* HashMapKeys[K, V]: HashMapKeys[MProperty, APropdef] */
+&type_core__hash_collection__HashMapValues__nitc__MProperty__nitc__APropdef, /* HashMapValues[K, V]: HashMapValues[MProperty, APropdef] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* nullable N: nullable HashMapNode[MProperty, APropdef] */
+&type_core__MapRead__nitc__MProperty__nitc__APropdef, /* MapRead[K, V]: MapRead[MProperty, APropdef] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* N: HashMapNode[MProperty, APropdef] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MProperty__nitc__APropdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MProperty, APropdef]] */
+}
+};
+/* runtime type MMethodDef */
+const struct type type_nitc__MMethodDef = {
+107,
+"MMethodDef", /* class_name_string */
+7,
+0,
+&resolution_table_nitc__MMethodDef,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2381, /* PropertyLayoutElement */
+2407, /* nullable PropertyLayoutElement */
+2377, /* MPropDef */
+2382, /* nullable MPropDef */
+107, /* MMethodDef */
+3082, /* nullable MMethodDef */
+},
+};
+const struct types resolution_table_nitc__MMethodDef = {
+0, /* dummy */
+{
+&type_nitc__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
+&type_nitc__MMethod, /* MPROPERTY: MMethod */
+&type_nitc__MMethodDef, /* MPROPDEF: MMethodDef */
+}
+};
+/* runtime type RopeChars */
+const struct type type_core__ropes__RopeChars = {
+108,
+"RopeChars", /* class_name_string */
+2,
+0,
+&resolution_table_core__ropes__RopeChars,
+132,
+{
+2380, /* Object */
+2401, /* nullable Object */
+108, /* RopeChars */
+2211, /* Collection[Char] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7047,7 +6956,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7059,7 +6967,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2569, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7075,6 +6982,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7127,7 +7035,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7135,6 +7042,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7160,31 +7068,82 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2868, /* AbstractArray[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2873, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__ropes__RopeChars = {
+0, /* dummy */
+{
+&type_core__ropes__Concat, /* SELFTYPE: Concat */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Char, /* Array[E]: Array[Char] */
+}
+};
+/* runtime type RopeSubstrings */
+const struct type type_core__ropes__RopeSubstrings = {
+109,
+"RopeSubstrings", /* class_name_string */
+11,
+0,
+&resolution_table_core__ropes__RopeSubstrings,
+12,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
+2840, /* Iterator[String] */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+109, /* RopeSubstrings */
+},
+};
+const struct types resolution_table_core__ropes__RopeSubstrings = {
+0, /* dummy */
+{
+&type_core__Array__core__FlatString, /* Array[E]: Array[FlatString] */
+}
+};
+/* runtime type FlatBufferCharView */
+const struct type type_core__flat__FlatBufferCharView = {
+110,
+"FlatBufferCharView", /* class_name_string */
+2,
+0,
+&resolution_table_core__flat__FlatBufferCharView,
+132,
+{
+2380, /* Object */
+2401, /* nullable Object */
+110, /* FlatBufferCharView */
+2211, /* Collection[Char] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2892, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7212,6 +7171,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7253,7 +7213,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7268,20 +7227,120 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2210, /* SequenceRead[nullable Object] */
+-1, /* empty */
+},
+};
+const struct types resolution_table_core__flat__FlatBufferCharView = {
+0, /* dummy */
+{
+&type_core__FlatBuffer, /* SELFTYPE: FlatBuffer */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Char, /* E: Char */
+&type_core__Collection__core__Char, /* Collection[E]: Collection[Char] */
+&type_core__Collection__core__Char, /* Collection[E]: Collection[Char] */
+&type_core__Array__core__Char, /* Array[E]: Array[Char] */
+}
+};
+/* runtime type BestDistance[String] */
+const struct type type_more_collections__BestDistance__core__String = {
+111,
+"BestDistance[String]", /* class_name_string */
+2,
+0,
+&resolution_table_more_collections__BestDistance__core__String,
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+111, /* BestDistance[String] */
+-1, /* empty */
+},
+};
+const struct types resolution_table_more_collections__BestDistance__core__String = {
+0, /* dummy */
+{
+&type_core__Set__core__String, /* Set[E]: Set[String] */
+&type_core__String, /* E: String */
+}
+};
+/* runtime type MPackage */
+const struct type type_nitc__MPackage = {
+112,
+"MPackage", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+112, /* MPackage */
+},
+};
+/* runtime type POSet[MGroup] */
+const struct type type_poset__POSet__nitc__MGroup = {
+113,
+"POSet[MGroup]", /* class_name_string */
+133,
+0,
+&resolution_table_poset__POSet__nitc__MGroup,
+136,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2207, /* POSet[nullable Object] */
 -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 */
@@ -7297,7 +7356,6 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-126, /* Array[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7310,6 +7368,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7343,6 +7402,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2476, /* Collection[nullable MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7350,6 +7410,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2484, /* Collection[MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7367,6 +7428,7 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7394,40 +7456,82 @@ const struct type type_core__Array__nitc__MParameterType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+113, /* POSet[MGroup] */
+-1, /* empty */
+-1, /* empty */
 },
 };
-const struct types resolution_table_core__Array__nitc__MParameterType = {
+const struct types resolution_table_poset__POSet__nitc__MGroup = {
 0, /* dummy */
 {
-&type_nitc__MParameterType, /* E: MParameterType */
-&type_core__Array__nitc__MParameterType, /* Array[E]: Array[MParameterType] */
-&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_core__Array__nitc__MParameterType, /* Array[E]: Array[MParameterType] */
-&type_core__AbstractArray__nitc__MParameterType, /* AbstractArray[E]: AbstractArray[MParameterType] */
-&type_core__NativeArray__nitc__MParameterType, /* NativeArray[E]: NativeArray[MParameterType] */
-&type_nitc__MParameterType, /* E: MParameterType */
-&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_nitc__MParameterType, /* E: MParameterType */
-&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
-&type_core__Array__nitc__MParameterType, /* Array[E]: Array[MParameterType] */
-&type_core__AbstractArray__nitc__MParameterType, /* AbstractArray[E]: AbstractArray[MParameterType] */
-&type_core__array__ArrayIterator__nitc__MParameterType, /* ArrayIterator[E]: ArrayIterator[MParameterType] */
-&type_core__array__ArrayReverseIterator__nitc__MParameterType, /* ArrayReverseIterator[E]: ArrayReverseIterator[MParameterType] */
+&type_core__HashMap__nitc__MGroup__poset__POSetElement__nitc__MGroup, /* HashMap[E, POSetElement[E]]: HashMap[MGroup, POSetElement[MGroup]] */
+&type_poset__POSet__nitc__MGroup, /* SELF: POSet[MGroup] */
+&type_nitc__MGroup, /* E: MGroup */
+&type_poset__POSetElement__nitc__MGroup, /* POSetElement[E]: POSetElement[MGroup] */
+&type_core__Array__nitc__MGroup, /* Array[E]: Array[MGroup] */
+&type_nitc__MGroup, /* COMPARED: MGroup */
+&type_core__Collection__nitc__MGroup, /* Collection[E]: Collection[MGroup] */
+&type_poset__POSet__nitc__MGroup, /* POSet[E]: POSet[MGroup] */
+&type_nitc__POSetConflictGraph__nitc__MGroup, /* POSetConflictGraph[E]: POSetConflictGraph[MGroup] */
+&type_core__Array__nitc__MGroup, /* Array[COMPARED]: Array[MGroup] */
+NULL, /* empty */
+&type_core__Array__nitc__MGroup, /* Array[E]: Array[MGroup] */
 }
 };
-/* runtime type HashMap[Array[MType], MGenericType] */
-const struct type type_core__HashMap__core__Array__nitc__MType__nitc__MGenericType = {
-127,
-"HashMap[Array[MType], MGenericType]", /* class_name_string */
-25,
+/* runtime type MGroup */
+const struct type type_nitc__MGroup = {
+114,
+"MGroup", /* class_name_string */
+4,
 0,
-&resolution_table_core__HashMap__core__Array__nitc__MType__nitc__MGenericType,
-85,
+NULL, /*NO RESOLUTIONS*/
+5,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2394, /* nullable MGroup */
+114, /* MGroup */
+},
+};
+/* runtime type ConfigTree */
+const struct type type_ini__ConfigTree = {
+115,
+"ConfigTree", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+130,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+115, /* ConfigTree */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7450,7 +7554,6 @@ const struct type type_core__HashMap__core__Array__nitc__MType__nitc__MGenericTy
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-127, /* HashMap[Array[MType], MGenericType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7488,7 +7591,6 @@ const struct type type_core__HashMap__core__Array__nitc__MType__nitc__MGenericTy
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7510,72 +7612,6 @@ const struct type type_core__HashMap__core__Array__nitc__MType__nitc__MGenericTy
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__core__Array__nitc__MType__nitc__MGenericType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__core__Array__nitc__MType__nitc__MGenericType, /* HashMapIterator[K, V]: HashMapIterator[Array[MType], MGenericType] */
-&type_core__Array__nitc__MType, /* K: Array[MType] */
-&type_nitc__MGenericType, /* V: MGenericType */
-&type_core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* HashMapNode[K, V]: HashMapNode[Array[MType], MGenericType] */
-&type_core__hash_collection__HashMapKeys__core__Array__nitc__MType__nitc__MGenericType, /* HashMapKeys[K, V]: HashMapKeys[Array[MType], MGenericType] */
-&type_core__hash_collection__HashMapValues__core__Array__nitc__MType__nitc__MGenericType, /* HashMapValues[K, V]: HashMapValues[Array[MType], MGenericType] */
-&type_nullable__core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* nullable N: nullable HashMapNode[Array[MType], MGenericType] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* N: HashMapNode[Array[MType], MGenericType] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[Array[MType], MGenericType]] */
-}
-};
-/* runtime type MVisibility */
-const struct type type_nitc__MVisibility = {
-128,
-"MVisibility", /* class_name_string */
-3,
-0,
-&resolution_table_nitc__MVisibility,
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-128, /* MVisibility */
-},
-};
-const struct types resolution_table_nitc__MVisibility = {
-0, /* dummy */
-{
-&type_nitc__MVisibility, /* OTHER: MVisibility */
-}
-};
-/* runtime type RapidTypeAnalysis */
-const struct type type_nitc__RapidTypeAnalysis = {
--1, /*CAST DEAD*/
-"RapidTypeAnalysis", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type HashSet[MClassType] */
-const struct type type_core__HashSet__nitc__MClassType = {
-130,
-"HashSet[MClassType]", /* class_name_string */
-147,
-0,
-&resolution_table_core__HashSet__nitc__MClassType,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7592,7 +7628,6 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2416, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7601,15 +7636,27 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2384, /* Writable */
+},
+};
+/* runtime type Array[ConfigNode] */
+const struct type type_core__Array__ini__ConfigNode = {
+116,
+"Array[ConfigNode]", /* class_name_string */
+412,
+0,
+&resolution_table_core__Array__ini__ConfigNode,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7620,7 +7667,6 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7628,6 +7674,7 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2427, /* Collection[ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7642,6 +7689,7 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7687,7 +7735,6 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7702,30 +7749,26 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2390, /* Set[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2395, /* Set[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-132, /* HashSet[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-130, /* HashSet[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7737,39 +7780,9 @@ const struct type type_core__HashSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__MClassType = {
-0, /* dummy */
-{
-&type_nitc__MClassType, /* E: MClassType */
-&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
-&type_core__hash_collection__HashSetNode__nitc__MClassType, /* HashSetNode[E]: HashSetNode[MClassType] */
-&type_core__hash_collection__HashSetIterator__nitc__MClassType, /* HashSetIterator[E]: HashSetIterator[MClassType] */
-&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MClassType, /* nullable N: nullable HashSetNode[MClassType] */
-&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
-&type_core__hash_collection__HashSetNode__nitc__MClassType, /* N: HashSetNode[MClassType] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClassType]] */
-}
-};
-/* runtime type HashSet[MClass] */
-const struct type type_core__HashSet__nitc__MClass = {
-131,
-"HashSet[MClass]", /* class_name_string */
-148,
-0,
-&resolution_table_core__HashSet__nitc__MClass,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7778,7 +7791,6 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7802,11 +7814,9 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7820,6 +7830,7 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2580, /* AbstractArrayRead[ConfigNode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7842,6 +7853,7 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7859,6 +7871,7 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7880,7 +7893,6 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7897,7 +7909,6 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2389, /* Set[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7914,11 +7925,10 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-131, /* HashSet[MClass] */
 -1, /* empty */
 -1, /* empty */
+2873, /* AbstractArray[ConfigNode] */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7930,40 +7940,9 @@ const struct type type_core__HashSet__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__MClass = {
-0, /* dummy */
-{
-&type_nitc__MClass, /* E: MClass */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_core__hash_collection__HashSetNode__nitc__MClass, /* HashSetNode[E]: HashSetNode[MClass] */
-&type_core__hash_collection__HashSetIterator__nitc__MClass, /* HashSetIterator[E]: HashSetIterator[MClass] */
-&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MClass, /* nullable N: nullable HashSetNode[MClass] */
-&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
-&type_core__hash_collection__HashSetNode__nitc__MClass, /* N: HashSetNode[MClass] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClass]] */
-}
-};
-/* runtime type HashSet[MType] */
-const struct type type_core__HashSet__nitc__MType = {
-132,
-"HashSet[MType]", /* class_name_string */
-141,
-0,
-&resolution_table_core__HashSet__nitc__MType,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7987,7 +7966,6 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7995,7 +7973,6 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8006,7 +7983,6 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8027,6 +8003,7 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8059,6 +8036,7 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8073,7 +8051,6 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8087,6 +8064,12 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+116, /* Array[ConfigNode] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8095,12 +8078,10 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2395, /* Set[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-132, /* HashSet[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8111,7 +8092,6 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8123,38 +8103,6 @@ const struct type type_core__HashSet__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__MType = {
-0, /* dummy */
-{
-&type_nitc__MType, /* E: MType */
-&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
-&type_core__hash_collection__HashSetNode__nitc__MType, /* HashSetNode[E]: HashSetNode[MType] */
-&type_core__hash_collection__HashSetIterator__nitc__MType, /* HashSetIterator[E]: HashSetIterator[MType] */
-&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MType, /* nullable N: nullable HashSetNode[MType] */
-&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
-&type_core__hash_collection__HashSetNode__nitc__MType, /* N: HashSetNode[MType] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MType]] */
-}
-};
-/* runtime type HashSet[MMethodDef] */
-const struct type type_core__HashSet__nitc__MMethodDef = {
-133,
-"HashSet[MMethodDef]", /* class_name_string */
-149,
-0,
-&resolution_table_core__HashSet__nitc__MMethodDef,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8172,7 +8120,6 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2417, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8188,10 +8135,7 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
-2436, /* Collection[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8211,7 +8155,6 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2456, /* Collection[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8219,9 +8162,48 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__ini__ConfigNode = {
+0, /* dummy */
+{
+&type_ini__ConfigNode, /* E: ConfigNode */
+&type_core__Array__ini__ConfigNode, /* SELF: Array[ConfigNode] */
+&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
+&type_core__Array__ini__ConfigNode, /* Array[E]: Array[ConfigNode] */
+&type_core__AbstractArray__ini__ConfigNode, /* AbstractArray[E]: AbstractArray[ConfigNode] */
+&type_core__NativeArray__ini__ConfigNode, /* NativeArray[E]: NativeArray[ConfigNode] */
+&type_ini__ConfigNode, /* E: ConfigNode */
+&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
+&type_ini__ConfigNode, /* E: ConfigNode */
+&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
+&type_core__Collection__ini__ConfigNode, /* Collection[E]: Collection[ConfigNode] */
+&type_core__Array__ini__ConfigNode, /* Array[E]: Array[ConfigNode] */
+&type_core__Array__ini__ConfigNode, /* Array[E]: Array[ConfigNode] */
+&type_core__AbstractArray__ini__ConfigNode, /* AbstractArray[E]: AbstractArray[ConfigNode] */
+&type_core__array__ArrayIterator__ini__ConfigNode, /* ArrayIterator[E]: ArrayIterator[ConfigNode] */
+&type_core__array__ArrayReverseIterator__ini__ConfigNode, /* ArrayReverseIterator[E]: ArrayReverseIterator[ConfigNode] */
+}
+};
+/* runtime type ANodes[AClassdef] */
+const struct type type_nitc__ANodes__nitc__AClassdef = {
+117,
+"ANodes[AClassdef]", /* class_name_string */
+2,
+0,
+&resolution_table_nitc__ANodes__nitc__AClassdef,
+143,
+{
+2380, /* Object */
+2401, /* nullable Object */
+117, /* ANodes[AClassdef] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8244,16 +8226,19 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2437, /* Collection[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8266,7 +8251,6 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8286,10 +8270,8 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2393, /* Set[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
-2396, /* Set[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8301,53 +8283,20 @@ const struct type type_core__HashSet__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-133, /* HashSet[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-237, /* HashSet[PropertyLayoutElement] */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_nitc__MMethodDef, /* E: MMethodDef */
-&type_core__Array__nitc__MMethodDef, /* Array[E]: Array[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] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MMethodDef, /* nullable N: nullable HashSetNode[MMethodDef] */
-&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[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 HashSet[MMethod] */
-const struct type type_core__HashSet__nitc__MMethod = {
-134,
-"HashSet[MMethod]", /* class_name_string */
-150,
-0,
-&resolution_table_core__HashSet__nitc__MMethod,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8358,7 +8307,6 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8369,7 +8317,6 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2421, /* Collection[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8377,13 +8324,12 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8391,6 +8337,36 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__ANodes__nitc__AClassdef = {
+0, /* dummy */
+{
+&type_core__Array__nitc__AClassdef, /* Array[E]: Array[AClassdef] */
+&type_nitc__AClassdef, /* E: AClassdef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&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] */
+}
+};
+/* runtime type ANodes[APropdef] */
+const struct type type_nitc__ANodes__nitc__APropdef = {
+118,
+"ANodes[APropdef]", /* class_name_string */
+129,
+0,
+&resolution_table_nitc__ANodes__nitc__APropdef,
+143,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8414,7 +8390,6 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8427,12 +8402,14 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -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 */
@@ -8459,14 +8436,13 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2478, /* Collection[APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8474,19 +8450,19 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2387, /* Set[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2393, /* Set[PropertyLayoutElement] */
 -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 */
@@ -8495,52 +8471,16 @@ const struct type type_core__HashSet__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-134, /* HashSet[MMethod] */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-237, /* HashSet[PropertyLayoutElement] */
 -1, /* empty */
-248, /* HashSet[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__MMethod = {
-0, /* dummy */
-{
-&type_nitc__MMethod, /* E: MMethod */
-&type_core__Array__nitc__MMethod, /* Array[E]: Array[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] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_nullable__core__hash_collection__HashSetNode__nitc__MMethod, /* nullable N: nullable HashSetNode[MMethod] */
-&type_core__Collection__nitc__MMethod, /* Collection[E]: Collection[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 HashSet[CallSite] */
-const struct type type_core__HashSet__nitc__CallSite = {
-135,
-"HashSet[CallSite]", /* class_name_string */
-151,
-0,
-&resolution_table_core__HashSet__nitc__CallSite,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8554,6 +8494,8 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+118, /* ANodes[APropdef] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8566,6 +8508,53 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__ANodes__nitc__APropdef = {
+0, /* dummy */
+{
+&type_core__Array__nitc__APropdef, /* Array[E]: Array[APropdef] */
+&type_nitc__APropdef, /* E: APropdef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nitc__APropdef, /* E: APropdef */
+&type_core__Collection__nitc__APropdef, /* Collection[E]: Collection[APropdef] */
+&type_core__Collection__nitc__APropdef, /* Collection[E]: Collection[APropdef] */
+&type_core__Array__nitc__APropdef, /* Array[E]: Array[APropdef] */
+}
+};
+/* runtime type MClass */
+const struct type type_nitc__MClass = {
+119,
+"MClass", /* class_name_string */
+3,
+0,
+NULL, /*NO RESOLUTIONS*/
+5,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+119, /* MClass */
+2383, /* nullable MClass */
+},
+};
+/* runtime type Array[MParameterType] */
+const struct type type_core__Array__nitc__MParameterType = {
+120,
+"Array[MParameterType]", /* class_name_string */
+413,
+0,
+&resolution_table_core__Array__nitc__MParameterType,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8573,8 +8562,6 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2432, /* Collection[CallSite] */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8588,11 +8575,13 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2428, /* Collection[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8600,6 +8589,7 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8610,6 +8600,7 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8652,13 +8643,13 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8689,9 +8680,9 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-135, /* HashSet[CallSite] */
-142, /* HashSet[Object] */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8702,61 +8693,7 @@ const struct type type_core__HashSet__nitc__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__nitc__CallSite = {
-0, /* dummy */
-{
-&type_nitc__CallSite, /* E: CallSite */
-&type_core__Array__nitc__CallSite, /* Array[E]: Array[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] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-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__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 = {
--1, /*CAST DEAD*/
-"HashMap2[MType, MProperty, Set[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_more_collections__HashMap2__nitc__MType__nitc__MProperty__core__Set__nitc__MMethodDef,
-3,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -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 = {
-137,
-"Array[MMethod]", /* class_name_string */
-414,
-0,
-&resolution_table_core__Array__nitc__MMethod,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8768,7 +8705,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8779,7 +8715,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2421, /* Collection[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8791,13 +8726,12 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2581, /* AbstractArrayRead[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8816,15 +8750,16 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2600, /* AbstractArrayRead[MType] */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8836,6 +8771,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8858,6 +8794,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2644, /* AbstractArrayRead[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8869,14 +8806,12 @@ const struct type type_core__Array__nitc__MMethod = {
 -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 */
@@ -8884,8 +8819,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8895,20 +8828,21 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2534, /* AbstractArrayRead[MProperty] */
+2874, /* AbstractArray[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2880, /* AbstractArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2545, /* AbstractArrayRead[MMethod] */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8918,9 +8852,8 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2559, /* AbstractArrayRead[PropertyLayoutElement] */
+2899, /* AbstractArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8953,7 +8886,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8971,6 +8903,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8998,30 +8931,30 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
-2644, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -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 */
 -1, /* empty */
 -1, /* empty */
-2858, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9032,7 +8965,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2869, /* AbstractArray[MMethod] */
+120, /* Array[MParameterType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9044,9 +8977,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
-2883, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9079,7 +9010,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2916, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9124,22 +9054,54 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2968, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MParameterType = {
+0, /* dummy */
+{
+&type_nitc__MParameterType, /* E: MParameterType */
+&type_core__Array__nitc__MParameterType, /* SELF: Array[MParameterType] */
+&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
+&type_core__Array__nitc__MParameterType, /* Array[E]: Array[MParameterType] */
+&type_core__AbstractArray__nitc__MParameterType, /* AbstractArray[E]: AbstractArray[MParameterType] */
+&type_core__NativeArray__nitc__MParameterType, /* NativeArray[E]: NativeArray[MParameterType] */
+&type_nitc__MParameterType, /* E: MParameterType */
+&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
+&type_nitc__MParameterType, /* E: MParameterType */
+&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
+&type_core__Collection__nitc__MParameterType, /* Collection[E]: Collection[MParameterType] */
+&type_core__Array__nitc__MParameterType, /* Array[E]: Array[MParameterType] */
+&type_core__Array__nitc__MParameterType, /* Array[E]: Array[MParameterType] */
+&type_core__AbstractArray__nitc__MParameterType, /* AbstractArray[E]: AbstractArray[MParameterType] */
+&type_core__array__ArrayIterator__nitc__MParameterType, /* ArrayIterator[E]: ArrayIterator[MParameterType] */
+&type_core__array__ArrayReverseIterator__nitc__MParameterType, /* ArrayReverseIterator[E]: ArrayReverseIterator[MParameterType] */
+}
+};
+/* runtime type HashMap[Array[MType], MGenericType] */
+const struct type type_core__HashMap__core__Array__nitc__MType__nitc__MGenericType = {
+121,
+"HashMap[Array[MType], MGenericType]", /* class_name_string */
+119,
+0,
+&resolution_table_core__HashMap__core__Array__nitc__MType__nitc__MGenericType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9151,10 +9113,9 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-64, /* Array[MProperty] */
 -1, /* empty */
+3008, /* MapRead[Array[MType], MGenericType] */
 -1, /* empty */
-2119, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9169,7 +9130,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-137, /* Array[MMethod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9181,7 +9141,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-236, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9202,6 +9161,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9209,7 +9169,6 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1457, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9254,6 +9213,7 @@ const struct type type_core__Array__nitc__MMethod = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+121, /* HashMap[Array[MType], MGenericType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9265,43 +9225,10 @@ const struct type type_core__Array__nitc__MMethod = {
 -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, /* Array[E]: 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__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 = {
-138,
-"List[MMethodDef]", /* class_name_string */
-2,
-0,
-&resolution_table_core__List__nitc__MMethodDef,
-136,
-{
-2371, /* Object */
-2397, /* nullable Object */
-138, /* List[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9316,7 +9243,6 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2417, /* Collection[MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9332,11 +9258,76 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
-2436, /* Collection[nullable MPropDef] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__Array__nitc__MType__nitc__MGenericType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__Array__nitc__MType__nitc__MGenericType, /* HashMapIterator[K, V]: HashMapIterator[Array[MType], MGenericType] */
+&type_core__Array__nitc__MType, /* K: Array[MType] */
+&type_nitc__MGenericType, /* V: MGenericType */
+&type_core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* HashMapNode[K, V]: HashMapNode[Array[MType], MGenericType] */
+&type_core__hash_collection__HashMapKeys__core__Array__nitc__MType__nitc__MGenericType, /* HashMapKeys[K, V]: HashMapKeys[Array[MType], MGenericType] */
+&type_core__hash_collection__HashMapValues__core__Array__nitc__MType__nitc__MGenericType, /* HashMapValues[K, V]: HashMapValues[Array[MType], MGenericType] */
+&type_nullable__core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* nullable N: nullable HashMapNode[Array[MType], MGenericType] */
+&type_core__MapRead__core__Array__nitc__MType__nitc__MGenericType, /* MapRead[K, V]: MapRead[Array[MType], MGenericType] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* N: HashMapNode[Array[MType], MGenericType] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__Array__nitc__MType__nitc__MGenericType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[Array[MType], MGenericType]] */
+}
+};
+/* runtime type MVisibility */
+const struct type type_nitc__MVisibility = {
+122,
+"MVisibility", /* class_name_string */
+3,
+0,
+&resolution_table_nitc__MVisibility,
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+122, /* MVisibility */
+},
+};
+const struct types resolution_table_nitc__MVisibility = {
+0, /* dummy */
+{
+&type_nitc__MVisibility, /* OTHER: MVisibility */
+}
+};
+/* runtime type RapidTypeAnalysis */
+const struct type type_nitc__RapidTypeAnalysis = {
+123,
+"RapidTypeAnalysis", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+123, /* RapidTypeAnalysis */
+},
+};
+/* runtime type HashSet[MClassType] */
+const struct type type_core__HashSet__nitc__MClassType = {
+124,
+"HashSet[MClassType]", /* class_name_string */
+160,
+0,
+&resolution_table_core__HashSet__nitc__MClassType,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9354,8 +9345,8 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MClassType] */
 -1, /* empty */
-2456, /* Collection[MMethodDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9363,14 +9354,15 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9381,6 +9373,7 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9410,7 +9403,6 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9426,63 +9418,12 @@ const struct type type_core__List__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__List__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_nitc__MMethodDef, /* E: MMethodDef */
-&type_core__Array__nitc__MMethodDef, /* Array[E]: Array[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 */
-&type_nitc__MMethodDef, /* E: MMethodDef */
-&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
-&type_core__Collection__nitc__MMethodDef, /* Collection[E]: Collection[MMethodDef] */
-}
-};
-/* runtime type SeparateCompiler */
-const struct type type_nitc__SeparateCompiler = {
-139,
-"SeparateCompiler", /* class_name_string */
-3,
-0,
-&resolution_table_nitc__SeparateCompiler,
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2980, /* AbstractCompiler */
-139, /* 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 = {
-140,
-"HashMap[MClassDef, HashSet[MType]]", /* class_name_string */
-26,
-0,
-&resolution_table_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MType,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9506,7 +9447,6 @@ const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-140, /* HashMap[MClassDef, HashSet[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9517,11 +9457,13 @@ const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2391, /* Set[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2404, /* Set[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9530,10 +9472,12 @@ const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+126, /* HashSet[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9541,11 +9485,12 @@ const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+124, /* HashSet[MClassType] */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9555,6 +9500,39 @@ const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__MClassType = {
+0, /* dummy */
+{
+&type_nitc__MClassType, /* E: MClassType */
+&type_core__HashSet__nitc__MClassType, /* SELF: HashSet[MClassType] */
+&type_core__hash_collection__HashSetNode__nitc__MClassType, /* HashSetNode[E]: HashSetNode[MClassType] */
+&type_core__hash_collection__HashSetIterator__nitc__MClassType, /* HashSetIterator[E]: HashSetIterator[MClassType] */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+&type_core__HashSet__nitc__MClassType, /* HashSet[E]: HashSet[MClassType] */
+&type_core__Set__nitc__MClassType, /* Set[E]: Set[MClassType] */
+&type_core__HashSet__nitc__MClassType, /* HashSet[E]: HashSet[MClassType] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MClassType, /* nullable N: nullable HashSetNode[MClassType] */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_core__hash_collection__HashSetNode__nitc__MClassType, /* N: HashSetNode[MClassType] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClassType]] */
+}
+};
+/* runtime type HashSet[MClass] */
+const struct type type_core__HashSet__nitc__MClass = {
+125,
+"HashSet[MClass]", /* class_name_string */
+161,
+0,
+&resolution_table_core__HashSet__nitc__MClass,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9564,39 +9542,8 @@ const struct type type_core__HashMap__nitc__MClassDef__core__HashSet__nitc__MTyp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2417, /* Collection[MClass] */
 -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]] */
-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 = {
-141,
-"HashMap[MClass, Int]", /* class_name_string */
-27,
-0,
-&resolution_table_core__HashMap__nitc__MClass__core__Int,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9620,10 +9567,11 @@ const struct type type_core__HashMap__nitc__MClass__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
-141, /* HashMap[MClass, Int] */
 -1, /* empty */
 -1, /* empty */
+2446, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9657,7 +9605,6 @@ const struct type type_core__HashMap__nitc__MClass__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9679,39 +9626,8 @@ const struct type type_core__HashMap__nitc__MClass__core__Int = {
 -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] */
-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 = {
-142,
-"HashSet[Object]", /* class_name_string */
-152,
-0,
-&resolution_table_core__HashSet__core__Object,
-164,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9744,13 +9660,13 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2023, /* Set[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9761,6 +9677,7 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9774,9 +9691,11 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+125, /* HashSet[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9786,6 +9705,39 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashSet__nitc__MClass = {
+0, /* dummy */
+{
+&type_nitc__MClass, /* E: MClass */
+&type_core__HashSet__nitc__MClass, /* SELF: HashSet[MClass] */
+&type_core__hash_collection__HashSetNode__nitc__MClass, /* HashSetNode[E]: HashSetNode[MClass] */
+&type_core__hash_collection__HashSetIterator__nitc__MClass, /* HashSetIterator[E]: HashSetIterator[MClass] */
+&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
+&type_core__HashSet__nitc__MClass, /* HashSet[E]: HashSet[MClass] */
+&type_core__Set__nitc__MClass, /* Set[E]: Set[MClass] */
+&type_core__HashSet__nitc__MClass, /* HashSet[E]: HashSet[MClass] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MClass, /* nullable N: nullable HashSetNode[MClass] */
+&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__hash_collection__HashSetNode__nitc__MClass, /* N: HashSetNode[MClass] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MClass]] */
+}
+};
+/* runtime type HashSet[MType] */
+const struct type type_core__HashSet__nitc__MType = {
+126,
+"HashSet[MType]", /* class_name_string */
+152,
+0,
+&resolution_table_core__HashSet__nitc__MType,
+175,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9812,6 +9764,7 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9819,10 +9772,10 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9830,6 +9783,7 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9860,7 +9814,6 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9872,38 +9825,6 @@ const struct type type_core__HashSet__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashSet__core__Object = {
-0, /* dummy */
-{
-&type_core__Object, /* E: Object */
-&type_core__Array__core__Object, /* Array[E]: Array[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] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-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__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 = {
-143,
-"HashMap[MType, Array[nullable MType]]", /* class_name_string */
-28,
-0,
-&resolution_table_core__HashMap__nitc__MType__core__Array__nullable__nitc__MType,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9911,6 +9832,7 @@ const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9929,7 +9851,6 @@ const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-143, /* HashMap[MType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9952,6 +9873,7 @@ const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2404, /* Set[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9960,11 +9882,12 @@ const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
+126, /* HashSet[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9977,6 +9900,7 @@ const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9988,3 +9912,22 @@ const struct type type_core__HashMap__nitc__MType__core__Array__nullable__nitc__
 -1, /* empty */
 },
 };
+const struct types resolution_table_core__HashSet__nitc__MType = {
+0, /* dummy */
+{
+&type_nitc__MType, /* E: MType */
+&type_core__HashSet__nitc__MType, /* SELF: HashSet[MType] */
+&type_core__hash_collection__HashSetNode__nitc__MType, /* HashSetNode[E]: HashSetNode[MType] */
+&type_core__hash_collection__HashSetIterator__nitc__MType, /* HashSetIterator[E]: HashSetIterator[MType] */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_core__HashSet__nitc__MType, /* HashSet[E]: HashSet[MType] */
+&type_core__Set__nitc__MType, /* Set[E]: Set[MType] */
+&type_core__HashSet__nitc__MType, /* HashSet[E]: HashSet[MType] */
+NULL, /* empty */
+&type_nullable__core__hash_collection__HashSetNode__nitc__MType, /* nullable N: nullable HashSetNode[MType] */
+&type_core__Collection__nitc__MType, /* Collection[E]: Collection[MType] */
+&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
+&type_core__hash_collection__HashSetNode__nitc__MType, /* N: HashSetNode[MType] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MType, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[MType]] */
+}
+};