csrc: regen for 32 bits platforms and Windows
[nit.git] / c_src / nitc__nith.types.10.c
index c37fb60..8caf557 100644 (file)
@@ -1,16 +1,18 @@
 #include "nitc__nith.types.0.h"
-/* runtime type NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType = {
-1276,
-"NativeArray[nullable HashMapNode[MType, Array[nullable MType]]]", /* class_name_string */
-157,
+/* runtime type MapKeysIterator[String, Array[MModule]] */
+const struct type type_core__MapKeysIterator__core__String__core__Array__nitc__MModule = {
+1169,
+"MapKeysIterator[String, Array[MModule]]", /* class_name_string */
+18,
 0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType,
-226,
+&resolution_table_core__MapKeysIterator__core__String__core__Array__nitc__MModule,
+90,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
+2840, /* Iterator[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -24,6 +26,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1169, /* MapKeysIterator[String, Array[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -62,6 +65,8 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
+1731, /* MapKeysIterator[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -93,6 +98,26 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapKeysIterator__core__String__core__Array__nitc__MModule = {
+0, /* dummy */
+{
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__MapIterator__core__String__core__Array__nitc__MModule, /* MapIterator[K, V]: MapIterator[String, Array[MModule]] */
+}
+};
+/* runtime type NativeArray[MClass] */
+const struct type type_core__NativeArray__nitc__MClass = {
+1170,
+"NativeArray[MClass]", /* class_name_string */
+9,
+0,
+&resolution_table_core__NativeArray__nitc__MClass,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -100,6 +125,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1170, /* NativeArray[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -121,13 +147,14 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1969, /* NativeArray[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -165,7 +192,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1276, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -185,6 +211,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -210,7 +237,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -234,26 +260,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType = {
-0, /* dummy */
-{
-&type_nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType, /* E: nullable HashMapNode[MType, Array[nullable MType]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MType__core__Array__nullable__nitc__MType, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-}
-};
-/* runtime type HashMapKeys[MClassType, Array[nullable MType]] */
-const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__core__Array__nullable__nitc__MType = {
--1, /*CAST DEAD*/
-"HashMapKeys[MClassType, Array[nullable MType]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapKeys__nitc__MClassType__core__Array__nullable__nitc__MType,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -271,7 +277,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2416, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -280,7 +285,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -288,7 +292,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -299,7 +302,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -342,6 +344,27 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nitc__MClass = {
+0, /* dummy */
+{
+&type_nitc__MClass, /* E: MClass */
+&type_core__NativeArray__nitc__MClass, /* NativeArray[E]: NativeArray[MClass] */
+}
+};
+/* runtime type ArrayIterator[MClass] */
+const struct type type_core__array__ArrayIterator__nitc__MClass = {
+1171,
+"ArrayIterator[MClass]", /* class_name_string */
+25,
+0,
+&resolution_table_core__array__ArrayIterator__nitc__MClass,
+137,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -364,9 +387,9 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1171, /* ArrayIterator[MClass] */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -381,27 +404,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClassType__core__Array__nullable__nitc__MType = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMap[K, V]: HashMap[MClassType, Array[nullable MType]] */
-&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
-&type_core__MapKeysIterator__nitc__MClassType__core__Array__nullable__nitc__MType, /* MapKeysIterator[K, V]: MapKeysIterator[MClassType, Array[nullable MType]] */
-}
-};
-/* runtime type HashMapValues[MClassType, Array[nullable MType]] */
-const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__core__Array__nullable__nitc__MType = {
--1, /*CAST DEAD*/
-"HashMapValues[MClassType, Array[nullable MType]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapValues__nitc__MClassType__core__Array__nullable__nitc__MType,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -436,11 +438,11 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -458,6 +460,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -467,6 +470,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1970, /* ArrayIterator[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -492,10 +496,30 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2489, /* Collection[Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__AbstractArrayRead__nitc__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[MClass] */
+}
+};
+/* runtime type ArrayReverseIterator[MClass] */
+const struct type type_core__array__ArrayReverseIterator__nitc__MClass = {
+1172,
+"ArrayReverseIterator[MClass]", /* class_name_string */
+151,
+0,
+&resolution_table_core__array__ArrayReverseIterator__nitc__MClass,
+263,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -514,11 +538,11 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1171, /* ArrayIterator[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -529,27 +553,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClassType__core__Array__nullable__nitc__MType = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMap[K, V]: HashMap[MClassType, Array[nullable MType]] */
-&type_core__Array__core__Array__nullable__nitc__MType, /* Array[E]: Array[Array[nullable MType]] */
-&type_core__MapValuesIterator__nitc__MClassType__core__Array__nullable__nitc__MType, /* MapValuesIterator[K, V]: MapValuesIterator[MClassType, Array[nullable MType]] */
-}
-};
-/* runtime type HashMapIterator[MClassType, Array[nullable MType]] */
-const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType__core__Array__nullable__nitc__MType = {
--1, /*CAST DEAD*/
-"HashMapIterator[MClassType, Array[nullable MType]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapIterator__nitc__MClassType__core__Array__nullable__nitc__MType,
-79,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -568,8 +571,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2670, /* MapIterator[MType, Array[nullable MType]] */
-2671, /* MapIterator[MClassType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -596,6 +597,7 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -605,7 +607,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -614,6 +615,7 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -623,29 +625,12 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1970, /* ArrayIterator[nullable MClass] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClassType__core__Array__nullable__nitc__MType = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClassType__core__Array__nullable__nitc__MType, /* HashMap[K, V]: HashMap[MClassType, Array[nullable MType]] */
-}
-};
-/* runtime type HashMapNode[MClassType, Array[nullable MType]] */
-const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType = {
-1280,
-"HashMapNode[MClassType, Array[nullable MType]]", /* class_name_string */
-96,
-0,
-&resolution_table_core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType,
-152,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -664,8 +649,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2758, /* nullable HashMapNode[MType, Array[nullable MType]] */
-2759, /* nullable HashMapNode[MClassType, Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -685,6 +668,7 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1172, /* ArrayReverseIterator[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -699,7 +683,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -739,9 +722,8 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1275, /* HashMapNode[MType, Array[nullable MType]] */
-1280, /* HashMapNode[MClassType, Array[nullable MType]] */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -759,6 +741,7 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -768,13 +751,14 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1971, /* ArrayReverseIterator[nullable MClass] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -798,24 +782,24 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__cor
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType = {
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__MClass = {
 0, /* dummy */
 {
-&type_core__Array__nullable__nitc__MType, /* V: Array[nullable MType] */
-&type_nitc__MClassType, /* K: MClassType */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__AbstractArrayRead__nitc__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[MClass] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType = {
-1281,
-"NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]]", /* class_name_string */
-158,
+/* runtime type NativeArray[MProperty] */
+const struct type type_core__NativeArray__nitc__MProperty = {
+1173,
+"NativeArray[MProperty]", /* class_name_string */
+10,
 0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType,
-226,
+&resolution_table_core__NativeArray__nitc__MProperty,
+228,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -824,6 +808,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1173, /* NativeArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -847,7 +832,9 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
+1914, /* NativeArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -875,6 +862,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1261, /* NativeArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -905,6 +893,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -918,6 +907,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1930, /* NativeArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -927,7 +917,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -971,8 +960,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1276, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-1281, /* NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1016,7 +1003,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1042,24 +1028,29 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType = {
+const struct types resolution_table_core__NativeArray__nitc__MProperty = {
 0, /* dummy */
 {
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType, /* E: nullable HashMapNode[MClassType, Array[nullable MType]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Array__nullable__nitc__MType, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
+&type_nitc__MProperty, /* E: MProperty */
+&type_core__NativeArray__nitc__MProperty, /* NativeArray[E]: NativeArray[MProperty] */
 }
 };
-/* runtime type HashMapKeys[MClass, Array[nullable MPropDef]] */
-const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
--1, /*CAST DEAD*/
-"HashMapKeys[MClass, Array[nullable MPropDef]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type ArrayIterator[MProperty] */
+const struct type type_core__array__ArrayIterator__nitc__MProperty = {
+1174,
+"ArrayIterator[MProperty]", /* class_name_string */
+26,
 0,
-&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MPropDef,
-129,
+&resolution_table_core__array__ArrayIterator__nitc__MProperty,
+137,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
+-1, /* empty */
+-1, /* empty */
+2841, /* Iterator[MProperty] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1070,7 +1061,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1080,12 +1070,14 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1174, /* ArrayIterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1262, /* ArrayIterator[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1094,11 +1086,9 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -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 */
@@ -1134,6 +1124,7 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1151,9 +1142,13 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1915, /* ArrayIterator[PropertyLayoutElement] */
+-1, /* empty */
+1931, /* ArrayIterator[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1172,7 +1167,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1189,27 +1183,28 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
+const struct types resolution_table_core__array__ArrayIterator__nitc__MProperty = {
 0, /* dummy */
 {
-&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMap[K, V]: HashMap[MClass, Array[nullable MPropDef]] */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_core__MapKeysIterator__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Array[nullable MPropDef]] */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__AbstractArrayRead__nitc__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[MProperty] */
 }
 };
-/* runtime type HashMapValues[MClass, Array[nullable MPropDef]] */
-const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
--1, /*CAST DEAD*/
-"HashMapValues[MClass, Array[nullable MPropDef]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type ArrayReverseIterator[MProperty] */
+const struct type type_core__array__ArrayReverseIterator__nitc__MProperty = {
+1175,
+"ArrayReverseIterator[MProperty]", /* class_name_string */
+152,
 0,
-&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MPropDef,
-129,
+&resolution_table_core__array__ArrayReverseIterator__nitc__MProperty,
+263,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
+2841, /* Iterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1230,19 +1225,20 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1174, /* ArrayIterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1262, /* ArrayIterator[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1283,6 +1279,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1299,12 +1296,14 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2490, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1915, /* ArrayIterator[PropertyLayoutElement] */
 -1, /* empty */
+1931, /* ArrayIterator[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1320,7 +1319,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1335,27 +1333,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMap[K, V]: HashMap[MClass, Array[nullable MPropDef]] */
-&type_core__Array__core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[Array[nullable MPropDef]] */
-&type_core__MapValuesIterator__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Array[nullable MPropDef]] */
-}
-};
-/* runtime type HashMapIterator[MClass, Array[nullable MPropDef]] */
-const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
--1, /*CAST DEAD*/
-"HashMapIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MPropDef,
-79,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1374,13 +1351,14 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1175, /* ArrayReverseIterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
-2672, /* MapIterator[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1263, /* ArrayReverseIterator[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1411,7 +1389,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1428,30 +1405,14 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* HashMap[K, V]: HashMap[MClass, Array[nullable MPropDef]] */
-}
-};
-/* runtime type HashMapNode[MClass, Array[nullable MPropDef]] */
-const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
-1285,
-"HashMapNode[MClass, Array[nullable MPropDef]]", /* class_name_string */
-97,
-0,
-&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef,
-152,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1462,17 +1423,19 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1916, /* ArrayReverseIterator[PropertyLayoutElement] */
 -1, /* empty */
+1932, /* ArrayReverseIterator[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2760, /* nullable HashMapNode[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1499,13 +1462,33 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__MProperty = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__AbstractArrayRead__nitc__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[MProperty] */
+}
+};
+/* runtime type HashMap[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1176,
+"HashMap[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+98,
+0,
+&resolution_table_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1547,12 +1530,12 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1285, /* HashMapNode[MClass, Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3043, /* MapRead[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1564,6 +1547,7 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1580,7 +1564,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1595,6 +1578,14 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1176, /* HashMap[MClassDef, POSetElement[MClassDef]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1602,26 +1593,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
-0, /* dummy */
-{
-&type_core__Array__nullable__nitc__MPropDef, /* V: Array[nullable MPropDef] */
-&type_nitc__MClass, /* K: MClass */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
-1286,
-"NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]]", /* class_name_string */
-159,
-0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1643,6 +1614,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1674,16 +1646,98 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMapIterator[K, V]: HashMapIterator[MClassDef, POSetElement[MClassDef]] */
+&type_nitc__MClassDef, /* K: MClassDef */
+&type_poset__POSetElement__nitc__MClassDef, /* V: POSetElement[MClassDef] */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMapNode[K, V]: HashMapNode[MClassDef, POSetElement[MClassDef]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMapKeys[K, V]: HashMapKeys[MClassDef, POSetElement[MClassDef]] */
+&type_core__hash_collection__HashMapValues__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMapValues[K, V]: HashMapValues[MClassDef, POSetElement[MClassDef]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* nullable N: nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+&type_core__MapRead__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* MapRead[K, V]: MapRead[MClassDef, POSetElement[MClassDef]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* N: HashMapNode[MClassDef, POSetElement[MClassDef]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
+}
+};
+/* runtime type POSetElement[MClassDef] */
+const struct type type_poset__POSetElement__nitc__MClassDef = {
+1177,
+"POSetElement[MClassDef]", /* class_name_string */
+4,
+0,
+&resolution_table_poset__POSetElement__nitc__MClassDef,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+1177, /* POSetElement[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashSet__nitc__MClassDef, /* HashSet[E]: HashSet[MClassDef] */
+&type_poset__POSet__nitc__MClassDef, /* POSet[E]: POSet[MClassDef] */
+&type_nitc__MClassDef, /* E: MClassDef */
+}
+};
+/* runtime type POSetConflictGraph[MClassDef] */
+const struct type type_nitc__POSetConflictGraph__nitc__MClassDef = {
+1178,
+"POSetConflictGraph[MClassDef]", /* class_name_string */
+4,
+0,
+&resolution_table_nitc__POSetConflictGraph__nitc__MClassDef,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+1178, /* POSetConflictGraph[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__POSetConflictGraph__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashSet__nitc__MClassDef, /* HashSet[E]: HashSet[MClassDef] */
+&type_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMap[E, Set[E]]: HashMap[MClassDef, Set[MClassDef]] */
+&type_poset__POSet__nitc__MClassDef, /* POSet[E]: POSet[MClassDef] */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_nitc__MClassDef, /* E: MClassDef */
+&type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+}
+};
+/* runtime type HashMap[MClassDef, Set[MClassDef]] */
+const struct type type_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1179,
+"HashMap[MClassDef, Set[MClassDef]]", /* class_name_string */
+97,
+0,
+&resolution_table_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1733,11 +1787,11 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3044, /* MapRead[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1748,6 +1802,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1777,9 +1832,9 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1179, /* HashMap[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
-1286, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1814,6 +1869,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1822,7 +1878,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1848,24 +1903,36 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef = {
+const struct types resolution_table_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* E: nullable HashMapNode[MClass, Array[nullable MPropDef]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MPropDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMapIterator[K, V]: HashMapIterator[MClassDef, Set[MClassDef]] */
+&type_nitc__MClassDef, /* K: MClassDef */
+&type_core__Set__nitc__MClassDef, /* V: Set[MClassDef] */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMapNode[K, V]: HashMapNode[MClassDef, Set[MClassDef]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMapKeys[K, V]: HashMapKeys[MClassDef, Set[MClassDef]] */
+&type_core__hash_collection__HashMapValues__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMapValues[K, V]: HashMapValues[MClassDef, Set[MClassDef]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef, /* nullable N: nullable HashMapNode[MClassDef, Set[MClassDef]] */
+&type_core__MapRead__nitc__MClassDef__core__Set__nitc__MClassDef, /* MapRead[K, V]: MapRead[MClassDef, Set[MClassDef]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef, /* N: HashMapNode[MClassDef, Set[MClassDef]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassDef, Set[MClassDef]]] */
 }
 };
-/* runtime type HashMapKeys[MClass, Array[nullable MProperty]] */
-const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"HashMapKeys[MClass, Array[nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMapKeys[MClassDef, Set[MClassDef]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1180,
+"HashMapKeys[MClassDef, Set[MClassDef]]", /* class_name_string */
+136,
 0,
-&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MProperty,
-129,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClassDef__core__Set__nitc__MClassDef,
+205,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1876,13 +1943,13 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2423, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1900,11 +1967,10 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1962,6 +2028,7 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1978,7 +2045,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1993,27 +2059,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMap[K, V]: HashMap[MClass, Array[nullable MProperty]] */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_core__MapKeysIterator__nitc__MClass__core__Array__nullable__nitc__MProperty, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Array[nullable MProperty]] */
-}
-};
-/* runtime type HashMapValues[MClass, Array[nullable MProperty]] */
-const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"HashMapValues[MClass, Array[nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MProperty,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2022,6 +2067,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1180, /* HashMapKeys[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2048,7 +2094,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2059,6 +2104,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2090,6 +2136,36 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClassDef__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMap[K, V]: HashMap[MClassDef, Set[MClassDef]] */
+&type_core__MapKeysIterator__nitc__MClassDef__core__Set__nitc__MClassDef, /* MapKeysIterator[K, V]: MapKeysIterator[MClassDef, Set[MClassDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+}
+};
+/* runtime type HashMapValues[MClassDef, Set[MClassDef]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1181,
+"HashMapValues[MClassDef, Set[MClassDef]]", /* class_name_string */
+136,
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClassDef__core__Set__nitc__MClassDef,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2106,7 +2182,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2491, /* Collection[Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2126,7 +2201,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2141,27 +2216,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMap[K, V]: HashMap[MClass, Array[nullable MProperty]] */
-&type_core__Array__core__Array__nullable__nitc__MProperty, /* Array[E]: Array[Array[nullable MProperty]] */
-&type_core__MapValuesIterator__nitc__MClass__core__Array__nullable__nitc__MProperty, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Array[nullable MProperty]] */
-}
-};
-/* runtime type HashMapIterator[MClass, Array[nullable MProperty]] */
-const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"HashMapIterator[MClass, Array[nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MProperty,
-79,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2171,6 +2225,7 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2466, /* Collection[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2183,7 +2238,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2673, /* MapIterator[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2207,6 +2261,7 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2217,7 +2272,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2239,25 +2293,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MProperty, /* HashMap[K, V]: HashMap[MClass, Array[nullable MProperty]] */
-}
-};
-/* runtime type HashMapNode[MClass, Array[nullable MProperty]] */
-const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-1290,
-"HashMapNode[MClass, Array[nullable MProperty]]", /* class_name_string */
-98,
-0,
-&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty,
-152,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2265,6 +2300,7 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1181, /* HashMapValues[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2279,7 +2315,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2761, /* nullable HashMapNode[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2302,6 +2337,7 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1711, /* HashMapValues[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2311,7 +2347,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2334,6 +2369,36 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClassDef__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMap[K, V]: HashMap[MClassDef, Set[MClassDef]] */
+&type_core__MapValuesIterator__nitc__MClassDef__core__Set__nitc__MClassDef, /* MapValuesIterator[K, V]: MapValuesIterator[MClassDef, Set[MClassDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+}
+};
+/* runtime type HashMapIterator[MClassDef, Set[MClassDef]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1182,
+"HashMapIterator[MClassDef, Set[MClassDef]]", /* class_name_string */
+89,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClassDef__core__Set__nitc__MClassDef,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2342,6 +2407,7 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2668, /* MapIterator[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2354,7 +2420,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1290, /* HashMapNode[MClass, Array[nullable MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2380,13 +2445,13 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2408,26 +2473,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__Array__nullable__nitc__MProperty, /* V: Array[nullable MProperty] */
-&type_nitc__MClass, /* K: MClass */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Array[nullable MProperty]]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-1291,
-"NativeArray[nullable HashMapNode[MClass, Array[nullable MProperty]]]", /* class_name_string */
-160,
-0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2441,6 +2486,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1182, /* HashMapIterator[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2477,6 +2523,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1712, /* HashMapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2508,6 +2555,25 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClassDef__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassDef__core__Set__nitc__MClassDef, /* HashMap[K, V]: HashMap[MClassDef, Set[MClassDef]] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClassDef, Set[MClassDef]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1183,
+"NativeArray[nullable HashMapNode[MClassDef, Set[MClassDef]]]", /* class_name_string */
+138,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2539,7 +2605,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2586,7 +2651,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1291, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MProperty]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2603,6 +2667,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2628,7 +2693,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2646,36 +2710,16 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1183, /* NativeArray[nullable HashMapNode[MClassDef, Set[MClassDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty, /* E: nullable HashMapNode[MClass, Array[nullable MProperty]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MProperty, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Array[nullable MProperty]]] */
-}
-};
-/* runtime type HashMapKeys[String, String] */
-const struct type type_core__hash_collection__HashMapKeys__core__String__core__String = {
--1, /*CAST DEAD*/
-"HashMapKeys[String, String]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapKeys__core__String__core__String,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2402, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2706,18 +2750,17 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2757,6 +2800,26 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef, /* E: nullable HashMapNode[MClassDef, Set[MClassDef]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClassDef, Set[MClassDef]]] */
+}
+};
+/* runtime type HashMapNode[MClassDef, Set[MClassDef]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1184,
+"HashMapNode[MClassDef, Set[MClassDef]]", /* class_name_string */
+130,
+0,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef,
+156,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2765,6 +2828,7 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2749, /* nullable HashMapNode[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2784,7 +2848,6 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2799,39 +2862,10 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapKeys__core__String__core__String = {
-0, /* dummy */
-{
-&type_core__HashMap__core__String__core__String, /* HashMap[K, V]: HashMap[String, String] */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__MapKeysIterator__core__String__core__String, /* MapKeysIterator[K, V]: MapKeysIterator[String, String] */
-}
-};
-/* runtime type HashMapValues[String, String] */
-const struct type type_core__hash_collection__HashMapValues__core__String__core__String = {
--1, /*CAST DEAD*/
-"HashMapValues[String, String]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapValues__core__String__core__String,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2402, /* Collection[String] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2854,13 +2888,11 @@ const struct type type_core__hash_collection__HashMapValues__core__String__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2916,6 +2948,7 @@ const struct type type_core__hash_collection__HashMapValues__core__String__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1184, /* HashMapNode[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2926,13 +2959,7 @@ const struct type type_core__hash_collection__HashMapValues__core__String__core_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2511, /* Collection[nullable Object] */
+1714, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2949,25 +2976,24 @@ const struct type type_core__hash_collection__HashMapValues__core__String__core_
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__hash_collection__HashMapValues__core__String__core__String = {
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClassDef__core__Set__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_core__HashMap__core__String__core__String, /* HashMap[K, V]: HashMap[String, String] */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__MapValuesIterator__core__String__core__String, /* MapValuesIterator[K, V]: MapValuesIterator[String, String] */
+&type_core__Set__nitc__MClassDef, /* V: Set[MClassDef] */
+&type_nitc__MClassDef, /* K: MClassDef */
 }
 };
-/* runtime type HashMapIterator[String, String] */
-const struct type type_core__hash_collection__HashMapIterator__core__String__core__String = {
--1, /*CAST DEAD*/
-"HashMapIterator[String, String]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Array[Set[MClassDef]] */
+const struct type type_core__Array__core__Set__nitc__MClassDef = {
+1185,
+"Array[Set[MClassDef]]", /* class_name_string */
+446,
 0,
-&resolution_table_core__hash_collection__HashMapIterator__core__String__core__String,
-79,
+&resolution_table_core__Array__core__Set__nitc__MClassDef,
+510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2990,14 +3016,12 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2674, /* MapIterator[String, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* MapIterator[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3005,6 +3029,7 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3023,12 +3048,12 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2466, /* Collection[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3045,25 +3070,6 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__cor
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapIterator__core__String__core__String = {
-0, /* dummy */
-{
-&type_core__HashMap__core__String__core__String, /* HashMap[K, V]: HashMap[String, String] */
-}
-};
-/* runtime type HashMapNode[String, String] */
-const struct type type_core__hash_collection__HashMapNode__core__String__core__String = {
-1295,
-"HashMapNode[String, String]", /* class_name_string */
-99,
-0,
-&resolution_table_core__hash_collection__HashMapNode__core__String__core__String,
-152,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3083,16 +3089,15 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2762, /* nullable HashMapNode[String, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2770, /* nullable HashMapNode[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3116,8 +3121,9 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
-2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3134,6 +3140,7 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2550, /* AbstractArrayRead[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3161,13 +3168,11 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1295, /* HashMapNode[String, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1363, /* HashMapNode[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3188,11 +3193,11 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3206,6 +3211,7 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3214,26 +3220,6 @@ const struct type type_core__hash_collection__HashMapNode__core__String__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapNode__core__String__core__String = {
-0, /* dummy */
-{
-&type_core__String, /* V: String */
-&type_core__String, /* K: String */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[String, String]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__String = {
-1296,
-"NativeArray[nullable HashMapNode[String, String]]", /* class_name_string */
-161,
-0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__String,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3296,6 +3282,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3319,6 +3306,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2912, /* AbstractArray[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3345,7 +3333,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3356,6 +3343,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3388,12 +3376,12 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1296, /* NativeArray[nullable HashMapNode[String, String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3401,7 +3389,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1364, /* NativeArray[nullable HashMapNode[Object, String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3434,7 +3421,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3452,32 +3438,13 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1185, /* Array[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__String = {
-0, /* dummy */
-{
-&type_nullable__core__hash_collection__HashMapNode__core__String__core__String, /* E: nullable HashMapNode[String, String] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__String, /* NativeArray[E]: NativeArray[nullable HashMapNode[String, String]] */
-}
-};
-/* runtime type Array[CodeFile] */
-const struct type type_core__Array__nitc__CodeFile = {
-1297,
-"Array[CodeFile]", /* class_name_string */
-445,
-0,
-&resolution_table_core__Array__nitc__CodeFile,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3512,7 +3479,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3536,7 +3502,41 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* Collection[CodeFile] */
+},
+};
+const struct types resolution_table_core__Array__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MClassDef, /* E: Set[MClassDef] */
+&type_core__Array__core__Set__nitc__MClassDef, /* SELF: Array[Set[MClassDef]] */
+&type_core__Collection__core__Set__nitc__MClassDef, /* Collection[E]: Collection[Set[MClassDef]] */
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_core__AbstractArray__core__Set__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[Set[MClassDef]] */
+&type_core__NativeArray__core__Set__nitc__MClassDef, /* NativeArray[E]: NativeArray[Set[MClassDef]] */
+&type_core__Set__nitc__MClassDef, /* E: Set[MClassDef] */
+&type_core__Collection__core__Set__nitc__MClassDef, /* Collection[E]: Collection[Set[MClassDef]] */
+&type_core__Set__nitc__MClassDef, /* E: Set[MClassDef] */
+&type_core__Collection__core__Set__nitc__MClassDef, /* Collection[E]: Collection[Set[MClassDef]] */
+&type_core__Collection__core__Set__nitc__MClassDef, /* Collection[E]: Collection[Set[MClassDef]] */
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_core__AbstractArray__core__Set__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[Set[MClassDef]] */
+&type_core__array__ArrayIterator__core__Set__nitc__MClassDef, /* ArrayIterator[E]: ArrayIterator[Set[MClassDef]] */
+&type_core__array__ArrayReverseIterator__core__Set__nitc__MClassDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[Set[MClassDef]] */
+}
+};
+/* runtime type MapValuesIterator[MClassDef, Set[MClassDef]] */
+const struct type type_core__MapValuesIterator__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1186,
+"MapValuesIterator[MClassDef, Set[MClassDef]]", /* class_name_string */
+19,
+0,
+&resolution_table_core__MapValuesIterator__nitc__MClassDef__core__Set__nitc__MClassDef,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3553,6 +3553,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1186, /* MapValuesIterator[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3590,7 +3591,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
+1716, /* MapValuesIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3605,8 +3606,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3625,6 +3624,26 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapValuesIterator__nitc__MClassDef__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_core__MapIterator__nitc__MClassDef__core__Set__nitc__MClassDef, /* MapIterator[K, V]: MapIterator[MClassDef, Set[MClassDef]] */
+}
+};
+/* runtime type NativeArray[Set[MClassDef]] */
+const struct type type_core__NativeArray__core__Set__nitc__MClassDef = {
+1187,
+"NativeArray[Set[MClassDef]]", /* class_name_string */
+58,
+0,
+&resolution_table_core__NativeArray__core__Set__nitc__MClassDef,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3639,7 +3658,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3658,6 +3676,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3665,7 +3684,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2583, /* AbstractArrayRead[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3682,6 +3700,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1187, /* NativeArray[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3718,8 +3737,8 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3765,7 +3784,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3791,7 +3809,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2907, /* AbstractArray[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3845,7 +3862,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3854,13 +3870,34 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MClassDef, /* E: Set[MClassDef] */
+&type_core__NativeArray__core__Set__nitc__MClassDef, /* NativeArray[E]: NativeArray[Set[MClassDef]] */
+}
+};
+/* runtime type ArrayIterator[Set[MClassDef]] */
+const struct type type_core__array__ArrayIterator__core__Set__nitc__MClassDef = {
+1188,
+"ArrayIterator[Set[MClassDef]]", /* class_name_string */
+27,
+0,
+&resolution_table_core__array__ArrayIterator__core__Set__nitc__MClassDef,
+137,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3878,6 +3915,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1188, /* ArrayIterator[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3921,7 +3959,6 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1297, /* Array[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3931,6 +3968,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3948,6 +3986,7 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3988,37 +4027,25 @@ const struct type type_core__Array__nitc__CodeFile = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__Array__nitc__CodeFile = {
+const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_nitc__CodeFile, /* E: CodeFile */
-&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
-&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_core__AbstractArray__nitc__CodeFile, /* AbstractArray[E]: AbstractArray[CodeFile] */
-&type_core__NativeArray__nitc__CodeFile, /* NativeArray[E]: NativeArray[CodeFile] */
-&type_nitc__CodeFile, /* E: CodeFile */
-&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
-&type_nitc__CodeFile, /* E: CodeFile */
-&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
-&type_core__Collection__nitc__CodeFile, /* Collection[E]: Collection[CodeFile] */
-&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_core__AbstractArray__nitc__CodeFile, /* AbstractArray[E]: AbstractArray[CodeFile] */
-&type_core__array__ArrayIterator__nitc__CodeFile, /* ArrayIterator[E]: ArrayIterator[CodeFile] */
-&type_core__array__ArrayReverseIterator__nitc__CodeFile, /* ArrayReverseIterator[E]: ArrayReverseIterator[CodeFile] */
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_core__AbstractArrayRead__core__Set__nitc__MClassDef, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClassDef]] */
 }
 };
-/* runtime type ListNode[CodeFile] */
-const struct type type_core__list__ListNode__nitc__CodeFile = {
-1298,
-"ListNode[CodeFile]", /* class_name_string */
-141,
+/* runtime type ArrayReverseIterator[Set[MClassDef]] */
+const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MClassDef = {
+1189,
+"ArrayReverseIterator[Set[MClassDef]]", /* class_name_string */
+153,
 0,
-&resolution_table_core__list__ListNode__nitc__CodeFile,
-146,
+&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MClassDef,
+263,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4043,6 +4070,7 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1188, /* ArrayIterator[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4053,7 +4081,6 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4077,7 +4104,6 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* Collection[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4097,6 +4123,7 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4114,6 +4141,7 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4131,7 +4159,6 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4146,46 +4173,20 @@ const struct type type_core__list__ListNode__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2845, /* Ref[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2835, /* nullable ListNode[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1298, /* ListNode[CodeFile] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__list__ListNode__nitc__CodeFile = {
-0, /* dummy */
-{
-&type_nullable__core__list__ListNode__nitc__CodeFile, /* nullable ListNode[E]: nullable ListNode[CodeFile] */
-&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_core__abstract_collection__RefIterator__nitc__CodeFile, /* RefIterator[E]: RefIterator[CodeFile] */
-&type_nitc__CodeFile, /* E: CodeFile */
-}
-};
-/* runtime type ListIterator[CodeFile] */
-const struct type type_core__ListIterator__nitc__CodeFile = {
--1, /*CAST DEAD*/
-"ListIterator[CodeFile]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ListIterator__nitc__CodeFile,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4194,28 +4195,8 @@ const struct type type_core__ListIterator__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__ListIterator__nitc__CodeFile = {
-0, /* dummy */
-{
-&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_core__List__nitc__CodeFile, /* List[E]: List[CodeFile] */
-}
-};
-/* runtime type ListReverseIterator[CodeFile] */
-const struct type type_core__list__ListReverseIterator__nitc__CodeFile = {
--1, /*CAST DEAD*/
-"ListReverseIterator[CodeFile]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__list__ListReverseIterator__nitc__CodeFile,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
+1189, /* ArrayReverseIterator[Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4223,30 +4204,9 @@ const struct type type_core__list__ListReverseIterator__nitc__CodeFile = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__list__ListReverseIterator__nitc__CodeFile = {
-0, /* dummy */
-{
-&type_core__Array__nitc__CodeFile, /* Array[E]: Array[CodeFile] */
-&type_core__List__nitc__CodeFile, /* List[E]: List[CodeFile] */
-}
-};
-/* runtime type HashMapKeys[String, ANode] */
-const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__ANode = {
--1, /*CAST DEAD*/
-"HashMapKeys[String, ANode]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapKeys__core__String__nitc__ANode,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2402, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4277,13 +4237,11 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4291,6 +4249,7 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4308,6 +4267,7 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4346,6 +4306,27 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Array__core__Set__nitc__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_core__AbstractArrayRead__core__Set__nitc__MClassDef, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClassDef]] */
+}
+};
+/* runtime type MapKeysIterator[MClassDef, Set[MClassDef]] */
+const struct type type_core__MapKeysIterator__nitc__MClassDef__core__Set__nitc__MClassDef = {
+1190,
+"MapKeysIterator[MClassDef, Set[MClassDef]]", /* class_name_string */
+19,
+0,
+&resolution_table_core__MapKeysIterator__nitc__MClassDef__core__Set__nitc__MClassDef,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4355,7 +4336,6 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4363,6 +4343,7 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1190, /* MapKeysIterator[MClassDef, Set[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4370,27 +4351,6 @@ const struct type type_core__hash_collection__HashMapKeys__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapKeys__core__String__nitc__ANode = {
-0, /* dummy */
-{
-&type_core__HashMap__core__String__nitc__ANode, /* HashMap[K, V]: HashMap[String, ANode] */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__MapKeysIterator__core__String__nitc__ANode, /* MapKeysIterator[K, V]: MapKeysIterator[String, ANode] */
-}
-};
-/* runtime type HashMapValues[String, ANode] */
-const struct type type_core__hash_collection__HashMapValues__core__String__nitc__ANode = {
--1, /*CAST DEAD*/
-"HashMapValues[String, ANode]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapValues__core__String__nitc__ANode,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4421,11 +4381,11 @@ const struct type type_core__hash_collection__HashMapValues__core__String__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4452,9 +4412,28 @@ const struct type type_core__hash_collection__HashMapValues__core__String__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapKeysIterator__nitc__MClassDef__core__Set__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_core__MapIterator__nitc__MClassDef__core__Set__nitc__MClassDef, /* MapIterator[K, V]: MapIterator[MClassDef, Set[MClassDef]] */
+}
+};
+/* runtime type HashMapKeys[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1191,
+"HashMapKeys[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+137,
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4471,6 +4450,7 @@ const struct type type_core__hash_collection__HashMapValues__core__String__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2423, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4489,6 +4469,7 @@ const struct type type_core__hash_collection__HashMapValues__core__String__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4503,7 +4484,6 @@ const struct type type_core__hash_collection__HashMapValues__core__String__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4518,27 +4498,6 @@ const struct type type_core__hash_collection__HashMapValues__core__String__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapValues__core__String__nitc__ANode = {
-0, /* dummy */
-{
-&type_core__HashMap__core__String__nitc__ANode, /* HashMap[K, V]: HashMap[String, ANode] */
-&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
-&type_core__MapValuesIterator__core__String__nitc__ANode, /* MapValuesIterator[K, V]: MapValuesIterator[String, ANode] */
-}
-};
-/* runtime type HashMapIterator[String, ANode] */
-const struct type type_core__hash_collection__HashMapIterator__core__String__nitc__ANode = {
--1, /*CAST DEAD*/
-"HashMapIterator[String, ANode]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapIterator__core__String__nitc__ANode,
-79,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4562,7 +4521,6 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2675, /* MapIterator[String, ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4571,6 +4529,7 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4594,7 +4553,6 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4611,30 +4569,12 @@ const struct type type_core__hash_collection__HashMapIterator__core__String__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1191, /* HashMapKeys[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapIterator__core__String__nitc__ANode = {
-0, /* dummy */
-{
-&type_core__HashMap__core__String__nitc__ANode, /* HashMap[K, V]: HashMap[String, ANode] */
-}
-};
-/* runtime type HashMapNode[String, ANode] */
-const struct type type_core__hash_collection__HashMapNode__core__String__nitc__ANode = {
-1304,
-"HashMapNode[String, ANode]", /* class_name_string */
-100,
-0,
-&resolution_table_core__hash_collection__HashMapNode__core__String__nitc__ANode,
-152,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4658,7 +4598,6 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2763, /* nullable HashMapNode[String, ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4666,6 +4605,7 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4688,7 +4628,6 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4698,6 +4637,36 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMap[K, V]: HashMap[MClassDef, POSetElement[MClassDef]] */
+&type_core__MapKeysIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* MapKeysIterator[K, V]: MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+}
+};
+/* runtime type HashMapValues[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1192,
+"HashMapValues[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+137,
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4733,7 +4702,7 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1304, /* HashMapNode[String, ANode] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4758,12 +4727,12 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2467, /* Collection[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4785,26 +4754,6 @@ const struct type type_core__hash_collection__HashMapNode__core__String__nitc__A
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapNode__core__String__nitc__ANode = {
-0, /* dummy */
-{
-&type_nitc__ANode, /* V: ANode */
-&type_core__String, /* K: String */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[String, ANode]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode = {
-1305,
-"NativeArray[nullable HashMapNode[String, ANode]]", /* class_name_string */
-162,
-0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4813,6 +4762,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4852,6 +4802,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1192, /* HashMapValues[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4887,6 +4838,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1711, /* HashMapValues[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4916,9 +4868,38 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMap[K, V]: HashMap[MClassDef, POSetElement[MClassDef]] */
+&type_core__MapValuesIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* MapValuesIterator[K, V]: MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+}
+};
+/* runtime type HashMapIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1193,
+"HashMapIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+90,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4928,6 +4909,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2669, /* MapIterator[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4964,8 +4946,8 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
-1305, /* NativeArray[nullable HashMapNode[String, ANode]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5005,7 +4987,45 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
+-1, /* empty */
+1193, /* HashMapIterator[MClassDef, POSetElement[MClassDef]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1712, /* HashMapIterator[Object, nullable Object] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5029,29 +5049,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode = {
-0, /* dummy */
-{
-&type_nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode, /* E: nullable HashMapNode[String, ANode] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__ANode, /* NativeArray[E]: NativeArray[nullable HashMapNode[String, ANode]] */
-}
-};
-/* runtime type ArraySetIterator[String] */
-const struct type type_core__array__ArraySetIterator__core__String = {
--1, /*CAST DEAD*/
-"ArraySetIterator[String]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArraySetIterator__core__String,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
-2828, /* Iterator[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5060,24 +5058,23 @@ const struct type type_core__array__ArraySetIterator__core__String = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArraySetIterator__core__String = {
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__Iterator__core__String, /* Iterator[E]: Iterator[String] */
+&type_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMap[K, V]: HashMap[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type NativeArray[MNullableType] */
-const struct type type_core__NativeArray__nitc__MNullableType = {
-1307,
-"NativeArray[MNullableType]", /* class_name_string */
-22,
+/* runtime type NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1194,
+"NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]]", /* class_name_string */
+139,
 0,
-&resolution_table_core__NativeArray__nitc__MNullableType,
-226,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+228,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5098,10 +5095,8 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1307, /* NativeArray[MNullableType] */
 -1, /* empty */
 -1, /* empty */
-1333, /* NativeArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5109,7 +5104,6 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5120,7 +5114,6 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1538, /* NativeArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5175,6 +5168,7 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5189,7 +5183,6 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5219,6 +5212,7 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1194, /* NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5267,6 +5261,7 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5302,86 +5297,40 @@ const struct type type_core__NativeArray__nitc__MNullableType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nitc__MNullableType = {
-0, /* dummy */
-{
-&type_nitc__MNullableType, /* E: MNullableType */
-&type_core__NativeArray__nitc__MNullableType, /* NativeArray[E]: NativeArray[MNullableType] */
-}
-};
-/* runtime type ArrayIterator[MNullableType] */
-const struct type type_core__array__ArrayIterator__nitc__MNullableType = {
--1, /*CAST DEAD*/
-"ArrayIterator[MNullableType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__nitc__MNullableType,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
-2831, /* Iterator[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayIterator__nitc__MNullableType = {
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_core__Array__nitc__MNullableType, /* Array[E]: Array[MNullableType] */
-&type_core__AbstractArrayRead__nitc__MNullableType, /* AbstractArrayRead[E]: AbstractArrayRead[MNullableType] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* E: nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
 }
 };
-/* runtime type ArrayReverseIterator[MNullableType] */
-const struct type type_core__array__ArrayReverseIterator__nitc__MNullableType = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[MNullableType]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMapNode[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1195,
+"HashMapNode[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+129,
 0,
-&resolution_table_core__array__ArrayReverseIterator__nitc__MNullableType,
-11,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+156,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2831, /* Iterator[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__nitc__MNullableType = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MNullableType, /* Array[E]: Array[MNullableType] */
-&type_core__AbstractArrayRead__nitc__MNullableType, /* AbstractArrayRead[E]: AbstractArrayRead[MNullableType] */
-}
-};
-/* runtime type NativeArray[Match] */
-const struct type type_core__NativeArray__core__Match = {
-1310,
-"NativeArray[Match]", /* class_name_string */
-23,
-0,
-&resolution_table_core__NativeArray__core__Match,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+2750, /* nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5401,8 +5350,6 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1310, /* NativeArray[Match] */
-1313, /* NativeArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5411,7 +5358,6 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5420,6 +5366,7 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5491,7 +5438,6 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5502,6 +5448,7 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1195, /* HashMapNode[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5513,6 +5460,7 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1714, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5527,6 +5475,26 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_poset__POSetElement__nitc__MClassDef, /* V: POSetElement[MClassDef] */
+&type_nitc__MClassDef, /* K: MClassDef */
+}
+};
+/* runtime type Array[POSetElement[MClassDef]] */
+const struct type type_core__Array__poset__POSetElement__nitc__MClassDef = {
+1196,
+"Array[POSetElement[MClassDef]]", /* class_name_string */
+447,
+0,
+&resolution_table_core__Array__poset__POSetElement__nitc__MClassDef,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5562,6 +5530,7 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5586,6 +5555,7 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2467, /* Collection[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5604,27 +5574,6 @@ const struct type type_core__NativeArray__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Match = {
-0, /* dummy */
-{
-&type_core__Match, /* E: Match */
-&type_core__NativeArray__core__Match, /* NativeArray[E]: NativeArray[Match] */
-}
-};
-/* runtime type ArrayIterator[Match] */
-const struct type type_core__array__ArrayIterator__core__Match = {
--1, /*CAST DEAD*/
-"ArrayIterator[Match]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__Match,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5633,27 +5582,6 @@ const struct type type_core__array__ArrayIterator__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Match = {
-0, /* dummy */
-{
-&type_core__Array__core__Match, /* Array[E]: Array[Match] */
-&type_core__AbstractArrayRead__core__Match, /* AbstractArrayRead[E]: AbstractArrayRead[Match] */
-}
-};
-/* runtime type ArrayReverseIterator[Match] */
-const struct type type_core__array__ArrayReverseIterator__core__Match = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Match]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Match,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5662,26 +5590,7 @@ const struct type type_core__array__ArrayReverseIterator__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Match = {
-0, /* dummy */
-{
-&type_core__Array__core__Match, /* Array[E]: Array[Match] */
-&type_core__AbstractArrayRead__core__Match, /* AbstractArrayRead[E]: AbstractArrayRead[Match] */
-}
-};
-/* runtime type NativeArray[nullable Match] */
-const struct type type_core__NativeArray__nullable__core__Match = {
-1313,
-"NativeArray[nullable Match]", /* class_name_string */
-24,
-0,
-&resolution_table_core__NativeArray__nullable__core__Match,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5704,7 +5613,6 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1313, /* NativeArray[nullable Match] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5714,6 +5622,8 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5732,6 +5642,7 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2551, /* AbstractArrayRead[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5783,6 +5694,7 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5793,7 +5705,6 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5801,6 +5712,7 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5871,6 +5783,7 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5895,6 +5808,7 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2913, /* AbstractArray[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5906,26 +5820,6 @@ const struct type type_core__NativeArray__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__Match = {
-0, /* dummy */
-{
-&type_nullable__core__Match, /* E: nullable Match */
-&type_core__NativeArray__nullable__core__Match, /* NativeArray[E]: NativeArray[nullable Match] */
-}
-};
-/* runtime type ArrayIterator[nullable Match] */
-const struct type type_core__array__ArrayIterator__nullable__core__Match = {
--1, /*CAST DEAD*/
-"ArrayIterator[nullable Match]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__nullable__core__Match,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5935,26 +5829,6 @@ const struct type type_core__array__ArrayIterator__nullable__core__Match = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__nullable__core__Match = {
-0, /* dummy */
-{
-&type_core__Array__nullable__core__Match, /* Array[E]: Array[nullable Match] */
-&type_core__AbstractArrayRead__nullable__core__Match, /* AbstractArrayRead[E]: AbstractArrayRead[nullable Match] */
-}
-};
-/* runtime type ArrayReverseIterator[nullable Match] */
-const struct type type_core__array__ArrayReverseIterator__nullable__core__Match = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[nullable Match]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__nullable__core__Match,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5964,37 +5838,17 @@ const struct type type_core__array__ArrayReverseIterator__nullable__core__Match
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__nullable__core__Match = {
-0, /* dummy */
-{
-&type_core__Array__nullable__core__Match, /* Array[E]: Array[nullable Match] */
-&type_core__AbstractArrayRead__nullable__core__Match, /* AbstractArrayRead[E]: AbstractArrayRead[nullable Match] */
-}
-};
-/* runtime type HashMapKeys[MClass, MClassType] */
-const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__MClassType = {
--1, /*CAST DEAD*/
-"HashMapKeys[MClass, MClassType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__nitc__MClassType,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6018,13 +5872,12 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6087,6 +5940,8 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1196, /* Array[POSetElement[MClassDef]] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6096,7 +5951,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6111,27 +5965,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__nitc__MClassType = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__nitc__MClassType, /* HashMap[K, V]: HashMap[MClass, MClassType] */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_core__MapKeysIterator__nitc__MClass__nitc__MClassType, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, MClassType] */
-}
-};
-/* runtime type HashMapValues[MClass, MClassType] */
-const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc__MClassType = {
--1, /*CAST DEAD*/
-"HashMapValues[MClass, MClassType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__nitc__MClassType,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6149,7 +5982,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2416, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6158,7 +5990,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6166,18 +5997,52 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_poset__POSetElement__nitc__MClassDef, /* E: POSetElement[MClassDef] */
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* SELF: Array[POSetElement[MClassDef]] */
+&type_core__Collection__poset__POSetElement__nitc__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_core__AbstractArray__poset__POSetElement__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[POSetElement[MClassDef]] */
+&type_core__NativeArray__poset__POSetElement__nitc__MClassDef, /* NativeArray[E]: NativeArray[POSetElement[MClassDef]] */
+&type_poset__POSetElement__nitc__MClassDef, /* E: POSetElement[MClassDef] */
+&type_core__Collection__poset__POSetElement__nitc__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_poset__POSetElement__nitc__MClassDef, /* E: POSetElement[MClassDef] */
+&type_core__Collection__poset__POSetElement__nitc__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_core__Collection__poset__POSetElement__nitc__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_core__AbstractArray__poset__POSetElement__nitc__MClassDef, /* AbstractArray[E]: AbstractArray[POSetElement[MClassDef]] */
+&type_core__array__ArrayIterator__poset__POSetElement__nitc__MClassDef, /* ArrayIterator[E]: ArrayIterator[POSetElement[MClassDef]] */
+&type_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClassDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[POSetElement[MClassDef]] */
+}
+};
+/* runtime type MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__MapValuesIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1197,
+"MapValuesIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+20,
+0,
+&resolution_table_core__MapValuesIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6190,6 +6055,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1197, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6226,6 +6092,7 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1716, /* MapValuesIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6244,7 +6111,6 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6261,25 +6127,24 @@ const struct type type_core__hash_collection__HashMapValues__nitc__MClass__nitc_
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__nitc__MClassType = {
+const struct types resolution_table_core__MapValuesIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_core__HashMap__nitc__MClass__nitc__MClassType, /* HashMap[K, V]: HashMap[MClass, MClassType] */
-&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
-&type_core__MapValuesIterator__nitc__MClass__nitc__MClassType, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, MClassType] */
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_core__MapIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* MapIterator[K, V]: MapIterator[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type HashMapIterator[MClass, MClassType] */
-const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__nitc__MClassType = {
--1, /*CAST DEAD*/
-"HashMapIterator[MClass, MClassType]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[POSetElement[MClassDef]] */
+const struct type type_core__NativeArray__poset__POSetElement__nitc__MClassDef = {
+1198,
+"NativeArray[POSetElement[MClassDef]]", /* class_name_string */
+59,
 0,
-&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__nitc__MClassType,
-79,
+&resolution_table_core__NativeArray__poset__POSetElement__nitc__MClassDef,
+228,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6304,7 +6169,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2676, /* MapIterator[MClass, MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6313,6 +6177,7 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6335,9 +6200,10 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1198, /* NativeArray[POSetElement[MClassDef]] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6357,25 +6223,6 @@ const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__nitc__MClassType = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MClass__nitc__MClassType, /* HashMap[K, V]: HashMap[MClass, MClassType] */
-}
-};
-/* runtime type HashMapNode[MClass, MClassType] */
-const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType = {
-1319,
-"HashMapNode[MClass, MClassType]", /* class_name_string */
-101,
-0,
-&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType,
-152,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6391,6 +6238,8 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6400,7 +6249,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2764, /* nullable HashMapNode[MClass, MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6429,7 +6277,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6475,7 +6322,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1319, /* HashMapNode[MClass, MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6504,7 +6350,6 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6528,24 +6373,25 @@ const struct type type_core__hash_collection__HashMapNode__nitc__MClass__nitc__M
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType = {
+const struct types resolution_table_core__NativeArray__poset__POSetElement__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_nitc__MClassType, /* V: MClassType */
-&type_nitc__MClass, /* K: MClass */
+&type_poset__POSetElement__nitc__MClassDef, /* E: POSetElement[MClassDef] */
+&type_core__NativeArray__poset__POSetElement__nitc__MClassDef, /* NativeArray[E]: NativeArray[POSetElement[MClassDef]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, MClassType]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType = {
-1320,
-"NativeArray[nullable HashMapNode[MClass, MClassType]]", /* class_name_string */
-163,
+/* runtime type ArrayIterator[POSetElement[MClassDef]] */
+const struct type type_core__array__ArrayIterator__poset__POSetElement__nitc__MClassDef = {
+1199,
+"ArrayIterator[POSetElement[MClassDef]]", /* class_name_string */
+28,
 0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType,
-226,
+&resolution_table_core__array__ArrayIterator__poset__POSetElement__nitc__MClassDef,
+137,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6571,6 +6417,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1199, /* ArrayIterator[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6622,6 +6469,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6639,6 +6487,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6657,7 +6506,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6678,6 +6526,27 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_core__AbstractArrayRead__poset__POSetElement__nitc__MClassDef, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClassDef]] */
+}
+};
+/* runtime type ArrayReverseIterator[POSetElement[MClassDef]] */
+const struct type type_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClassDef = {
+1200,
+"ArrayReverseIterator[POSetElement[MClassDef]]", /* class_name_string */
+154,
+0,
+&resolution_table_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClassDef,
+263,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6703,11 +6572,11 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1199, /* ArrayIterator[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1320, /* NativeArray[nullable HashMapNode[MClass, MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6746,7 +6615,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6756,6 +6624,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6770,29 +6639,10 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashM
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType = {
-0, /* dummy */
-{
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType, /* E: nullable HashMapNode[MClass, MClassType] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__nitc__MClassType, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, MClassType]] */
-}
-};
-/* runtime type ArrayMapKeys[MClass, AType] */
-const struct type type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
--1, /*CAST DEAD*/
-"ArrayMapKeys[MClass, AType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayMapKeys__nitc__MClass__nitc__AType,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6800,7 +6650,6 @@ const struct type type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6824,11 +6673,9 @@ const struct type type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
 -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 */
@@ -6851,6 +6698,7 @@ const struct type type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1200, /* ArrayReverseIterator[POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6902,7 +6750,7 @@ const struct type type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
+1719, /* ArrayReverseIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6917,31 +6765,10 @@ const struct type type_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayMapKeys__nitc__MClass__nitc__AType = {
-0, /* dummy */
-{
-&type_core__ArrayMap__nitc__MClass__nitc__AType, /* ArrayMap[K, E]: ArrayMap[MClass, AType] */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_nitc__MClass, /* K: MClass */
-&type_core__MapKeysIterator__nitc__MClass__nitc__AType, /* MapKeysIterator[K, E]: MapKeysIterator[MClass, AType] */
-}
-};
-/* runtime type ArrayMapValues[MClass, AType] */
-const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType = {
--1, /*CAST DEAD*/
-"ArrayMapValues[MClass, AType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayMapValues__nitc__MClass__nitc__AType,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6973,14 +6800,36 @@ const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
+-1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClassDef = {
+0, /* dummy */
+{
+&type_core__Array__poset__POSetElement__nitc__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_core__AbstractArrayRead__poset__POSetElement__nitc__MClassDef, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClassDef]] */
+}
+};
+/* runtime type MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_core__MapKeysIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
+1201,
+"MapKeysIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+20,
+0,
+&resolution_table_core__MapKeysIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6996,11 +6845,11 @@ const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1201, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7009,7 +6858,6 @@ const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2469, /* Collection[AType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7034,6 +6882,8 @@ const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7051,7 +6901,6 @@ const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7068,25 +6917,81 @@ const struct type type_core__array__ArrayMapValues__nitc__MClass__nitc__AType =
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayMapValues__nitc__MClass__nitc__AType = {
+const struct types resolution_table_core__MapKeysIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef = {
 0, /* dummy */
 {
-&type_core__ArrayMap__nitc__MClass__nitc__AType, /* ArrayMap[K, E]: ArrayMap[MClass, AType] */
-&type_core__Array__nitc__AType, /* Array[E]: Array[AType] */
-&type_core__MapValuesIterator__nitc__MClass__nitc__AType, /* MapValuesIterator[K, E]: MapValuesIterator[MClass, AType] */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_core__MapIterator__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* MapIterator[K, V]: MapIterator[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type Array[Couple[MClass, AType]] */
-const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
-1323,
-"Array[Couple[MClass, AType]]", /* class_name_string */
-446,
+/* runtime type HashMap[MClassType, POSetElement[MClassType]] */
+const struct type type_core__HashMap__nitc__MClassType__poset__POSetElement__nitc__MClassType = {
+1202,
+"HashMap[MClassType, POSetElement[MClassType]]", /* class_name_string */
+100,
 0,
-&resolution_table_core__Array__core__Couple__nitc__MClass__nitc__AType,
-510,
+&resolution_table_core__HashMap__nitc__MClassType__poset__POSetElement__nitc__MClassType,
+166,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+3045, /* MapRead[MClassType, POSetElement[MClassType]] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7095,8 +7000,10 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+3058, /* MapRead[MType, POSetElement[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7121,12 +7028,12 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1202, /* HashMap[MClassType, POSetElement[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7146,7 +7053,6 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2458, /* Collection[Couple[MClass, AType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7161,6 +7067,143 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -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 */
+1801, /* HashMap[MType, POSetElement[MType]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClassType__poset__POSetElement__nitc__MClassType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* HashMapIterator[K, V]: HashMapIterator[MClassType, POSetElement[MClassType]] */
+&type_nitc__MClassType, /* K: MClassType */
+&type_poset__POSetElement__nitc__MClassType, /* V: POSetElement[MClassType] */
+&type_core__hash_collection__HashMapNode__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* HashMapNode[K, V]: HashMapNode[MClassType, POSetElement[MClassType]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* HashMapKeys[K, V]: HashMapKeys[MClassType, POSetElement[MClassType]] */
+&type_core__hash_collection__HashMapValues__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* HashMapValues[K, V]: HashMapValues[MClassType, POSetElement[MClassType]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* nullable N: nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+&type_core__MapRead__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* MapRead[K, V]: MapRead[MClassType, POSetElement[MClassType]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* N: HashMapNode[MClassType, POSetElement[MClassType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
+}
+};
+/* runtime type POSetElement[MClassType] */
+const struct type type_poset__POSetElement__nitc__MClassType = {
+1203,
+"POSetElement[MClassType]", /* class_name_string */
+5,
+0,
+&resolution_table_poset__POSetElement__nitc__MClassType,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1203, /* POSetElement[MClassType] */
+-1, /* empty */
+1802, /* POSetElement[MType] */
+-1, /* empty */
+},
+};
+const struct types resolution_table_poset__POSetElement__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__HashSet__nitc__MClassType, /* HashSet[E]: HashSet[MClassType] */
+&type_poset__POSet__nitc__MClassType, /* POSet[E]: POSet[MClassType] */
+&type_nitc__MClassType, /* E: MClassType */
+}
+};
+/* runtime type POSetConflictGraph[MClassType] */
+const struct type type_nitc__POSetConflictGraph__nitc__MClassType = {
+1204,
+"POSetConflictGraph[MClassType]", /* class_name_string */
+5,
+0,
+&resolution_table_nitc__POSetConflictGraph__nitc__MClassType,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1204, /* POSetConflictGraph[MClassType] */
+-1, /* empty */
+-1, /* empty */
+1803, /* POSetConflictGraph[MType] */
+},
+};
+const struct types resolution_table_nitc__POSetConflictGraph__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__HashSet__nitc__MClassType, /* HashSet[E]: HashSet[MClassType] */
+&type_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType, /* HashMap[E, Set[E]]: HashMap[MClassType, Set[MClassType]] */
+&type_poset__POSet__nitc__MClassType, /* POSet[E]: POSet[MClassType] */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_nitc__MClassType, /* E: MClassType */
+&type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+}
+};
+/* runtime type HashMap[MClassType, Set[MClassType]] */
+const struct type type_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType = {
+1205,
+"HashMap[MClassType, Set[MClassType]]", /* class_name_string */
+99,
+0,
+&resolution_table_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7199,11 +7242,11 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3046, /* MapRead[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7212,11 +7255,11 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
+3059, /* MapRead[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7232,6 +7275,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3078, /* Map[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7243,12 +7287,12 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1205, /* HashMap[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7275,16 +7319,17 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2584, /* AbstractArrayRead[Couple[MClass, AType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1804, /* HashMap[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7309,6 +7354,38 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClassType__core__Set__nitc__MClassType, /* HashMapIterator[K, V]: HashMapIterator[MClassType, Set[MClassType]] */
+&type_nitc__MClassType, /* K: MClassType */
+&type_core__Set__nitc__MClassType, /* V: Set[MClassType] */
+&type_core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType, /* HashMapNode[K, V]: HashMapNode[MClassType, Set[MClassType]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClassType__core__Set__nitc__MClassType, /* HashMapKeys[K, V]: HashMapKeys[MClassType, Set[MClassType]] */
+&type_core__hash_collection__HashMapValues__nitc__MClassType__core__Set__nitc__MClassType, /* HashMapValues[K, V]: HashMapValues[MClassType, Set[MClassType]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType, /* nullable N: nullable HashMapNode[MClassType, Set[MClassType]] */
+&type_core__MapRead__nitc__MClassType__core__Set__nitc__MClassType, /* MapRead[K, V]: MapRead[MClassType, Set[MClassType]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType, /* N: HashMapNode[MClassType, Set[MClassType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassType, Set[MClassType]]] */
+}
+};
+/* runtime type HashMapKeys[MClassType, Set[MClassType]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClassType__core__Set__nitc__MClassType = {
+1206,
+"HashMapKeys[MClassType, Set[MClassType]]", /* class_name_string */
+138,
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClassType__core__Set__nitc__MClassType,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7327,8 +7404,8 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2425, /* Collection[MClassType] */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7336,6 +7413,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7343,6 +7421,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7353,6 +7432,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7374,7 +7454,6 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7401,8 +7480,8 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2908, /* AbstractArray[Couple[MClass, AType]] */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7443,6 +7522,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1206, /* HashMapKeys[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7454,7 +7534,6 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7469,7 +7548,6 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7479,12 +7557,14 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1805, /* HashMapKeys[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7509,6 +7589,36 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType, /* HashMap[K, V]: HashMap[MClassType, Set[MClassType]] */
+&type_core__MapKeysIterator__nitc__MClassType__core__Set__nitc__MClassType, /* MapKeysIterator[K, V]: MapKeysIterator[MClassType, Set[MClassType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+}
+};
+/* runtime type HashMapValues[MClassType, Set[MClassType]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClassType__core__Set__nitc__MClassType = {
+1207,
+"HashMapValues[MClassType, Set[MClassType]]", /* class_name_string */
+138,
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClassType__core__Set__nitc__MClassType,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7531,7 +7641,6 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1323, /* Array[Couple[MClass, AType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7545,6 +7654,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7570,6 +7680,7 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2468, /* Collection[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7595,39 +7706,6 @@ const struct type type_core__Array__core__Couple__nitc__MClass__nitc__AType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Couple__nitc__MClass__nitc__AType = {
-0, /* dummy */
-{
-&type_core__Couple__nitc__MClass__nitc__AType, /* E: Couple[MClass, AType] */
-&type_core__Array__core__Couple__nitc__MClass__nitc__AType, /* Array[E]: Array[Couple[MClass, AType]] */
-&type_core__Collection__core__Couple__nitc__MClass__nitc__AType, /* Collection[E]: Collection[Couple[MClass, AType]] */
-&type_core__Array__core__Couple__nitc__MClass__nitc__AType, /* Array[E]: Array[Couple[MClass, AType]] */
-&type_core__AbstractArray__core__Couple__nitc__MClass__nitc__AType, /* AbstractArray[E]: AbstractArray[Couple[MClass, AType]] */
-&type_core__NativeArray__core__Couple__nitc__MClass__nitc__AType, /* NativeArray[E]: NativeArray[Couple[MClass, AType]] */
-&type_core__Couple__nitc__MClass__nitc__AType, /* E: Couple[MClass, AType] */
-&type_core__Collection__core__Couple__nitc__MClass__nitc__AType, /* Collection[E]: Collection[Couple[MClass, AType]] */
-&type_core__Couple__nitc__MClass__nitc__AType, /* E: Couple[MClass, AType] */
-&type_core__Collection__core__Couple__nitc__MClass__nitc__AType, /* Collection[E]: Collection[Couple[MClass, AType]] */
-&type_core__Collection__core__Couple__nitc__MClass__nitc__AType, /* Collection[E]: Collection[Couple[MClass, AType]] */
-&type_core__Array__core__Couple__nitc__MClass__nitc__AType, /* Array[E]: Array[Couple[MClass, AType]] */
-&type_core__AbstractArray__core__Couple__nitc__MClass__nitc__AType, /* AbstractArray[E]: AbstractArray[Couple[MClass, AType]] */
-&type_core__array__ArrayIterator__core__Couple__nitc__MClass__nitc__AType, /* ArrayIterator[E]: ArrayIterator[Couple[MClass, AType]] */
-&type_core__array__ArrayReverseIterator__core__Couple__nitc__MClass__nitc__AType, /* ArrayReverseIterator[E]: ArrayReverseIterator[Couple[MClass, AType]] */
-}
-};
-/* runtime type CoupleMapIterator[MClass, AType] */
-const struct type type_core__abstract_collection__CoupleMapIterator__nitc__MClass__nitc__AType = {
--1, /*CAST DEAD*/
-"CoupleMapIterator[MClass, AType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__abstract_collection__CoupleMapIterator__nitc__MClass__nitc__AType,
-79,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7636,11 +7714,13 @@ const struct type type_core__abstract_collection__CoupleMapIterator__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2508, /* Collection[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7653,7 +7733,6 @@ const struct type type_core__abstract_collection__CoupleMapIterator__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2677, /* MapIterator[MClass, AType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7676,6 +7755,7 @@ const struct type type_core__abstract_collection__CoupleMapIterator__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1207, /* HashMapValues[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7683,7 +7763,6 @@ const struct type type_core__abstract_collection__CoupleMapIterator__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7705,58 +7784,20 @@ const struct type type_core__abstract_collection__CoupleMapIterator__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__abstract_collection__CoupleMapIterator__nitc__MClass__nitc__AType = {
-0, /* dummy */
-{
-&type_core__Iterator__core__Couple__nitc__MClass__nitc__AType, /* Iterator[Couple[K, V]]: Iterator[Couple[MClass, AType]] */
-}
-};
-/* runtime type Couple[MClass, AType] */
-const struct type type_core__Couple__nitc__MClass__nitc__AType = {
-1325,
-"Couple[MClass, AType]", /* class_name_string */
-2,
-0,
-&resolution_table_core__Couple__nitc__MClass__nitc__AType,
-4,
-{
-2371, /* Object */
-2397, /* nullable Object */
-1325, /* Couple[MClass, AType] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Couple__nitc__MClass__nitc__AType = {
-0, /* dummy */
-{
-&type_nitc__MClass, /* F: MClass */
-&type_nitc__AType, /* S: AType */
-}
-};
-/* runtime type Array[AExternCodeBlock] */
-const struct type type_core__Array__nitc__AExternCodeBlock = {
-1326,
-"Array[AExternCodeBlock]", /* class_name_string */
-447,
-0,
-&resolution_table_core__Array__nitc__AExternCodeBlock,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1711, /* HashMapValues[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1806, /* HashMapValues[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7780,19 +7821,48 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType, /* HashMap[K, V]: HashMap[MClassType, Set[MClassType]] */
+&type_core__MapValuesIterator__nitc__MClassType__core__Set__nitc__MClassType, /* MapValuesIterator[K, V]: MapValuesIterator[MClassType, Set[MClassType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+}
+};
+/* runtime type HashMapIterator[MClassType, Set[MClassType]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClassType__core__Set__nitc__MClassType = {
+1208,
+"HashMapIterator[MClassType, Set[MClassType]]", /* class_name_string */
+91,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClassType__core__Set__nitc__MClassType,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2670, /* MapIterator[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7806,8 +7876,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2459, /* Collection[AExternCodeBlock] */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7830,12 +7898,14 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2713, /* MapIterator[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7858,7 +7928,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7872,9 +7941,8 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1208, /* HashMapIterator[MClassType, Set[MClassType]] */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7907,15 +7975,15 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
+1712, /* HashMapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2565, /* AbstractArrayRead[Prod] */
+1807, /* HashMapIterator[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7935,13 +8003,30 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2585, /* AbstractArrayRead[AExternCodeBlock] */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClassType__core__Set__nitc__MClassType, /* HashMap[K, V]: HashMap[MClassType, Set[MClassType]] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClassType, Set[MClassType]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType = {
+1209,
+"NativeArray[nullable HashMapNode[MClassType, Set[MClassType]]]", /* class_name_string */
+140,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7987,7 +8072,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8033,14 +8117,13 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2888, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8061,8 +8144,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2909, /* AbstractArray[AExternCodeBlock] */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8084,6 +8165,7 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1209, /* NativeArray[nullable HashMapNode[MClassType, Set[MClassType]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8113,7 +8195,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8128,11 +8209,11 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8140,6 +8221,7 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1808, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8171,9 +8253,28 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType, /* E: nullable HashMapNode[MClassType, Set[MClassType]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClassType, Set[MClassType]]] */
+}
+};
+/* runtime type HashMapNode[MClassType, Set[MClassType]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType = {
+1210,
+"HashMapNode[MClassType, Set[MClassType]]", /* class_name_string */
+132,
+0,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType,
+156,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8182,6 +8283,7 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2751, /* nullable HashMapNode[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8191,8 +8293,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1326, /* Array[AExternCodeBlock] */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8218,12 +8318,14 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2807, /* nullable HashMapNode[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8254,39 +8356,6 @@ const struct type type_core__Array__nitc__AExternCodeBlock = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__AExternCodeBlock = {
-0, /* dummy */
-{
-&type_nitc__AExternCodeBlock, /* E: AExternCodeBlock */
-&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
-&type_core__Collection__nitc__AExternCodeBlock, /* Collection[E]: Collection[AExternCodeBlock] */
-&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
-&type_core__AbstractArray__nitc__AExternCodeBlock, /* AbstractArray[E]: AbstractArray[AExternCodeBlock] */
-&type_core__NativeArray__nitc__AExternCodeBlock, /* NativeArray[E]: NativeArray[AExternCodeBlock] */
-&type_nitc__AExternCodeBlock, /* E: AExternCodeBlock */
-&type_core__Collection__nitc__AExternCodeBlock, /* Collection[E]: Collection[AExternCodeBlock] */
-&type_nitc__AExternCodeBlock, /* E: AExternCodeBlock */
-&type_core__Collection__nitc__AExternCodeBlock, /* Collection[E]: Collection[AExternCodeBlock] */
-&type_core__Collection__nitc__AExternCodeBlock, /* Collection[E]: Collection[AExternCodeBlock] */
-&type_core__Array__nitc__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
-&type_core__AbstractArray__nitc__AExternCodeBlock, /* AbstractArray[E]: AbstractArray[AExternCodeBlock] */
-&type_core__array__ArrayIterator__nitc__AExternCodeBlock, /* ArrayIterator[E]: ArrayIterator[AExternCodeBlock] */
-&type_core__array__ArrayReverseIterator__nitc__AExternCodeBlock, /* ArrayReverseIterator[E]: ArrayReverseIterator[AExternCodeBlock] */
-}
-};
-/* runtime type Array[ANode] */
-const struct type type_core__Array__nitc__ANode = {
-1327,
-"Array[ANode]", /* class_name_string */
-448,
-0,
-&resolution_table_core__Array__nitc__ANode,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8321,7 +8390,6 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8335,6 +8403,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1210, /* HashMapNode[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8343,12 +8412,13 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1714, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1809, /* HashMapNode[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8357,6 +8427,26 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MClassType, /* V: Set[MClassType] */
+&type_nitc__MClassType, /* K: MClassType */
+}
+};
+/* runtime type Array[Set[MClassType]] */
+const struct type type_core__Array__core__Set__nitc__MClassType = {
+1211,
+"Array[Set[MClassType]]", /* class_name_string */
+448,
+0,
+&resolution_table_core__Array__core__Set__nitc__MClassType,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8392,6 +8482,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8399,7 +8490,6 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8414,12 +8504,11 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2468, /* Collection[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8448,17 +8537,18 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2508, /* Collection[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8477,7 +8567,6 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8485,6 +8574,8 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8504,6 +8595,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2552, /* AbstractArrayRead[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8528,7 +8620,6 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8555,6 +8646,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8564,6 +8656,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2613, /* AbstractArrayRead[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8571,10 +8664,10 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8603,7 +8696,6 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8643,6 +8735,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8654,7 +8747,6 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8669,7 +8761,7 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+2914, /* AbstractArray[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8704,11 +8796,13 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2955, /* AbstractArray[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8733,9 +8827,9 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8795,68 +8889,15 @@ const struct type type_core__Array__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__ANode = {
-0, /* dummy */
-{
-&type_nitc__ANode, /* E: ANode */
-&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
-&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
-&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
-&type_core__AbstractArray__nitc__ANode, /* AbstractArray[E]: AbstractArray[ANode] */
-&type_core__NativeArray__nitc__ANode, /* NativeArray[E]: NativeArray[ANode] */
-&type_nitc__ANode, /* E: ANode */
-&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
-&type_nitc__ANode, /* E: ANode */
-&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
-&type_core__Collection__nitc__ANode, /* Collection[E]: Collection[ANode] */
-&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
-&type_core__AbstractArray__nitc__ANode, /* AbstractArray[E]: AbstractArray[ANode] */
-&type_core__array__ArrayIterator__nitc__ANode, /* ArrayIterator[E]: ArrayIterator[ANode] */
-&type_core__array__ArrayReverseIterator__nitc__ANode, /* ArrayReverseIterator[E]: ArrayReverseIterator[ANode] */
-}
-};
-/* runtime type CircularArrayIterator[ANode] */
-const struct type type_core__circular_array__CircularArrayIterator__nitc__ANode = {
--1, /*CAST DEAD*/
-"CircularArrayIterator[ANode]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__circular_array__CircularArrayIterator__nitc__ANode,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1211, /* Array[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__circular_array__CircularArrayIterator__nitc__ANode = {
-0, /* dummy */
-{
-&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
-&type_core__CircularArray__nitc__ANode, /* CircularArray[E]: CircularArray[ANode] */
-}
-};
-/* runtime type NativeArray[ANode] */
-const struct type type_core__NativeArray__nitc__ANode = {
-1329,
-"NativeArray[ANode]", /* class_name_string */
-62,
-0,
-&resolution_table_core__NativeArray__nitc__ANode,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8888,8 +8929,8 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
+1810, /* Array[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8914,10 +8955,44 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MClassType, /* E: Set[MClassType] */
+&type_core__Array__core__Set__nitc__MClassType, /* SELF: Array[Set[MClassType]] */
+&type_core__Collection__core__Set__nitc__MClassType, /* Collection[E]: Collection[Set[MClassType]] */
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_core__AbstractArray__core__Set__nitc__MClassType, /* AbstractArray[E]: AbstractArray[Set[MClassType]] */
+&type_core__NativeArray__core__Set__nitc__MClassType, /* NativeArray[E]: NativeArray[Set[MClassType]] */
+&type_core__Set__nitc__MClassType, /* E: Set[MClassType] */
+&type_core__Collection__core__Set__nitc__MClassType, /* Collection[E]: Collection[Set[MClassType]] */
+&type_core__Set__nitc__MClassType, /* E: Set[MClassType] */
+&type_core__Collection__core__Set__nitc__MClassType, /* Collection[E]: Collection[Set[MClassType]] */
+&type_core__Collection__core__Set__nitc__MClassType, /* Collection[E]: Collection[Set[MClassType]] */
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_core__AbstractArray__core__Set__nitc__MClassType, /* AbstractArray[E]: AbstractArray[Set[MClassType]] */
+&type_core__array__ArrayIterator__core__Set__nitc__MClassType, /* ArrayIterator[E]: ArrayIterator[Set[MClassType]] */
+&type_core__array__ArrayReverseIterator__core__Set__nitc__MClassType, /* ArrayReverseIterator[E]: ArrayReverseIterator[Set[MClassType]] */
+}
+};
+/* runtime type MapValuesIterator[MClassType, Set[MClassType]] */
+const struct type type_core__MapValuesIterator__nitc__MClassType__core__Set__nitc__MClassType = {
+1212,
+"MapValuesIterator[MClassType, Set[MClassType]]", /* class_name_string */
+21,
+0,
+&resolution_table_core__MapValuesIterator__nitc__MClassType__core__Set__nitc__MClassType,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1329, /* NativeArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8933,6 +9008,7 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1212, /* MapValuesIterator[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8968,13 +9044,14 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
+1716, /* MapValuesIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1811, /* MapValuesIterator[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9000,6 +9077,26 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapValuesIterator__nitc__MClassType__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_core__MapIterator__nitc__MClassType__core__Set__nitc__MClassType, /* MapIterator[K, V]: MapIterator[MClassType, Set[MClassType]] */
+}
+};
+/* runtime type NativeArray[Set[MClassType]] */
+const struct type type_core__NativeArray__core__Set__nitc__MClassType = {
+1213,
+"NativeArray[Set[MClassType]]", /* class_name_string */
+60,
+0,
+&resolution_table_core__NativeArray__core__Set__nitc__MClassType,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9032,6 +9129,7 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9057,6 +9155,7 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1213, /* NativeArray[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9081,27 +9180,6 @@ const struct type type_core__NativeArray__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nitc__ANode = {
-0, /* dummy */
-{
-&type_nitc__ANode, /* E: ANode */
-&type_core__NativeArray__nitc__ANode, /* NativeArray[E]: NativeArray[ANode] */
-}
-};
-/* runtime type HashSetIterator[ANode] */
-const struct type type_core__hash_collection__HashSetIterator__nitc__ANode = {
--1, /*CAST DEAD*/
-"HashSetIterator[ANode]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashSetIterator__nitc__ANode,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9110,38 +9188,18 @@ const struct type type_core__hash_collection__HashSetIterator__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashSetIterator__nitc__ANode = {
-0, /* dummy */
-{
-&type_core__Array__nitc__ANode, /* Array[E]: Array[ANode] */
-&type_core__HashSet__nitc__ANode, /* HashSet[E]: HashSet[ANode] */
-}
-};
-/* runtime type HashSetNode[ANode] */
-const struct type type_core__hash_collection__HashSetNode__nitc__ANode = {
-1331,
-"HashSetNode[ANode]", /* class_name_string */
-36,
-0,
-&resolution_table_core__hash_collection__HashSetNode__nitc__ANode,
-48,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1812, /* NativeArray[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2757, /* nullable HashSetNode[Object] */
-2765, /* nullable HashSetNode[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9163,8 +9221,6 @@ const struct type type_core__hash_collection__HashSetNode__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1270, /* HashSetNode[Object] */
-1331, /* HashSetNode[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9176,26 +9232,6 @@ const struct type type_core__hash_collection__HashSetNode__nitc__ANode = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__hash_collection__HashSetNode__nitc__ANode = {
-0, /* dummy */
-{
-NULL, /* empty */
-&type_nitc__ANode, /* K: ANode */
-}
-};
-/* runtime type NativeArray[nullable HashSetNode[ANode]] */
-const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__ANode = {
-1332,
-"NativeArray[nullable HashSetNode[ANode]]", /* class_name_string */
-164,
-0,
-&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__ANode,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9287,6 +9323,27 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MClassType, /* E: Set[MClassType] */
+&type_core__NativeArray__core__Set__nitc__MClassType, /* NativeArray[E]: NativeArray[Set[MClassType]] */
+}
+};
+/* runtime type ArrayIterator[Set[MClassType]] */
+const struct type type_core__array__ArrayIterator__core__Set__nitc__MClassType = {
+1214,
+"ArrayIterator[Set[MClassType]]", /* class_name_string */
+29,
+0,
+&resolution_table_core__array__ArrayIterator__core__Set__nitc__MClassType,
+137,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9307,13 +9364,13 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1214, /* ArrayIterator[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9350,7 +9407,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1271, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9358,7 +9414,6 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1332, /* NativeArray[nullable HashSetNode[ANode]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9366,6 +9421,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9375,6 +9431,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1813, /* ArrayIterator[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9382,6 +9439,7 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9422,32 +9480,25 @@ const struct type type_core__NativeArray__nullable__core__hash_collection__HashS
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__ANode = {
+const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__MClassType = {
 0, /* dummy */
 {
-&type_nullable__core__hash_collection__HashSetNode__nitc__ANode, /* E: nullable HashSetNode[ANode] */
-&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__ANode, /* NativeArray[E]: NativeArray[nullable HashSetNode[ANode]] */
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_core__AbstractArrayRead__core__Set__nitc__MClassType, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClassType]] */
 }
 };
-/* runtime type NativeArray[MType] */
-const struct type type_core__NativeArray__nitc__MType = {
-1333,
-"NativeArray[MType]", /* class_name_string */
-25,
+/* runtime type ArrayReverseIterator[Set[MClassType]] */
+const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MClassType = {
+1215,
+"ArrayReverseIterator[Set[MClassType]]", /* class_name_string */
+155,
 0,
-&resolution_table_core__NativeArray__nitc__MType,
-226,
+&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MClassType,
+263,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9463,7 +9514,6 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1333, /* NativeArray[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9471,18 +9521,17 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1214, /* ArrayIterator[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1538, /* NativeArray[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9527,6 +9576,7 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9536,6 +9586,7 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1813, /* ArrayIterator[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9543,6 +9594,7 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9551,7 +9603,6 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9600,6 +9651,7 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1215, /* ArrayReverseIterator[Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9650,6 +9702,7 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9659,91 +9712,15 @@ const struct type type_core__NativeArray__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1814, /* ArrayReverseIterator[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nitc__MType = {
-0, /* dummy */
-{
-&type_nitc__MType, /* E: MType */
-&type_core__NativeArray__nitc__MType, /* NativeArray[E]: NativeArray[MType] */
-}
-};
-/* runtime type ArrayIterator[MType] */
-const struct type type_core__array__ArrayIterator__nitc__MType = {
--1, /*CAST DEAD*/
-"ArrayIterator[MType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__nitc__MType,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2831, /* Iterator[MType] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__nitc__MType = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
-&type_core__AbstractArrayRead__nitc__MType, /* AbstractArrayRead[E]: AbstractArrayRead[MType] */
-}
-};
-/* runtime type ArrayReverseIterator[MType] */
-const struct type type_core__array__ArrayReverseIterator__nitc__MType = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[MType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__nitc__MType,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2831, /* Iterator[MType] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__nitc__MType = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
-&type_core__AbstractArrayRead__nitc__MType, /* AbstractArrayRead[E]: AbstractArrayRead[MType] */
-}
-};
-/* runtime type HashMapKeys[MModule, Set[MClassDef]] */
-const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__Set__nitc__MClassDef = {
--1, /*CAST DEAD*/
-"HashMapKeys[MModule, Set[MClassDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__hash_collection__HashMapKeys__nitc__MModule__core__Set__nitc__MClassDef,
-129,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9751,7 +9728,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2408, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9776,7 +9752,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9784,10 +9759,32 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MClassType = {
+0, /* dummy */
+{
+&type_core__Array__core__Set__nitc__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_core__AbstractArrayRead__core__Set__nitc__MClassType, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClassType]] */
+}
+};
+/* runtime type MapKeysIterator[MClassType, Set[MClassType]] */
+const struct type type_core__MapKeysIterator__nitc__MClassType__core__Set__nitc__MClassType = {
+1216,
+"MapKeysIterator[MClassType, Set[MClassType]]", /* class_name_string */
+21,
+0,
+&resolution_table_core__MapKeysIterator__nitc__MClassType__core__Set__nitc__MClassType,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2843, /* Iterator[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9801,6 +9798,7 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1216, /* MapKeysIterator[MClassType, Set[MClassType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9825,7 +9823,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2482, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9837,12 +9834,14 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1815, /* MapKeysIterator[MType, Set[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9854,7 +9853,6 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9871,11 +9869,10 @@ const struct type type_core__hash_collection__HashMapKeys__nitc__MModule__core__
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MModule__core__Set__nitc__MClassDef = {
+const struct types resolution_table_core__MapKeysIterator__nitc__MClassType__core__Set__nitc__MClassType = {
 0, /* dummy */
 {
-&type_core__HashMap__nitc__MModule__core__Set__nitc__MClassDef, /* HashMap[K, V]: HashMap[MModule, Set[MClassDef]] */
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-&type_core__MapKeysIterator__nitc__MModule__core__Set__nitc__MClassDef, /* MapKeysIterator[K, V]: MapKeysIterator[MModule, Set[MClassDef]] */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_core__MapIterator__nitc__MClassType__core__Set__nitc__MClassType, /* MapIterator[K, V]: MapIterator[MClassType, Set[MClassType]] */
 }
 };