doc: Commands tests use `test_frontend`
[nit.git] / c_src / nitc__nith.types.22.c
index 8fd381c..10fd1c9 100644 (file)
@@ -1,15 +1,15 @@
 #include "nitc__nith.types.0.h"
-/* runtime type Array[Set[MGroup]] */
-const struct type type_core__Array__core__Set__nitc__MGroup = {
-2125,
-"Array[Set[MGroup]]", /* class_name_string */
-503,
+/* runtime type Array[Array[Object]] */
+const struct type type_core__Array__core__Array__core__Object = {
+1726,
+"Array[Array[Object]]", /* class_name_string */
+480,
 0,
-&resolution_table_core__Array__core__Set__nitc__MGroup,
+&resolution_table_core__Array__core__Array__core__Object,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -44,8 +44,8 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -105,6 +105,8 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
+2503, /* Collection[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -122,7 +124,6 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -130,15 +131,14 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2519, /* Collection[Set[MGroup]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -171,7 +171,6 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -210,6 +209,8 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
+2604, /* AbstractArrayRead[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -226,6 +227,7 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -251,7 +253,6 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -259,7 +260,6 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2645, /* AbstractArrayRead[Set[MGroup]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -297,8 +297,8 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -359,6 +359,8 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
+2950, /* AbstractArray[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -377,7 +379,6 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -385,14 +386,13 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2969, /* AbstractArray[Set[MGroup]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -488,6 +488,7 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1726, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -511,7 +512,6 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2125, /* Array[Set[MGroup]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -520,38 +520,118 @@ const struct type type_core__Array__core__Set__nitc__MGroup = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__Array__core__Set__nitc__MGroup = {
+const struct types resolution_table_core__Array__core__Array__core__Object = {
 0, /* dummy */
 {
-&type_core__Set__nitc__MGroup, /* E: Set[MGroup] */
-&type_core__Array__core__Set__nitc__MGroup, /* Array[E]: Array[Set[MGroup]] */
-&type_core__Collection__core__Set__nitc__MGroup, /* Collection[E]: Collection[Set[MGroup]] */
-&type_core__Array__core__Set__nitc__MGroup, /* Array[E]: Array[Set[MGroup]] */
-&type_core__AbstractArray__core__Set__nitc__MGroup, /* AbstractArray[E]: AbstractArray[Set[MGroup]] */
-&type_core__NativeArray__core__Set__nitc__MGroup, /* NativeArray[E]: NativeArray[Set[MGroup]] */
-&type_core__Set__nitc__MGroup, /* E: Set[MGroup] */
-&type_core__Collection__core__Set__nitc__MGroup, /* Collection[E]: Collection[Set[MGroup]] */
-&type_core__Set__nitc__MGroup, /* E: Set[MGroup] */
-&type_core__Collection__core__Set__nitc__MGroup, /* Collection[E]: Collection[Set[MGroup]] */
-&type_core__Collection__core__Set__nitc__MGroup, /* Collection[E]: Collection[Set[MGroup]] */
-&type_core__Array__core__Set__nitc__MGroup, /* Array[E]: Array[Set[MGroup]] */
-&type_core__AbstractArray__core__Set__nitc__MGroup, /* AbstractArray[E]: AbstractArray[Set[MGroup]] */
-&type_core__array__ArrayIterator__core__Set__nitc__MGroup, /* ArrayIterator[E]: ArrayIterator[Set[MGroup]] */
-&type_core__array__ArrayReverseIterator__core__Set__nitc__MGroup, /* ArrayReverseIterator[E]: ArrayReverseIterator[Set[MGroup]] */
+&type_core__Array__core__Object, /* E: Array[Object] */
+&type_core__Array__core__Array__core__Object, /* SELF: Array[Array[Object]] */
+&type_core__Collection__core__Array__core__Object, /* Collection[E]: Collection[Array[Object]] */
+&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
+&type_core__AbstractArray__core__Array__core__Object, /* AbstractArray[E]: AbstractArray[Array[Object]] */
+&type_core__NativeArray__core__Array__core__Object, /* NativeArray[E]: NativeArray[Array[Object]] */
+&type_core__Array__core__Object, /* E: Array[Object] */
+&type_core__Collection__core__Array__core__Object, /* Collection[E]: Collection[Array[Object]] */
+&type_core__Array__core__Object, /* E: Array[Object] */
+&type_core__Collection__core__Array__core__Object, /* Collection[E]: Collection[Array[Object]] */
+&type_core__Collection__core__Array__core__Object, /* Collection[E]: Collection[Array[Object]] */
+&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
+&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
+&type_core__AbstractArray__core__Array__core__Object, /* AbstractArray[E]: AbstractArray[Array[Object]] */
+&type_core__array__ArrayIterator__core__Array__core__Object, /* ArrayIterator[E]: ArrayIterator[Array[Object]] */
+&type_core__array__ArrayReverseIterator__core__Array__core__Object, /* ArrayReverseIterator[E]: ArrayReverseIterator[Array[Object]] */
 }
 };
-/* runtime type MapValuesIterator[MGroup, Set[MGroup]] */
-const struct type type_core__MapValuesIterator__nitc__MGroup__core__Set__nitc__MGroup = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MGroup, Set[MGroup]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type MapValuesIterator[Object, Array[Object]] */
+const struct type type_core__MapValuesIterator__core__Object__core__Array__core__Object = {
+1727,
+"MapValuesIterator[Object, Array[Object]]", /* class_name_string */
+58,
 0,
-&resolution_table_core__MapValuesIterator__nitc__MGroup__core__Set__nitc__MGroup,
-11,
+&resolution_table_core__MapValuesIterator__core__Object__core__Array__core__Object,
+90,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[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 */
+1716, /* MapValuesIterator[Object, nullable Object] */
+1727, /* MapValuesIterator[Object, Array[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 */
@@ -562,24 +642,26 @@ const struct type type_core__MapValuesIterator__nitc__MGroup__core__Set__nitc__M
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__MapValuesIterator__nitc__MGroup__core__Set__nitc__MGroup = {
+const struct types resolution_table_core__MapValuesIterator__core__Object__core__Array__core__Object = {
 0, /* dummy */
 {
-&type_core__Array__core__Set__nitc__MGroup, /* Array[E]: Array[Set[MGroup]] */
-&type_core__MapIterator__nitc__MGroup__core__Set__nitc__MGroup, /* MapIterator[K, V]: MapIterator[MGroup, Set[MGroup]] */
+&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
+&type_core__MapIterator__core__Object__core__Array__core__Object, /* MapIterator[K, V]: MapIterator[Object, Array[Object]] */
 }
 };
-/* runtime type NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
-const struct type type_core__NativeArray__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef = {
-2127,
-"NativeArray[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
-110,
+/* runtime type NativeArray[Array[Object]] */
+const struct type type_core__NativeArray__core__Array__core__Object = {
+1728,
+"NativeArray[Array[Object]]", /* class_name_string */
+96,
 0,
-&resolution_table_core__NativeArray__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef,
-226,
+&resolution_table_core__NativeArray__core__Array__core__Object,
+228,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -610,8 +692,8 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MProperty__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -671,6 +753,8 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MProperty__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
+1728, /* NativeArray[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -688,10 +772,8 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MProperty__core__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2127, /* NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -806,26 +888,25 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MProperty__core__
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef = {
+const struct types resolution_table_core__NativeArray__core__Array__core__Object = {
 0, /* dummy */
 {
-&type_core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
-&type_core__NativeArray__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
+&type_core__Array__core__Object, /* E: Array[Object] */
+&type_core__NativeArray__core__Array__core__Object, /* NativeArray[E]: NativeArray[Array[Object]] */
 }
 };
-/* runtime type ArrayIterator[HashMap[MProperty, Set[MMethodDef]]] */
-const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type ArrayIterator[Array[Object]] */
+const struct type type_core__array__ArrayIterator__core__Array__core__Object = {
+1729,
+"ArrayIterator[Array[Object]]", /* class_name_string */
+81,
 0,
-&resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef,
-11,
+&resolution_table_core__array__ArrayIterator__core__Array__core__Object,
+137,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -833,55 +914,12 @@ const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MPropert
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
-}
-};
-/* runtime type ArrayReverseIterator[HashMap[MProperty, Set[MMethodDef]]] */
-const struct type type_core__array__ArrayReverseIterator__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MProperty__core__Set__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
-}
-};
-/* runtime type NativeArray[Set[MMethodDef]] */
-const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
-2130,
-"NativeArray[Set[MMethodDef]]", /* class_name_string */
-111,
-0,
-&resolution_table_core__NativeArray__core__Set__nitc__MMethodDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -913,7 +951,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -947,6 +984,8 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
+1729, /* ArrayIterator[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -963,6 +1002,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -979,7 +1019,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2043, /* NativeArray[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -991,9 +1030,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2130, /* NativeArray[Set[MMethodDef]] */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1004,6 +1041,27 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__core__Array__core__Object = {
+0, /* dummy */
+{
+&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
+&type_core__AbstractArrayRead__core__Array__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Array[Object]] */
+}
+};
+/* runtime type ArrayReverseIterator[Array[Object]] */
+const struct type type_core__array__ArrayReverseIterator__core__Array__core__Object = {
+1730,
+"ArrayReverseIterator[Array[Object]]", /* class_name_string */
+207,
+0,
+&resolution_table_core__array__ArrayReverseIterator__core__Array__core__Object,
+263,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1081,6 +1139,8 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
+1729, /* ArrayIterator[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1097,6 +1157,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1106,27 +1167,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Set__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Set__nitc__MMethodDef, /* E: Set[MMethodDef] */
-&type_core__NativeArray__core__Set__nitc__MMethodDef, /* NativeArray[E]: NativeArray[Set[MMethodDef]] */
-}
-};
-/* runtime type ArrayIterator[Set[MMethodDef]] */
-const struct type type_core__array__ArrayIterator__core__Set__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[Set[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__Set__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1135,27 +1175,6 @@ const struct type type_core__array__ArrayIterator__core__Set__nitc__MMethodDef =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
-&type_core__AbstractArrayRead__core__Set__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MMethodDef]] */
-}
-};
-/* runtime type ArrayReverseIterator[Set[MMethodDef]] */
-const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Set[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1164,26 +1183,6 @@ const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MMeth
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
-&type_core__AbstractArrayRead__core__Set__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MMethodDef]] */
-}
-};
-/* runtime type NativeArray[Array[Object]] */
-const struct type type_core__NativeArray__core__Array__core__Object = {
-2133,
-"NativeArray[Array[Object]]", /* class_name_string */
-112,
-0,
-&resolution_table_core__NativeArray__core__Array__core__Object,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1215,7 +1214,6 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1267,6 +1265,8 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
+1730, /* ArrayReverseIterator[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1283,6 +1283,7 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1294,8 +1295,6 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2133, /* NativeArray[Array[Object]] */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1323,6 +1322,27 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__core__Array__core__Object = {
+0, /* dummy */
+{
+&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
+&type_core__AbstractArrayRead__core__Array__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Array[Object]] */
+}
+};
+/* runtime type MapKeysIterator[Object, Array[Object]] */
+const struct type type_core__MapKeysIterator__core__Object__core__Array__core__Object = {
+1731,
+"MapKeysIterator[Object, Array[Object]]", /* class_name_string */
+58,
+0,
+&resolution_table_core__MapKeysIterator__core__Object__core__Array__core__Object,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1377,6 +1397,8 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
+1731, /* MapKeysIterator[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1410,25 +1432,24 @@ const struct type type_core__NativeArray__core__Array__core__Object = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__core__Array__core__Object = {
+const struct types resolution_table_core__MapKeysIterator__core__Object__core__Array__core__Object = {
 0, /* dummy */
 {
-&type_core__Array__core__Object, /* E: Array[Object] */
-&type_core__NativeArray__core__Array__core__Object, /* NativeArray[E]: NativeArray[Array[Object]] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__MapIterator__core__Object__core__Array__core__Object, /* MapIterator[K, V]: MapIterator[Object, Array[Object]] */
 }
 };
-/* runtime type ArrayIterator[Array[Object]] */
-const struct type type_core__array__ArrayIterator__core__Array__core__Object = {
--1, /*CAST DEAD*/
-"ArrayIterator[Array[Object]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMapKeys[Object, String] */
+const struct type type_core__hash_collection__HashMapKeys__core__Object__core__String = {
+1732,
+"HashMapKeys[Object, String]", /* class_name_string */
+175,
 0,
-&resolution_table_core__array__ArrayIterator__core__Array__core__Object,
-11,
+&resolution_table_core__hash_collection__HashMapKeys__core__Object__core__String,
+205,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1437,27 +1458,6 @@ const struct type type_core__array__ArrayIterator__core__Array__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Array__core__Object = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
-&type_core__AbstractArrayRead__core__Array__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Array[Object]] */
-}
-};
-/* runtime type ArrayReverseIterator[Array[Object]] */
-const struct type type_core__array__ArrayReverseIterator__core__Array__core__Object = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Array[Object]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Array__core__Object,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1466,26 +1466,6 @@ const struct type type_core__array__ArrayReverseIterator__core__Array__core__Obj
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Array__core__Object = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__core__Object, /* Array[E]: Array[Array[Object]] */
-&type_core__AbstractArrayRead__core__Array__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Array[Object]] */
-}
-};
-/* runtime type NativeArray[nullable Object] */
-const struct type type_core__NativeArray__nullable__core__Object = {
-2136,
-"NativeArray[nullable Object]", /* class_name_string */
-113,
-0,
-&resolution_table_core__NativeArray__nullable__core__Object,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1505,6 +1485,7 @@ const struct type type_core__NativeArray__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1564,6 +1545,7 @@ const struct type type_core__NativeArray__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1597,7 +1579,6 @@ const struct type type_core__NativeArray__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1640,7 +1621,9 @@ const struct type type_core__NativeArray__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
+1732, /* HashMapKeys[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1670,9 +1653,40 @@ const struct type type_core__NativeArray__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__core__Object__core__String = {
+0, /* dummy */
+{
+&type_core__HashMap__core__Object__core__String, /* HashMap[K, V]: HashMap[Object, String] */
+&type_core__MapKeysIterator__core__Object__core__String, /* MapKeysIterator[K, V]: MapKeysIterator[Object, String] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+}
+};
+/* runtime type HashMapValues[Object, String] */
+const struct type type_core__hash_collection__HashMapValues__core__Object__core__String = {
+1733,
+"HashMapValues[Object, String]", /* class_name_string */
+175,
+0,
+&resolution_table_core__hash_collection__HashMapValues__core__Object__core__String,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1704,32 +1718,14 @@ const struct type type_core__NativeArray__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2448, /* Collection[Writable] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__core__Object = {
-0, /* dummy */
-{
-&type_nullable__core__Object, /* E: nullable Object */
-&type_core__NativeArray__nullable__core__Object, /* NativeArray[E]: NativeArray[nullable Object] */
-}
-};
-/* runtime type ArrayIterator[nullable Object] */
-const struct type type_core__array__ArrayIterator__nullable__core__Object = {
--1, /*CAST DEAD*/
-"ArrayIterator[nullable Object]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__nullable__core__Object,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1739,26 +1735,6 @@ const struct type type_core__array__ArrayIterator__nullable__core__Object = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__nullable__core__Object = {
-0, /* dummy */
-{
-&type_core__Array__nullable__core__Object, /* Array[E]: Array[nullable Object] */
-&type_core__AbstractArrayRead__nullable__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[nullable Object] */
-}
-};
-/* runtime type ArrayReverseIterator[nullable Object] */
-const struct type type_core__array__ArrayReverseIterator__nullable__core__Object = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[nullable Object]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__nullable__core__Object,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1768,27 +1744,6 @@ const struct type type_core__array__ArrayReverseIterator__nullable__core__Object
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__nullable__core__Object = {
-0, /* dummy */
-{
-&type_core__Array__nullable__core__Object, /* Array[E]: Array[nullable Object] */
-&type_core__AbstractArrayRead__nullable__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[nullable Object] */
-}
-};
-/* runtime type MapKeysIterator[MClass, Set[MClass]] */
-const struct type type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1797,27 +1752,737 @@ const struct type type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MCl
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
-&type_core__MapIterator__nitc__MClass__core__Set__nitc__MClass, /* MapIterator[K, V]: MapIterator[MClass, Set[MClass]] */
-}
-};
-/* runtime type MapValuesIterator[MClass, Set[MClass]] */
-const struct type type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass,
-11,
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2502, /* Collection[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1711, /* HashMapValues[Object, nullable Object] */
+-1, /* empty */
+1733, /* HashMapValues[Object, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-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__hash_collection__HashMapValues__core__Object__core__String = {
+0, /* dummy */
+{
+&type_core__HashMap__core__Object__core__String, /* HashMap[K, V]: HashMap[Object, String] */
+&type_core__MapValuesIterator__core__Object__core__String, /* MapValuesIterator[K, V]: MapValuesIterator[Object, String] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+}
+};
+/* runtime type HashMapIterator[Object, String] */
+const struct type type_core__hash_collection__HashMapIterator__core__Object__core__String = {
+1734,
+"HashMapIterator[Object, String]", /* class_name_string */
+128,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__core__Object__core__String,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
+-1, /* empty */
+2708, /* MapIterator[Object, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-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 */
+1734, /* HashMapIterator[Object, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-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__hash_collection__HashMapIterator__core__Object__core__String = {
+0, /* dummy */
+{
+&type_core__HashMap__core__Object__core__String, /* HashMap[K, V]: HashMap[Object, String] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[Object, String]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__Object__core__String = {
+1735,
+"NativeArray[nullable HashMapNode[Object, String]]", /* class_name_string */
+190,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__Object__core__String,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1717, /* NativeArray[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 */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
+-1, /* empty */
+1735, /* NativeArray[nullable HashMapNode[Object, String]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-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__NativeArray__nullable__core__hash_collection__HashMapNode__core__Object__core__String = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__core__Object__core__String, /* E: nullable HashMapNode[Object, String] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__Object__core__String, /* NativeArray[E]: NativeArray[nullable HashMapNode[Object, String]] */
+}
+};
+/* runtime type HashMapNode[Object, String] */
+const struct type type_core__hash_collection__HashMapNode__core__Object__core__String = {
+1736,
+"HashMapNode[Object, String]", /* class_name_string */
+109,
+0,
+&resolution_table_core__hash_collection__HashMapNode__core__Object__core__String,
+156,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+2380, /* Object */
+2401, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
+-1, /* empty */
+2801, /* nullable HashMapNode[Object, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1736, /* HashMapNode[Object, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1714, /* HashMapNode[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1828,24 +2493,99 @@ const struct type type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__M
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass = {
+const struct types resolution_table_core__hash_collection__HashMapNode__core__Object__core__String = {
 0, /* dummy */
 {
-&type_core__Array__core__Set__nitc__MClass, /* Array[E]: Array[Set[MClass]] */
-&type_core__MapIterator__nitc__MClass__core__Set__nitc__MClass, /* MapIterator[K, V]: MapIterator[MClass, Set[MClass]] */
+&type_core__String, /* V: String */
+&type_core__Object, /* K: Object */
 }
 };
-/* runtime type NativeArray[POSetElement[MType]] */
-const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
-2141,
-"NativeArray[POSetElement[MType]]", /* class_name_string */
-114,
+/* runtime type MapValuesIterator[Object, String] */
+const struct type type_core__MapValuesIterator__core__Object__core__String = {
+1737,
+"MapValuesIterator[Object, String]", /* class_name_string */
+59,
 0,
-&resolution_table_core__NativeArray__poset__POSetElement__nitc__MType,
-226,
+&resolution_table_core__MapValuesIterator__core__Object__core__String,
+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 */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1716, /* MapValuesIterator[Object, nullable Object] */
+-1, /* empty */
+1737, /* MapValuesIterator[Object, String] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1859,6 +2599,27 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapValuesIterator__core__Object__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__MapIterator__core__Object__core__String, /* MapIterator[K, V]: MapIterator[Object, String] */
+}
+};
+/* runtime type MapKeysIterator[Object, String] */
+const struct type type_core__MapKeysIterator__core__Object__core__String = {
+1738,
+"MapKeysIterator[Object, String]", /* class_name_string */
+59,
+0,
+&resolution_table_core__MapKeysIterator__core__Object__core__String,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1877,7 +2638,6 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1914,7 +2674,9 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
 -1, /* empty */
+1738, /* MapKeysIterator[Object, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1945,6 +2707,26 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapKeysIterator__core__Object__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__MapIterator__core__Object__core__String, /* MapIterator[K, V]: MapIterator[Object, String] */
+}
+};
+/* runtime type NativeArray[Array[String]] */
+const struct type type_core__NativeArray__core__Array__core__String = {
+1739,
+"NativeArray[Array[String]]", /* class_name_string */
+27,
+0,
+&resolution_table_core__NativeArray__core__Array__core__String,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1957,8 +2739,6 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
-2141, /* NativeArray[POSetElement[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1972,12 +2752,14 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1739, /* NativeArray[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2038,6 +2820,8 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
+1728, /* NativeArray[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2070,27 +2854,6 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__poset__POSetElement__nitc__MType = {
-0, /* dummy */
-{
-&type_poset__POSetElement__nitc__MType, /* E: POSetElement[MType] */
-&type_core__NativeArray__poset__POSetElement__nitc__MType, /* NativeArray[E]: NativeArray[POSetElement[MType]] */
-}
-};
-/* runtime type ArrayIterator[POSetElement[MType]] */
-const struct type type_core__array__ArrayIterator__poset__POSetElement__nitc__MType = {
--1, /*CAST DEAD*/
-"ArrayIterator[POSetElement[MType]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__poset__POSetElement__nitc__MType,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2099,27 +2862,6 @@ const struct type type_core__array__ArrayIterator__poset__POSetElement__nitc__MT
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__poset__POSetElement__nitc__MType = {
-0, /* dummy */
-{
-&type_core__Array__poset__POSetElement__nitc__MType, /* Array[E]: Array[POSetElement[MType]] */
-&type_core__AbstractArrayRead__poset__POSetElement__nitc__MType, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MType]] */
-}
-};
-/* runtime type ArrayReverseIterator[POSetElement[MType]] */
-const struct type type_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MType = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[POSetElement[MType]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MType,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2128,28 +2870,6 @@ const struct type type_core__array__ArrayReverseIterator__poset__POSetElement__n
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MType = {
-0, /* dummy */
-{
-&type_core__Array__poset__POSetElement__nitc__MType, /* Array[E]: Array[POSetElement[MType]] */
-&type_core__AbstractArrayRead__poset__POSetElement__nitc__MType, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MType]] */
-}
-};
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
-2827, /* Iterator[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2157,26 +2877,6 @@ const struct type type_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-&type_core__MapIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-}
-};
-/* runtime type Array[HashMap[MType, Array[MMethodDef]]] */
-const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-2145,
-"Array[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-504,
-0,
-&resolution_table_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2211,7 +2911,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2254,6 +2953,27 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__core__Array__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__String, /* E: Array[String] */
+&type_core__NativeArray__core__Array__core__String, /* NativeArray[E]: NativeArray[Array[String]] */
+}
+};
+/* runtime type ArrayIterator[Array[String]] */
+const struct type type_core__array__ArrayIterator__core__Array__core__String = {
+1740,
+"ArrayIterator[Array[String]]", /* class_name_string */
+82,
+0,
+&resolution_table_core__array__ArrayIterator__core__Array__core__String,
+137,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2289,7 +3009,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2298,14 +3017,11 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2520, /* Collection[HashMap[MType, Array[MMethodDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2335,10 +3051,12 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
+1729, /* ArrayIterator[Array[Object]] */
+1740, /* ArrayIterator[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2351,6 +3069,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2389,6 +3108,27 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__core__Array__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__Array__core__String, /* Array[E]: Array[Array[String]] */
+&type_core__AbstractArrayRead__core__Array__core__String, /* AbstractArrayRead[E]: AbstractArrayRead[Array[String]] */
+}
+};
+/* runtime type ArrayReverseIterator[Array[String]] */
+const struct type type_core__array__ArrayReverseIterator__core__Array__core__String = {
+1741,
+"ArrayReverseIterator[Array[String]]", /* class_name_string */
+208,
+0,
+&resolution_table_core__array__ArrayReverseIterator__core__Array__core__String,
+263,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2418,7 +3158,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2427,7 +3166,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2646, /* AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2464,11 +3202,13 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
+1729, /* ArrayIterator[Array[Object]] */
+1740, /* ArrayIterator[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2484,6 +3224,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2544,7 +3285,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2553,13 +3293,11 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2970, /* AbstractArray[HashMap[MType, Array[MMethodDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2594,6 +3332,9 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
+1730, /* ArrayReverseIterator[Array[Object]] */
+1741, /* ArrayReverseIterator[Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2609,6 +3350,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2647,9 +3389,30 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__core__Array__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__Array__core__String, /* Array[E]: Array[Array[String]] */
+&type_core__AbstractArrayRead__core__Array__core__String, /* AbstractArrayRead[E]: AbstractArrayRead[Array[String]] */
+}
+};
+/* runtime type HashMapKeys[String, Int] */
+const struct type type_core__hash_collection__HashMapKeys__core__String__core__Int = {
+1742,
+"HashMapKeys[String, Int]", /* class_name_string */
+176,
+0,
+&resolution_table_core__hash_collection__HashMapKeys__core__String__core__Int,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2679,103 +3442,28 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2145, /* Array[HashMap[MType, Array[MMethodDef]]] */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_core__AbstractArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MMethodDef]]] */
-&type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
-&type_core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
-&type_core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_core__AbstractArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MMethodDef]]] */
-&type_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
-&type_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[HashMap[MType, Array[MMethodDef]]] */
-}
-};
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
+2448, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_core__MapIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-}
-};
-/* runtime type MapKeysIterator[MType, Array[MMethodDef]] */
-const struct type type_core__MapKeysIterator__nitc__MType__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MType, Array[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapKeysIterator__nitc__MType__core__Array__nitc__MMethodDef,
-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__MapKeysIterator__nitc__MType__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
-&type_core__MapIterator__nitc__MType__core__Array__nitc__MMethodDef, /* MapIterator[K, V]: MapIterator[MType, Array[MMethodDef]] */
-}
-};
-/* runtime type Array[Array[MMethodDef]] */
-const struct type type_core__Array__core__Array__nitc__MMethodDef = {
-2148,
-"Array[Array[MMethodDef]]", /* class_name_string */
-505,
-0,
-&resolution_table_core__Array__core__Array__nitc__MMethodDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2810,13 +3498,13 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2867,7 +3555,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2490, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2887,24 +3574,21 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2510, /* Collection[Array[Object]] */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1742, /* HashMapKeys[String, Int] */
 -1, /* empty */
-2521, /* Collection[Array[MMethodDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2928,6 +3612,36 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__core__String__core__Int = {
+0, /* dummy */
+{
+&type_core__HashMap__core__String__core__Int, /* HashMap[K, V]: HashMap[String, Int] */
+&type_core__MapKeysIterator__core__String__core__Int, /* MapKeysIterator[K, V]: MapKeysIterator[String, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+}
+};
+/* runtime type HashMapValues[String, Int] */
+const struct type type_core__hash_collection__HashMapValues__core__String__core__Int = {
+1743,
+"HashMapValues[String, Int]", /* class_name_string */
+176,
+0,
+&resolution_table_core__hash_collection__HashMapValues__core__String__core__Int,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2937,12 +3651,12 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2421, /* Collection[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2963,6 +3677,7 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2996,7 +3711,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2616, /* AbstractArrayRead[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3016,8 +3730,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2636, /* AbstractArrayRead[Array[Object]] */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3025,9 +3737,9 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2647, /* AbstractArrayRead[Array[MMethodDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3063,7 +3775,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3102,8 +3813,10 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1711, /* HashMapValues[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1743, /* HashMapValues[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3122,7 +3835,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2940, /* AbstractArray[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3133,6 +3845,36 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__core__String__core__Int = {
+0, /* dummy */
+{
+&type_core__HashMap__core__String__core__Int, /* HashMap[K, V]: HashMap[String, Int] */
+&type_core__MapValuesIterator__core__String__core__Int, /* MapValuesIterator[K, V]: MapValuesIterator[String, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+}
+};
+/* runtime type HashMapIterator[String, Int] */
+const struct type type_core__hash_collection__HashMapIterator__core__String__core__Int = {
+1744,
+"HashMapIterator[String, Int]", /* class_name_string */
+129,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__core__String__core__Int,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3142,8 +3884,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2960, /* AbstractArray[Array[Object]] */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3153,12 +3893,10 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2971, /* AbstractArray[Array[MMethodDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3183,8 +3921,10 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2709, /* MapIterator[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3250,7 +3990,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1713, /* Array[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3260,8 +3999,10 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1712, /* HashMapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1744, /* HashMapIterator[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3270,7 +4011,6 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2012, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3279,45 +4019,10 @@ const struct type type_core__Array__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2148, /* Array[Array[MMethodDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MMethodDef, /* E: Array[MMethodDef] */
-&type_core__Array__core__Array__nitc__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
-&type_core__Collection__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
-&type_core__Array__core__Array__nitc__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
-&type_core__AbstractArray__core__Array__nitc__MMethodDef, /* AbstractArray[E]: AbstractArray[Array[MMethodDef]] */
-&type_core__NativeArray__core__Array__nitc__MMethodDef, /* NativeArray[E]: NativeArray[Array[MMethodDef]] */
-&type_core__Array__nitc__MMethodDef, /* E: Array[MMethodDef] */
-&type_core__Collection__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
-&type_core__Array__nitc__MMethodDef, /* E: Array[MMethodDef] */
-&type_core__Collection__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
-&type_core__Collection__core__Array__nitc__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
-&type_core__Array__core__Array__nitc__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
-&type_core__AbstractArray__core__Array__nitc__MMethodDef, /* AbstractArray[E]: AbstractArray[Array[MMethodDef]] */
-&type_core__array__ArrayIterator__core__Array__nitc__MMethodDef, /* ArrayIterator[E]: ArrayIterator[Array[MMethodDef]] */
-&type_core__array__ArrayReverseIterator__core__Array__nitc__MMethodDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[Array[MMethodDef]] */
-}
-};
-/* runtime type MapValuesIterator[MType, Array[MMethodDef]] */
-const struct type type_core__MapValuesIterator__nitc__MType__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MType, Array[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MType__core__Array__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3328,30 +4033,23 @@ const struct type type_core__MapValuesIterator__nitc__MType__core__Array__nitc__
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__MapValuesIterator__nitc__MType__core__Array__nitc__MMethodDef = {
+const struct types resolution_table_core__hash_collection__HashMapIterator__core__String__core__Int = {
 0, /* dummy */
 {
-&type_core__Array__core__Array__nitc__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
-&type_core__MapIterator__nitc__MType__core__Array__nitc__MMethodDef, /* MapIterator[K, V]: MapIterator[MType, Array[MMethodDef]] */
+&type_core__HashMap__core__String__core__Int, /* HashMap[K, V]: HashMap[String, Int] */
 }
 };
-/* runtime type NativeArray[HashSet[Int]] */
-const struct type type_core__NativeArray__core__HashSet__core__Int = {
-2150,
-"NativeArray[HashSet[Int]]", /* class_name_string */
-115,
+/* runtime type NativeArray[nullable HashMapNode[String, Int]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Int = {
+1745,
+"NativeArray[nullable HashMapNode[String, Int]]", /* class_name_string */
+191,
 0,
-&resolution_table_core__NativeArray__core__HashSet__core__Int,
-226,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Int,
+228,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3377,7 +4075,6 @@ const struct type type_core__NativeArray__core__HashSet__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3446,6 +4143,7 @@ const struct type type_core__NativeArray__core__HashSet__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3457,9 +4155,7 @@ const struct type type_core__NativeArray__core__HashSet__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
-2150, /* NativeArray[HashSet[Int]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3540,8 +4236,10 @@ const struct type type_core__NativeArray__core__HashSet__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
+1745, /* NativeArray[nullable HashMapNode[String, Int]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3570,27 +4268,6 @@ const struct type type_core__NativeArray__core__HashSet__core__Int = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__HashSet__core__Int = {
-0, /* dummy */
-{
-&type_core__HashSet__core__Int, /* E: HashSet[Int] */
-&type_core__NativeArray__core__HashSet__core__Int, /* NativeArray[E]: NativeArray[HashSet[Int]] */
-}
-};
-/* runtime type ArrayIterator[HashSet[Int]] */
-const struct type type_core__array__ArrayIterator__core__HashSet__core__Int = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashSet[Int]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__HashSet__core__Int,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3601,26 +4278,24 @@ const struct type type_core__array__ArrayIterator__core__HashSet__core__Int = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayIterator__core__HashSet__core__Int = {
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Int = {
 0, /* dummy */
 {
-&type_core__Array__core__HashSet__core__Int, /* Array[E]: Array[HashSet[Int]] */
-&type_core__AbstractArrayRead__core__HashSet__core__Int, /* AbstractArrayRead[E]: AbstractArrayRead[HashSet[Int]] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__core__Int, /* E: nullable HashMapNode[String, Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Int, /* NativeArray[E]: NativeArray[nullable HashMapNode[String, Int]] */
 }
 };
-/* runtime type ArrayReverseIterator[HashSet[Int]] */
-const struct type type_core__array__ArrayReverseIterator__core__HashSet__core__Int = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[HashSet[Int]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMapNode[String, Int] */
+const struct type type_core__hash_collection__HashMapNode__core__String__core__Int = {
+1746,
+"HashMapNode[String, Int]", /* class_name_string */
+110,
 0,
-&resolution_table_core__array__ArrayReverseIterator__core__HashSet__core__Int,
-11,
+&resolution_table_core__hash_collection__HashMapNode__core__String__core__Int,
+156,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3628,27 +4303,6 @@ const struct type type_core__array__ArrayReverseIterator__core__HashSet__core__I
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__HashSet__core__Int = {
-0, /* dummy */
-{
-&type_core__Array__core__HashSet__core__Int, /* Array[E]: Array[HashSet[Int]] */
-&type_core__AbstractArrayRead__core__HashSet__core__Int, /* AbstractArrayRead[E]: AbstractArrayRead[HashSet[Int]] */
-}
-};
-/* runtime type NativeArray[POSetElement[MClass]] */
-const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
-2153,
-"NativeArray[POSetElement[MClass]]", /* class_name_string */
-116,
-0,
-&resolution_table_core__NativeArray__poset__POSetElement__nitc__MClass,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3679,7 +4333,6 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3688,8 +4341,10 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2802, /* nullable HashMapNode[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3749,6 +4404,7 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1746, /* HashMapNode[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3759,10 +4415,8 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2153, /* NativeArray[POSetElement[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3781,6 +4435,7 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1714, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3795,6 +4450,27 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__core__String__core__Int = {
+0, /* dummy */
+{
+&type_core__Int, /* V: Int */
+&type_core__String, /* K: String */
+}
+};
+/* runtime type MapValuesIterator[String, Int] */
+const struct type type_core__MapValuesIterator__core__String__core__Int = {
+1747,
+"MapValuesIterator[String, Int]", /* class_name_string */
+60,
+0,
+&resolution_table_core__MapValuesIterator__core__String__core__Int,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3849,8 +4525,10 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1716, /* MapValuesIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1747, /* MapValuesIterator[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3872,27 +4550,6 @@ const struct type type_core__NativeArray__poset__POSetElement__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__poset__POSetElement__nitc__MClass = {
-0, /* dummy */
-{
-&type_poset__POSetElement__nitc__MClass, /* E: POSetElement[MClass] */
-&type_core__NativeArray__poset__POSetElement__nitc__MClass, /* NativeArray[E]: NativeArray[POSetElement[MClass]] */
-}
-};
-/* runtime type ArrayIterator[POSetElement[MClass]] */
-const struct type type_core__array__ArrayIterator__poset__POSetElement__nitc__MClass = {
--1, /*CAST DEAD*/
-"ArrayIterator[POSetElement[MClass]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__poset__POSetElement__nitc__MClass,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3903,82 +4560,39 @@ const struct type type_core__array__ArrayIterator__poset__POSetElement__nitc__MC
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayIterator__poset__POSetElement__nitc__MClass = {
+const struct types resolution_table_core__MapValuesIterator__core__String__core__Int = {
 0, /* dummy */
 {
-&type_core__Array__poset__POSetElement__nitc__MClass, /* Array[E]: Array[POSetElement[MClass]] */
-&type_core__AbstractArrayRead__poset__POSetElement__nitc__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClass]] */
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+&type_core__MapIterator__core__String__core__Int, /* MapIterator[K, V]: MapIterator[String, Int] */
 }
 };
-/* runtime type ArrayReverseIterator[POSetElement[MClass]] */
-const struct type type_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClass = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[POSetElement[MClass]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type MapKeysIterator[String, Int] */
+const struct type type_core__MapKeysIterator__core__String__core__Int = {
+1748,
+"MapKeysIterator[String, Int]", /* class_name_string */
+60,
 0,
-&resolution_table_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClass,
-11,
+&resolution_table_core__MapKeysIterator__core__String__core__Int,
+90,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
+2840, /* Iterator[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__poset__POSetElement__nitc__MClass = {
-0, /* dummy */
-{
-&type_core__Array__poset__POSetElement__nitc__MClass, /* Array[E]: Array[POSetElement[MClass]] */
-&type_core__AbstractArrayRead__poset__POSetElement__nitc__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClass]] */
-}
-};
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
-2827, /* Iterator[MModule] */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-&type_core__MapIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-}
-};
-/* runtime type Array[HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-2157,
-"Array[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-506,
-0,
-&resolution_table_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4013,15 +4627,16 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1748, /* MapKeysIterator[String, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4051,12 +4666,58 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapKeysIterator__core__String__core__Int = {
+0, /* dummy */
+{
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__MapIterator__core__String__core__Int, /* MapIterator[K, V]: MapIterator[String, Int] */
+}
+};
+/* runtime type POSetConflictGraph[MClass] */
+const struct type type_nitc__POSetConflictGraph__nitc__MClass = {
+1749,
+"POSetConflictGraph[MClass]", /* class_name_string */
+7,
+0,
+&resolution_table_nitc__POSetConflictGraph__nitc__MClass,
+9,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1749, /* POSetConflictGraph[MClass] */
 -1, /* empty */
+},
+};
+const struct types resolution_table_nitc__POSetConflictGraph__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashSet__nitc__MClass, /* HashSet[E]: HashSet[MClass] */
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MClass, /* HashMap[E, Set[E]]: HashMap[MClass, Set[MClass]] */
+&type_poset__POSet__nitc__MClass, /* POSet[E]: POSet[MClass] */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_nitc__MClass, /* E: MClass */
+&type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
+}
+};
+/* runtime type HashMap[MClass, Set[MClass]] */
+const struct type type_core__HashMap__nitc__MClass__core__Set__nitc__MClass = {
+1750,
+"HashMap[MClass, Set[MClass]]", /* class_name_string */
+138,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MClass,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4091,7 +4752,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4102,12 +4762,9 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2522, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4125,6 +4782,8 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
+3056, /* MapRead[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4138,9 +4797,9 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2987, /* Map[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4190,9 +4849,11 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1750, /* HashMap[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4220,7 +4881,38 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MClass, /* HashMapIterator[K, V]: HashMapIterator[MClass, Set[MClass]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__Set__nitc__MClass, /* V: Set[MClass] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass, /* HashMapNode[K, V]: HashMapNode[MClass, Set[MClass]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MClass, /* HashMapKeys[K, V]: HashMapKeys[MClass, Set[MClass]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MClass, /* HashMapValues[K, V]: HashMapValues[MClass, Set[MClass]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass, /* nullable N: nullable HashMapNode[MClass, Set[MClass]] */
+&type_core__MapRead__nitc__MClass__core__Set__nitc__MClass, /* MapRead[K, V]: MapRead[MClass, Set[MClass]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass, /* N: HashMapNode[MClass, Set[MClass]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+}
+};
+/* runtime type HashMapKeys[MClass, Set[MClass]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MClass = {
+1751,
+"HashMapKeys[MClass, Set[MClass]]", /* class_name_string */
+177,
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MClass,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4231,7 +4923,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2648, /* AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
+2417, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4256,9 +4948,11 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2446, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4266,7 +4960,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4315,6 +5008,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4346,7 +5040,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4357,11 +5050,9 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2972, /* AbstractArray[HashMap[MType, Array[MAttributeDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4393,9 +5084,11 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1751, /* HashMapKeys[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4423,6 +5116,36 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MClass, /* HashMap[K, V]: HashMap[MClass, Set[MClass]] */
+&type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+}
+};
+/* runtime type HashMapValues[MClass, Set[MClass]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MClass = {
+1752,
+"HashMapValues[MClass, Set[MClass]]", /* class_name_string */
+177,
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MClass,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4458,6 +5181,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4483,44 +5207,9 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2157, /* Array[HashMap[MType, Array[MAttributeDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__AbstractArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__AbstractArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[HashMap[MType, Array[MAttributeDef]]] */
-}
-};
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4529,55 +5218,13 @@ const struct type type_core__MapValuesIterator__nitc__MModule__core__HashMap__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__MapIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-}
-};
-/* runtime type MapKeysIterator[MType, Array[MAttributeDef]] */
-const struct type type_core__MapKeysIterator__nitc__MType__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MType, Array[MAttributeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapKeysIterator__nitc__MType__core__Array__nitc__MAttributeDef,
-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__MapKeysIterator__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
-&type_core__MapIterator__nitc__MType__core__Array__nitc__MAttributeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MAttributeDef]] */
-}
-};
-/* runtime type Array[Array[MAttributeDef]] */
-const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
-2160,
-"Array[Array[MAttributeDef]]", /* class_name_string */
-507,
-0,
-&resolution_table_core__Array__core__Array__nitc__MAttributeDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4592,7 +5239,9 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2500, /* Collection[Set[MClass]] */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4612,7 +5261,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4669,10 +5317,11 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2490, /* Collection[Array[nullable MPropDef]] */
+1711, /* HashMapValues[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1752, /* HashMapValues[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4689,8 +5338,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2510, /* Collection[Array[Object]] */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4702,11 +5349,38 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2523, /* Collection[Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MClass, /* HashMap[K, V]: HashMap[MClass, Set[MClass]] */
+&type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Set__nitc__MClass, /* Array[E]: Array[Set[MClass]] */
+}
+};
+/* runtime type HashMapIterator[MClass, Set[MClass]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MClass = {
+1753,
+"HashMapIterator[MClass, Set[MClass]]", /* class_name_string */
+130,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MClass,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4739,7 +5413,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4752,9 +5425,11 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2710, /* MapIterator[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4798,7 +5473,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2616, /* AbstractArrayRead[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4818,8 +5492,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2636, /* AbstractArrayRead[Array[Object]] */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4831,10 +5503,11 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2649, /* AbstractArrayRead[Array[MAttributeDef]] */
+1712, /* HashMapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1753, /* HashMapIterator[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4862,10 +5535,28 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MClass, /* HashMap[K, V]: HashMap[MClass, Set[MClass]] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass = {
+1754,
+"NativeArray[nullable HashMapNode[MClass, Set[MClass]]]", /* class_name_string */
+192,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4924,7 +5615,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2940, /* AbstractArray[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4944,8 +5634,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2960, /* AbstractArray[Array[Object]] */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4957,10 +5645,9 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2973, /* AbstractArray[Array[MAttributeDef]] */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5052,11 +5739,12 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1713, /* Array[Array[nullable MPropDef]] */
 -1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1754, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5072,7 +5760,6 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2012, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5083,43 +5770,8 @@ const struct type type_core__Array__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2160, /* Array[Array[MAttributeDef]] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MAttributeDef, /* E: Array[MAttributeDef] */
-&type_core__Array__core__Array__nitc__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
-&type_core__Collection__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
-&type_core__Array__core__Array__nitc__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
-&type_core__AbstractArray__core__Array__nitc__MAttributeDef, /* AbstractArray[E]: AbstractArray[Array[MAttributeDef]] */
-&type_core__NativeArray__core__Array__nitc__MAttributeDef, /* NativeArray[E]: NativeArray[Array[MAttributeDef]] */
-&type_core__Array__nitc__MAttributeDef, /* E: Array[MAttributeDef] */
-&type_core__Collection__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
-&type_core__Array__nitc__MAttributeDef, /* E: Array[MAttributeDef] */
-&type_core__Collection__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
-&type_core__Collection__core__Array__nitc__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
-&type_core__Array__core__Array__nitc__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
-&type_core__AbstractArray__core__Array__nitc__MAttributeDef, /* AbstractArray[E]: AbstractArray[Array[MAttributeDef]] */
-&type_core__array__ArrayIterator__core__Array__nitc__MAttributeDef, /* ArrayIterator[E]: ArrayIterator[Array[MAttributeDef]] */
-&type_core__array__ArrayReverseIterator__core__Array__nitc__MAttributeDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[Array[MAttributeDef]] */
-}
-};
-/* runtime type MapValuesIterator[MType, Array[MAttributeDef]] */
-const struct type type_core__MapValuesIterator__nitc__MType__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MType, Array[MAttributeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MType__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5130,54 +5782,30 @@ const struct type type_core__MapValuesIterator__nitc__MType__core__Array__nitc__
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__MapValuesIterator__nitc__MType__core__Array__nitc__MAttributeDef = {
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass = {
 0, /* dummy */
 {
-&type_core__Array__core__Array__nitc__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
-&type_core__MapIterator__nitc__MType__core__Array__nitc__MAttributeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MAttributeDef]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass, /* E: nullable HashMapNode[MClass, Set[MClass]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 }
 };
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMapNode[MClass, Set[MClass]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass = {
+1755,
+"HashMapNode[MClass, Set[MClass]]", /* class_name_string */
+142,
 0,
-&resolution_table_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-11,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass,
+156,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
-2827, /* Iterator[MModule] */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapKeysIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-&type_core__MapIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-}
-};
-/* runtime type Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-2163,
-"Array[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-508,
-0,
-&resolution_table_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5211,16 +5839,17 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2803, /* nullable HashMapNode[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5289,7 +5918,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5302,10 +5930,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2524, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5314,6 +5939,8 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1714, /* HashMapNode[Object, nullable Object] */
+1755, /* HashMapNode[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5327,6 +5954,27 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MClass, /* V: Set[MClass] */
+&type_nitc__MClass, /* K: MClass */
+}
+};
+/* runtime type MapValuesIterator[MClass, Set[MClass]] */
+const struct type type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass = {
+1756,
+"MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
+61,
+0,
+&resolution_table_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5338,7 +5986,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5382,9 +6029,11 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1716, /* MapValuesIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1756, /* MapValuesIterator[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5413,12 +6062,32 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__Array__core__Set__nitc__MClass, /* Array[E]: Array[Set[MClass]] */
+&type_core__MapIterator__nitc__MClass__core__Set__nitc__MClass, /* MapIterator[K, V]: MapIterator[MClass, Set[MClass]] */
+}
+};
+/* runtime type MapKeysIterator[MClass, Set[MClass]] */
+const struct type type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass = {
+1757,
+"MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
+61,
+0,
+&resolution_table_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass,
+90,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5431,7 +6100,6 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2650, /* AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5464,15 +6132,16 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1757, /* MapKeysIterator[MClass, Set[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5501,6 +6170,26 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__MapIterator__nitc__MClass__core__Set__nitc__MClass, /* MapIterator[K, V]: MapIterator[MClass, Set[MClass]] */
+}
+};
+/* runtime type HashMapKeys[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1758,
+"HashMapKeys[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+178,
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+205,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5511,6 +6200,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2417, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5535,16 +6225,17 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2446, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5557,9 +6248,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2974, /* AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]] */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5596,6 +6285,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5651,6 +6341,7 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1403, /* HashMapKeys[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5670,55 +6361,23 @@ const struct type type_core__Array__core__HashMap__nitc__MType__core__Array__nit
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1710, /* HashMapKeys[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1758, /* HashMapKeys[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1892, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2163, /* Array[HashMap[MType, Array[MVirtualTypeDef]]] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__AbstractArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__Collection__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__AbstractArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
-}
-};
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5727,57 +6386,43 @@ const struct type type_core__MapValuesIterator__nitc__MModule__core__HashMap__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapValuesIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__MapIterator__nitc__MModule__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-}
-};
-/* runtime type MapKeysIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_core__MapKeysIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapKeysIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-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__MapKeysIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_core__Array__nitc__MType, /* Array[E]: Array[MType] */
-&type_core__MapIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MVirtualTypeDef]] */
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMap[K, V]: HashMap[MClass, Set[MVirtualTypeProp]] */
+&type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
 }
 };
-/* runtime type Array[Array[MVirtualTypeDef]] */
-const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
-2166,
-"Array[Array[MVirtualTypeDef]]", /* class_name_string */
-509,
+/* runtime type HashMapValues[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1759,
+"HashMapValues[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+178,
 0,
-&resolution_table_core__Array__core__Array__nitc__MVirtualTypeDef,
-510,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+205,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5810,10 +6455,10 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5853,6 +6498,7 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2482, /* Collection[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5867,13 +6513,14 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2490, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
+2504, /* Collection[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5882,13 +6529,12 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2513, /* Collection[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2510, /* Collection[Array[Object]] */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5902,9 +6548,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2525, /* Collection[Array[MVirtualTypeDef]] */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5931,18 +6574,13 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1404, /* HashMapValues[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5956,16 +6594,19 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1711, /* HashMapValues[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1759, /* HashMapValues[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1893, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5985,6 +6626,36 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMap[K, V]: HashMap[MClass, Set[MVirtualTypeProp]] */
+&type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type HashMapIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1760,
+"HashMapIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+131,
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+158,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5996,7 +6667,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2616, /* AbstractArrayRead[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6011,13 +6681,12 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2685, /* MapIterator[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2636, /* AbstractArrayRead[Array[Object]] */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6031,19 +6700,21 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2651, /* AbstractArrayRead[Array[MVirtualTypeDef]] */
 -1, /* empty */
 -1, /* empty */
+2706, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2711, /* MapIterator[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2718, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6063,7 +6734,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6090,6 +6760,7 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1405, /* HashMapIterator[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6109,20 +6780,22 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1712, /* HashMapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1760, /* HashMapIterator[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1894, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2940, /* AbstractArray[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6139,11 +6812,28 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* HashMap[K, V]: HashMap[MClass, Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1761,
+"NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]]", /* class_name_string */
+193,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2960, /* AbstractArray[Array[Object]] */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6157,8 +6847,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2975, /* AbstractArray[Array[MVirtualTypeDef]] */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6236,6 +6924,7 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6250,7 +6939,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1713, /* Array[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6270,7 +6958,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2012, /* Array[Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6283,41 +6970,6 @@ const struct type type_core__Array__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2166, /* Array[Array[MVirtualTypeDef]] */
-},
-};
-const struct types resolution_table_core__Array__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
-&type_core__Array__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
-&type_core__Collection__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
-&type_core__Array__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
-&type_core__AbstractArray__core__Array__nitc__MVirtualTypeDef, /* AbstractArray[E]: AbstractArray[Array[MVirtualTypeDef]] */
-&type_core__NativeArray__core__Array__nitc__MVirtualTypeDef, /* NativeArray[E]: NativeArray[Array[MVirtualTypeDef]] */
-&type_core__Array__nitc__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
-&type_core__Collection__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
-&type_core__Array__nitc__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
-&type_core__Collection__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
-&type_core__Collection__core__Array__nitc__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
-&type_core__Array__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
-&type_core__AbstractArray__core__Array__nitc__MVirtualTypeDef, /* AbstractArray[E]: AbstractArray[Array[MVirtualTypeDef]] */
-&type_core__array__ArrayIterator__core__Array__nitc__MVirtualTypeDef, /* ArrayIterator[E]: ArrayIterator[Array[MVirtualTypeDef]] */
-&type_core__array__ArrayReverseIterator__core__Array__nitc__MVirtualTypeDef, /* ArrayReverseIterator[E]: ArrayReverseIterator[Array[MVirtualTypeDef]] */
-}
-};
-/* runtime type MapValuesIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_core__MapValuesIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__MapValuesIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6326,26 +6978,6 @@ const struct type type_core__MapValuesIterator__nitc__MType__core__Array__nitc__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__MapValuesIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
-&type_core__MapIterator__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MVirtualTypeDef]] */
-}
-};
-/* runtime type NativeArray[Set[Phase]] */
-const struct type type_core__NativeArray__core__Set__nitc__Phase = {
-2168,
-"NativeArray[Set[Phase]]", /* class_name_string */
-117,
-0,
-&resolution_table_core__NativeArray__core__Set__nitc__Phase,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6355,6 +6987,7 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1406, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6377,7 +7010,6 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6385,10 +7017,12 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1713, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1761, /* NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6398,6 +7032,7 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1895, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6422,6 +7057,26 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* E: nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
+}
+};
+/* runtime type HashMapNode[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1762,
+"HashMapNode[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+111,
+0,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+156,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6447,6 +7102,7 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2769, /* nullable HashMapNode[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6457,27 +7113,28 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2168, /* NativeArray[Set[Phase]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2799, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2804, /* nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2814, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6511,6 +7168,7 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1407, /* HashMapNode[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6528,7 +7186,9 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1762, /* HashMapNode[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
+1896, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6556,6 +7216,7 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1714, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6572,26 +7233,24 @@ const struct type type_core__NativeArray__core__Set__nitc__Phase = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__core__Set__nitc__Phase = {
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_core__Set__nitc__Phase, /* E: Set[Phase] */
-&type_core__NativeArray__core__Set__nitc__Phase, /* NativeArray[E]: NativeArray[Set[Phase]] */
+&type_core__Set__nitc__MVirtualTypeProp, /* V: Set[MVirtualTypeProp] */
+&type_nitc__MClass, /* K: MClass */
 }
 };
-/* runtime type ArrayIterator[Set[Phase]] */
-const struct type type_core__array__ArrayIterator__core__Set__nitc__Phase = {
--1, /*CAST DEAD*/
-"ArrayIterator[Set[Phase]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Array[Set[MVirtualTypeProp]] */
+const struct type type_core__Array__core__Set__nitc__MVirtualTypeProp = {
+1763,
+"Array[Set[MVirtualTypeProp]]", /* class_name_string */
+481,
 0,
-&resolution_table_core__array__ArrayIterator__core__Set__nitc__Phase,
-11,
+&resolution_table_core__Array__core__Set__nitc__MVirtualTypeProp,
+510,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6599,27 +7258,6 @@ const struct type type_core__array__ArrayIterator__core__Set__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__Phase = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__Phase, /* Array[E]: Array[Set[Phase]] */
-&type_core__AbstractArrayRead__core__Set__nitc__Phase, /* AbstractArrayRead[E]: AbstractArrayRead[Set[Phase]] */
-}
-};
-/* runtime type ArrayReverseIterator[Set[Phase]] */
-const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__Phase = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Set[Phase]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__Phase,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6628,28 +7266,6 @@ const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__Phase
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__Phase = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__Phase, /* Array[E]: Array[Set[Phase]] */
-&type_core__AbstractArrayRead__core__Set__nitc__Phase, /* AbstractArrayRead[E]: AbstractArrayRead[Set[Phase]] */
-}
-};
-/* runtime type NativeArray[Set[MModule]] */
-const struct type type_core__NativeArray__core__Set__nitc__MModule = {
-2171,
-"NativeArray[Set[MModule]]", /* class_name_string */
-118,
-0,
-&resolution_table_core__NativeArray__core__Set__nitc__MModule,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6670,6 +7286,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6679,7 +7296,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6710,6 +7326,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2482, /* Collection[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6729,7 +7346,9 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
+2504, /* Collection[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6738,6 +7357,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2513, /* Collection[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6758,13 +7378,13 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2171, /* NativeArray[Set[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6800,6 +7420,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2573, /* AbstractArrayRead[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6829,8 +7450,10 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2606, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6845,7 +7468,9 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
+2623, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6872,27 +7497,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Set__nitc__MModule = {
-0, /* dummy */
-{
-&type_core__Set__nitc__MModule, /* E: Set[MModule] */
-&type_core__NativeArray__core__Set__nitc__MModule, /* NativeArray[E]: NativeArray[Set[MModule]] */
-}
-};
-/* runtime type ArrayIterator[Set[MModule]] */
-const struct type type_core__array__ArrayIterator__core__Set__nitc__MModule = {
--1, /*CAST DEAD*/
-"ArrayIterator[Set[MModule]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__Set__nitc__MModule,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6901,27 +7505,6 @@ const struct type type_core__array__ArrayIterator__core__Set__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__MModule = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__MModule, /* Array[E]: Array[Set[MModule]] */
-&type_core__AbstractArrayRead__core__Set__nitc__MModule, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MModule]] */
-}
-};
-/* runtime type ArrayReverseIterator[Set[MModule]] */
-const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MModule = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Set[MModule]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MModule,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6930,26 +7513,6 @@ const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MModu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MModule = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__MModule, /* Array[E]: Array[Set[MModule]] */
-&type_core__AbstractArrayRead__core__Set__nitc__MModule, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MModule]] */
-}
-};
-/* runtime type NativeArray[HashMap[String, nullable MProperty]] */
-const struct type type_core__NativeArray__core__HashMap__core__String__nullable__nitc__MProperty = {
-2174,
-"NativeArray[HashMap[String, nullable MProperty]]", /* class_name_string */
-119,
-0,
-&resolution_table_core__NativeArray__core__HashMap__core__String__nullable__nitc__MProperty,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6976,12 +7539,12 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7017,6 +7580,7 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2929, /* AbstractArray[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7036,7 +7600,9 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
+2951, /* AbstractArray[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7045,6 +7611,7 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2960, /* AbstractArray[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7061,13 +7628,12 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2174, /* NativeArray[HashMap[String, nullable MProperty]] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7145,6 +7711,7 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1408, /* Array[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7163,6 +7730,7 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1763, /* Array[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7171,30 +7739,10 @@ const struct type type_core__NativeArray__core__HashMap__core__String__nullable_
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1897, /* Array[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__HashMap__core__String__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__HashMap__core__String__nullable__nitc__MProperty, /* E: HashMap[String, nullable MProperty] */
-&type_core__NativeArray__core__HashMap__core__String__nullable__nitc__MProperty, /* NativeArray[E]: NativeArray[HashMap[String, nullable MProperty]] */
-}
-};
-/* runtime type ArrayIterator[HashMap[String, nullable MProperty]] */
-const struct type type_core__array__ArrayIterator__core__HashMap__core__String__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashMap[String, nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__HashMap__core__String__nullable__nitc__MProperty,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7203,27 +7751,6 @@ const struct type type_core__array__ArrayIterator__core__HashMap__core__String__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__HashMap__core__String__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__core__String__nullable__nitc__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
-&type_core__AbstractArrayRead__core__HashMap__core__String__nullable__nitc__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[String, nullable MProperty]] */
-}
-};
-/* runtime type ArrayReverseIterator[HashMap[String, nullable MProperty]] */
-const struct type type_core__array__ArrayReverseIterator__core__HashMap__core__String__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[HashMap[String, nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__HashMap__core__String__nullable__nitc__MProperty,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7234,30 +7761,39 @@ const struct type type_core__array__ArrayReverseIterator__core__HashMap__core__S
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayReverseIterator__core__HashMap__core__String__nullable__nitc__MProperty = {
+const struct types resolution_table_core__Array__core__Set__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_core__Array__core__HashMap__core__String__nullable__nitc__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
-&type_core__AbstractArrayRead__core__HashMap__core__String__nullable__nitc__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[String, nullable MProperty]] */
+&type_core__Set__nitc__MVirtualTypeProp, /* E: Set[MVirtualTypeProp] */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* SELF: Array[Set[MVirtualTypeProp]] */
+&type_core__Collection__core__Set__nitc__MVirtualTypeProp, /* Collection[E]: Collection[Set[MVirtualTypeProp]] */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_core__AbstractArray__core__Set__nitc__MVirtualTypeProp, /* AbstractArray[E]: AbstractArray[Set[MVirtualTypeProp]] */
+&type_core__NativeArray__core__Set__nitc__MVirtualTypeProp, /* NativeArray[E]: NativeArray[Set[MVirtualTypeProp]] */
+&type_core__Set__nitc__MVirtualTypeProp, /* E: Set[MVirtualTypeProp] */
+&type_core__Collection__core__Set__nitc__MVirtualTypeProp, /* Collection[E]: Collection[Set[MVirtualTypeProp]] */
+&type_core__Set__nitc__MVirtualTypeProp, /* E: Set[MVirtualTypeProp] */
+&type_core__Collection__core__Set__nitc__MVirtualTypeProp, /* Collection[E]: Collection[Set[MVirtualTypeProp]] */
+&type_core__Collection__core__Set__nitc__MVirtualTypeProp, /* Collection[E]: Collection[Set[MVirtualTypeProp]] */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_core__AbstractArray__core__Set__nitc__MVirtualTypeProp, /* AbstractArray[E]: AbstractArray[Set[MVirtualTypeProp]] */
+&type_core__array__ArrayIterator__core__Set__nitc__MVirtualTypeProp, /* ArrayIterator[E]: ArrayIterator[Set[MVirtualTypeProp]] */
+&type_core__array__ArrayReverseIterator__core__Set__nitc__MVirtualTypeProp, /* ArrayReverseIterator[E]: ArrayReverseIterator[Set[MVirtualTypeProp]] */
 }
 };
-/* runtime type NativeArray[nullable MProperty] */
-const struct type type_core__NativeArray__nullable__nitc__MProperty = {
-2177,
-"NativeArray[nullable MProperty]", /* class_name_string */
-120,
+/* runtime type MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1764,
+"MapValuesIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+62,
 0,
-&resolution_table_core__NativeArray__nullable__nitc__MProperty,
-226,
+&resolution_table_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+90,
 {
-2371, /* Object */
-2397, /* nullable Object */
--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 */
@@ -7291,6 +7827,7 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1409, /* MapValuesIterator[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7311,17 +7848,19 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1716, /* MapValuesIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1764, /* MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1815, /* NativeArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1898, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7342,6 +7881,26 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_core__MapIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* MapIterator[K, V]: MapIterator[MClass, Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type NativeArray[Set[MVirtualTypeProp]] */
+const struct type type_core__NativeArray__core__Set__nitc__MVirtualTypeProp = {
+1765,
+"NativeArray[Set[MVirtualTypeProp]]", /* class_name_string */
+97,
+0,
+&resolution_table_core__NativeArray__core__Set__nitc__MVirtualTypeProp,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7363,29 +7922,6 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2177, /* NativeArray[nullable MProperty] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7397,6 +7933,7 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7437,6 +7974,7 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1410, /* NativeArray[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7456,7 +7994,9 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
+1765, /* NativeArray[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7465,6 +8005,7 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1899, /* NativeArray[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7476,26 +8017,6 @@ const struct type type_core__NativeArray__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_nullable__nitc__MProperty, /* E: nullable MProperty */
-&type_core__NativeArray__nullable__nitc__MProperty, /* NativeArray[E]: NativeArray[nullable MProperty] */
-}
-};
-/* runtime type ArrayIterator[nullable MProperty] */
-const struct type type_core__array__ArrayIterator__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"ArrayIterator[nullable MProperty]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__nullable__nitc__MProperty,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7505,26 +8026,6 @@ const struct type type_core__array__ArrayIterator__nullable__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__Array__nullable__nitc__MProperty, /* Array[E]: Array[nullable MProperty] */
-&type_core__AbstractArrayRead__nullable__nitc__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[nullable MProperty] */
-}
-};
-/* runtime type ArrayReverseIterator[nullable MProperty] */
-const struct type type_core__array__ArrayReverseIterator__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[nullable MProperty]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__nullable__nitc__MProperty,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7534,26 +8035,6 @@ const struct type type_core__array__ArrayReverseIterator__nullable__nitc__MPrope
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__Array__nullable__nitc__MProperty, /* Array[E]: Array[nullable MProperty] */
-&type_core__AbstractArrayRead__nullable__nitc__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[nullable MProperty] */
-}
-};
-/* runtime type NativeArray[Set[MGroup]] */
-const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
-2180,
-"NativeArray[Set[MGroup]]", /* class_name_string */
-121,
-0,
-&resolution_table_core__NativeArray__core__Set__nitc__MGroup,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7585,7 +8066,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7647,6 +8127,27 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MVirtualTypeProp, /* E: Set[MVirtualTypeProp] */
+&type_core__NativeArray__core__Set__nitc__MVirtualTypeProp, /* NativeArray[E]: NativeArray[Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type ArrayIterator[Set[MVirtualTypeProp]] */
+const struct type type_core__array__ArrayIterator__core__Set__nitc__MVirtualTypeProp = {
+1766,
+"ArrayIterator[Set[MVirtualTypeProp]]", /* class_name_string */
+83,
+0,
+&resolution_table_core__array__ArrayIterator__core__Set__nitc__MVirtualTypeProp,
+137,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7665,7 +8166,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7673,7 +8173,6 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2180, /* NativeArray[Set[MGroup]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7696,6 +8195,7 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1411, /* ArrayIterator[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7725,8 +8225,10 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1766, /* ArrayIterator[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7741,7 +8243,9 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
+1900, /* ArrayIterator[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7780,25 +8284,28 @@ const struct type type_core__NativeArray__core__Set__nitc__MGroup = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__NativeArray__core__Set__nitc__MGroup = {
+const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_core__Set__nitc__MGroup, /* E: Set[MGroup] */
-&type_core__NativeArray__core__Set__nitc__MGroup, /* NativeArray[E]: NativeArray[Set[MGroup]] */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_core__AbstractArrayRead__core__Set__nitc__MVirtualTypeProp, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MVirtualTypeProp]] */
 }
 };
-/* runtime type ArrayIterator[Set[MGroup]] */
-const struct type type_core__array__ArrayIterator__core__Set__nitc__MGroup = {
--1, /*CAST DEAD*/
-"ArrayIterator[Set[MGroup]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type ArrayReverseIterator[Set[MVirtualTypeProp]] */
+const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MVirtualTypeProp = {
+1767,
+"ArrayReverseIterator[Set[MVirtualTypeProp]]", /* class_name_string */
+209,
 0,
-&resolution_table_core__array__ArrayIterator__core__Set__nitc__MGroup,
-11,
+&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MVirtualTypeProp,
+263,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7807,27 +8314,6 @@ const struct type type_core__array__ArrayIterator__core__Set__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Set__nitc__MGroup = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__MGroup, /* Array[E]: Array[Set[MGroup]] */
-&type_core__AbstractArrayRead__core__Set__nitc__MGroup, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MGroup]] */
-}
-};
-/* runtime type ArrayReverseIterator[Set[MGroup]] */
-const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MGroup = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Set[MGroup]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MGroup,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7836,26 +8322,6 @@ const struct type type_core__array__ArrayReverseIterator__core__Set__nitc__MGrou
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MGroup = {
-0, /* dummy */
-{
-&type_core__Array__core__Set__nitc__MGroup, /* Array[E]: Array[Set[MGroup]] */
-&type_core__AbstractArrayRead__core__Set__nitc__MGroup, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MGroup]] */
-}
-};
-/* runtime type NativeArray[HashMap[MType, Array[MMethodDef]]] */
-const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-2183,
-"NativeArray[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-122,
-0,
-&resolution_table_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7884,10 +8350,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1411, /* ArrayIterator[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7914,8 +8380,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1766, /* ArrayIterator[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7930,7 +8398,9 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1884, /* ArrayIterator[Object] */
 -1, /* empty */
+1900, /* ArrayIterator[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7967,7 +8437,6 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7976,7 +8445,6 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2183, /* NativeArray[HashMap[MType, Array[MMethodDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8008,6 +8476,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1412, /* ArrayReverseIterator[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8037,8 +8506,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1719, /* ArrayReverseIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1767, /* ArrayReverseIterator[Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8053,6 +8524,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1885, /* ArrayReverseIterator[Object] */
+-1, /* empty */
+1901, /* ArrayReverseIterator[Set[PropertyLayoutElement]] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8080,27 +8555,6 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
-&type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
-}
-};
-/* runtime type ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
-const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8111,25 +8565,25 @@ const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MType__c
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
+const struct types resolution_table_core__array__ArrayReverseIterator__core__Set__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
+&type_core__Array__core__Set__nitc__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_core__AbstractArrayRead__core__Set__nitc__MVirtualTypeProp, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MVirtualTypeProp]] */
 }
 };
-/* runtime type ArrayReverseIterator[HashMap[MType, Array[MMethodDef]]] */
-const struct type type_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+1768,
+"MapKeysIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+62,
 0,
-&resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef,
-11,
+&resolution_table_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp,
+90,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8138,26 +8592,6 @@ const struct type type_core__array__ArrayReverseIterator__core__HashMap__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MType__core__Array__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
-}
-};
-/* runtime type NativeArray[Array[MMethodDef]] */
-const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
-2186,
-"NativeArray[Array[MMethodDef]]", /* class_name_string */
-123,
-0,
-&resolution_table_core__NativeArray__core__Array__nitc__MMethodDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8183,13 +8617,13 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1413, /* MapKeysIterator[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8204,16 +8638,19 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1720, /* MapKeysIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1768, /* MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1902, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8234,6 +8671,26 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__MapIterator__nitc__MClass__core__Set__nitc__MVirtualTypeProp, /* MapIterator[K, V]: MapIterator[MClass, Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type Array[MVirtualTypeProp] */
+const struct type type_core__Array__nitc__MVirtualTypeProp = {
+1769,
+"Array[MVirtualTypeProp]", /* class_name_string */
+482,
+0,
+&resolution_table_core__Array__nitc__MVirtualTypeProp,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8245,10 +8702,10 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1996, /* NativeArray[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8268,10 +8725,10 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2133, /* NativeArray[Array[Object]] */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8279,7 +8736,6 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2186, /* NativeArray[Array[MMethodDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8300,6 +8756,7 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8329,8 +8786,10 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2505, /* Collection[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8341,6 +8800,7 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8358,6 +8818,8 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8374,35 +8836,16 @@ const struct type type_core__NativeArray__core__Array__nitc__MMethodDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2549, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2556, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MMethodDef, /* E: Array[MMethodDef] */
-&type_core__NativeArray__core__Array__nitc__MMethodDef, /* NativeArray[E]: NativeArray[Array[MMethodDef]] */
-}
-};
-/* runtime type ArrayIterator[Array[MMethodDef]] */
-const struct type type_core__array__ArrayIterator__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[Array[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__Array__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8411,27 +8854,6 @@ const struct type type_core__array__ArrayIterator__core__Array__nitc__MMethodDef
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__nitc__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
-&type_core__AbstractArrayRead__core__Array__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MMethodDef]] */
-}
-};
-/* runtime type ArrayReverseIterator[Array[MMethodDef]] */
-const struct type type_core__array__ArrayReverseIterator__core__Array__nitc__MMethodDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Array[MMethodDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Array__nitc__MMethodDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8440,26 +8862,6 @@ const struct type type_core__array__ArrayReverseIterator__core__Array__nitc__MMe
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Array__nitc__MMethodDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__nitc__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
-&type_core__AbstractArrayRead__core__Array__nitc__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MMethodDef]] */
-}
-};
-/* runtime type NativeArray[HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-2189,
-"NativeArray[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-124,
-0,
-&resolution_table_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8488,10 +8890,11 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
+2607, /* AbstractArrayRead[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8505,10 +8908,13 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2625, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
+2627, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8549,6 +8955,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2864, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8571,9 +8978,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
+2890, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8582,7 +8990,6 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2189, /* NativeArray[HashMap[MType, Array[MAttributeDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8602,6 +9009,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2918, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8632,8 +9040,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2952, /* AbstractArray[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8644,6 +9054,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2963, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8662,6 +9073,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8673,8 +9085,10 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+62, /* Array[MProperty] */
 -1, /* empty */
 -1, /* empty */
+1259, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8684,27 +9098,6 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
-&type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
-}
-};
-/* runtime type ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8713,27 +9106,6 @@ const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MType__c
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
-}
-};
-/* runtime type ArrayReverseIterator[HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8742,28 +9114,9 @@ const struct type type_core__array__ArrayReverseIterator__core__HashMap__nitc__M
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MType__core__Array__nitc__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
-}
-};
-/* runtime type NativeArray[Array[MAttributeDef]] */
-const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
-2192,
-"NativeArray[Array[MAttributeDef]]", /* class_name_string */
-125,
-0,
-&resolution_table_core__NativeArray__core__Array__nitc__MAttributeDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
+234, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8793,7 +9146,6 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8819,6 +9171,7 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1769, /* Array[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8829,6 +9182,7 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1929, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8845,14 +9199,49 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_nitc__MVirtualTypeProp, /* E: MVirtualTypeProp */
+&type_core__Array__nitc__MVirtualTypeProp, /* SELF: Array[MVirtualTypeProp] */
+&type_core__Collection__nitc__MVirtualTypeProp, /* Collection[E]: Collection[MVirtualTypeProp] */
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_core__AbstractArray__nitc__MVirtualTypeProp, /* AbstractArray[E]: AbstractArray[MVirtualTypeProp] */
+&type_core__NativeArray__nitc__MVirtualTypeProp, /* NativeArray[E]: NativeArray[MVirtualTypeProp] */
+&type_nitc__MVirtualTypeProp, /* E: MVirtualTypeProp */
+&type_core__Collection__nitc__MVirtualTypeProp, /* Collection[E]: Collection[MVirtualTypeProp] */
+&type_nitc__MVirtualTypeProp, /* E: MVirtualTypeProp */
+&type_core__Collection__nitc__MVirtualTypeProp, /* Collection[E]: Collection[MVirtualTypeProp] */
+&type_core__Collection__nitc__MVirtualTypeProp, /* Collection[E]: Collection[MVirtualTypeProp] */
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_core__AbstractArray__nitc__MVirtualTypeProp, /* AbstractArray[E]: AbstractArray[MVirtualTypeProp] */
+&type_core__array__ArrayIterator__nitc__MVirtualTypeProp, /* ArrayIterator[E]: ArrayIterator[MVirtualTypeProp] */
+&type_core__array__ArrayReverseIterator__nitc__MVirtualTypeProp, /* ArrayReverseIterator[E]: ArrayReverseIterator[MVirtualTypeProp] */
+}
+};
+/* runtime type HashSetIterator[MVirtualTypeProp] */
+const struct type type_core__hash_collection__HashSetIterator__nitc__MVirtualTypeProp = {
+1770,
+"HashSetIterator[MVirtualTypeProp]", /* class_name_string */
+26,
+0,
+&resolution_table_core__hash_collection__HashSetIterator__nitc__MVirtualTypeProp,
+34,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
+2841, /* Iterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1996, /* NativeArray[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8865,15 +9254,37 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1565, /* HashSetIterator[Object] */
 -1, /* empty */
 -1, /* empty */
+1770, /* HashSetIterator[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
+1917, /* HashSetIterator[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
+1999, /* HashSetIterator[MProperty] */
 -1, /* empty */
-2133, /* NativeArray[Array[Object]] */
-2136, /* NativeArray[nullable Object] */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetIterator__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_core__HashSet__nitc__MVirtualTypeProp, /* HashSet[E]: HashSet[MVirtualTypeProp] */
+}
+};
+/* runtime type HashSetNode[MVirtualTypeProp] */
+const struct type type_core__hash_collection__HashSetNode__nitc__MVirtualTypeProp = {
+1771,
+"HashSetNode[MVirtualTypeProp]", /* class_name_string */
+38,
+0,
+&resolution_table_core__hash_collection__HashSetNode__nitc__MVirtualTypeProp,
+48,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8885,14 +9296,17 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2192, /* NativeArray[Array[MAttributeDef]] */
 -1, /* empty */
+2786, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
+2805, /* nullable HashSetNode[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
+2816, /* nullable HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
+2824, /* nullable HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8904,15 +9318,39 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1566, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
+1771, /* HashSetNode[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
+1918, /* HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
+2000, /* HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetNode__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+NULL, /* empty */
+&type_nitc__MVirtualTypeProp, /* K: MVirtualTypeProp */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp = {
+1772,
+"NativeArray[nullable HashSetNode[MVirtualTypeProp]]", /* class_name_string */
+194,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8986,27 +9424,6 @@ const struct type type_core__NativeArray__core__Array__nitc__MAttributeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MAttributeDef, /* E: Array[MAttributeDef] */
-&type_core__NativeArray__core__Array__nitc__MAttributeDef, /* NativeArray[E]: NativeArray[Array[MAttributeDef]] */
-}
-};
-/* runtime type ArrayIterator[Array[MAttributeDef]] */
-const struct type type_core__array__ArrayIterator__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[Array[MAttributeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9015,27 +9432,6 @@ const struct type type_core__array__ArrayIterator__core__Array__nitc__MAttribute
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__nitc__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
-&type_core__AbstractArrayRead__core__Array__nitc__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MAttributeDef]] */
-}
-};
-/* runtime type ArrayReverseIterator[Array[MAttributeDef]] */
-const struct type type_core__array__ArrayReverseIterator__core__Array__nitc__MAttributeDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Array[MAttributeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Array__nitc__MAttributeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9044,30 +9440,11 @@ const struct type type_core__array__ArrayReverseIterator__core__Array__nitc__MAt
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Array__nitc__MAttributeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__nitc__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
-&type_core__AbstractArrayRead__core__Array__nitc__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MAttributeDef]] */
-}
-};
-/* runtime type NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-2195,
-"NativeArray[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-126,
-0,
-&resolution_table_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9095,7 +9472,6 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9148,6 +9524,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1567, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9166,6 +9543,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1772, /* NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9175,8 +9553,8 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
+1919, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9184,11 +9562,11 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2001, /* NativeArray[nullable HashSetNode[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2195, /* NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9199,6 +9577,26 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp, /* E: nullable HashSetNode[MVirtualTypeProp] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MVirtualTypeProp, /* NativeArray[E]: NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
+}
+};
+/* runtime type NativeArray[MVirtualTypeProp] */
+const struct type type_core__NativeArray__nitc__MVirtualTypeProp = {
+1773,
+"NativeArray[MVirtualTypeProp]", /* class_name_string */
+98,
+0,
+&resolution_table_core__NativeArray__nitc__MVirtualTypeProp,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9207,6 +9605,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1173, /* NativeArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9230,7 +9629,9 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
+1914, /* NativeArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9258,6 +9659,7 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1261, /* NativeArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9288,84 +9690,25 @@ const struct type type_core__NativeArray__core__HashMap__nitc__MType__core__Arra
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_core__NativeArray__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-}
-};
-/* runtime type ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1773, /* NativeArray[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
-}
-};
-/* runtime type ArrayReverseIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1930, /* NativeArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayReverseIterator__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_core__AbstractArrayRead__core__HashMap__nitc__MType__core__Array__nitc__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
-}
-};
-/* runtime type NativeArray[Array[MVirtualTypeDef]] */
-const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
-2198,
-"NativeArray[Array[MVirtualTypeDef]]", /* class_name_string */
-127,
-0,
-&resolution_table_core__NativeArray__core__Array__nitc__MVirtualTypeDef,
-226,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9397,7 +9740,6 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9456,7 +9798,6 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1996, /* NativeArray[Array[nullable MPropDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9476,22 +9817,41 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2133, /* NativeArray[Array[Object]] */
-2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nitc__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_nitc__MVirtualTypeProp, /* E: MVirtualTypeProp */
+&type_core__NativeArray__nitc__MVirtualTypeProp, /* NativeArray[E]: NativeArray[MVirtualTypeProp] */
+}
+};
+/* runtime type ArrayIterator[MVirtualTypeProp] */
+const struct type type_core__array__ArrayIterator__nitc__MVirtualTypeProp = {
+1774,
+"ArrayIterator[MVirtualTypeProp]", /* class_name_string */
+84,
+0,
+&resolution_table_core__array__ArrayIterator__nitc__MVirtualTypeProp,
+137,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2400, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
+2841, /* Iterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2198, /* NativeArray[Array[MVirtualTypeDef]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9507,12 +9867,14 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -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 */
@@ -9559,9 +9921,11 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1718, /* ArrayIterator[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1774, /* ArrayIterator[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9575,6 +9939,14 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -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 */
 -1, /* empty */
@@ -9590,27 +9962,6 @@ const struct type type_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__nitc__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
-&type_core__NativeArray__core__Array__nitc__MVirtualTypeDef, /* NativeArray[E]: NativeArray[Array[MVirtualTypeDef]] */
-}
-};
-/* runtime type ArrayIterator[Array[MVirtualTypeDef]] */
-const struct type type_core__array__ArrayIterator__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"ArrayIterator[Array[MVirtualTypeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayIterator__core__Array__nitc__MVirtualTypeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9619,27 +9970,6 @@ const struct type type_core__array__ArrayIterator__core__Array__nitc__MVirtualTy
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__array__ArrayIterator__core__Array__nitc__MVirtualTypeDef = {
-0, /* dummy */
-{
-&type_core__Array__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
-&type_core__AbstractArrayRead__core__Array__nitc__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MVirtualTypeDef]] */
-}
-};
-/* runtime type ArrayReverseIterator[Array[MVirtualTypeDef]] */
-const struct type type_core__array__ArrayReverseIterator__core__Array__nitc__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"ArrayReverseIterator[Array[MVirtualTypeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__array__ArrayReverseIterator__core__Array__nitc__MVirtualTypeDef,
-11,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9650,352 +9980,10 @@ const struct type type_core__array__ArrayReverseIterator__core__Array__nitc__MVi
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__array__ArrayReverseIterator__core__Array__nitc__MVirtualTypeDef = {
+const struct types resolution_table_core__array__ArrayIterator__nitc__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_core__Array__core__Array__nitc__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
-&type_core__AbstractArrayRead__core__Array__nitc__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MVirtualTypeDef]] */
+&type_core__Array__nitc__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_core__AbstractArrayRead__nitc__MVirtualTypeProp, /* AbstractArrayRead[E]: AbstractArrayRead[MVirtualTypeProp] */
 }
 };
-/* runtime type FlatText */
-const struct type type_core__FlatText = {
-2201,
-"FlatText", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type SequenceRead[nullable Object] */
-const struct type type_core__SequenceRead__nullable__core__Object = {
-2202,
-"SequenceRead[nullable Object]", /* class_name_string */
-130,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type MapRead[nullable Object, nullable Object] */
-const struct type type_core__MapRead__nullable__core__Object__nullable__core__Object = {
-2203,
-"MapRead[nullable Object, nullable Object]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type Set[nullable Object] */
-const struct type type_core__Set__nullable__core__Object = {
-2204,
-"Set[nullable Object]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type Text */
-const struct type type_core__Text = {
-2205,
-"Text", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[Char] */
-const struct type type_core__Collection__core__Char = {
-2206,
-"Collection[Char]", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type AStringFormExpr */
-const struct type type_nitc__AStringFormExpr = {
-2207,
-"AStringFormExpr", /* class_name_string */
-6,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type AClassdef */
-const struct type type_nitc__AClassdef = {
-2208,
-"AClassdef", /* class_name_string */
-4,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type AError */
-const struct type type_nitc__AError = {
-2209,
-"AError", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type Token */
-const struct type type_nitc__Token = {
-2210,
-"Token", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type AExpr */
-const struct type type_nitc__AExpr = {
-2211,
-"AExpr", /* class_name_string */
-4,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable MVirtualTypeProp */
-const struct type type_nullable__nitc__MVirtualTypeProp = {
-2212,
-"nullable MVirtualTypeProp", /* class_name_string */
-8,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type MFormalType */
-const struct type type_nitc__MFormalType = {
-2213,
-"MFormalType", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type MEntity */
-const struct type type_nitc__MEntity = {
-2214,
-"MEntity", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type Collection[Byte] */
-const struct type type_core__Collection__core__Byte = {
-2215,
-"Collection[Byte]", /* class_name_string */
-4,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type Prod */
-const struct type type_nitc__Prod = {
-2216,
-"Prod", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type OptionParameter */
-const struct type type_opts__OptionParameter = {
-2217,
-"OptionParameter", /* class_name_string */
-3,
-0,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AClassdef */
-const struct type type_nullable__nitc__AClassdef = {
-2218,
-"nullable AClassdef", /* class_name_string */
-5,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AModuledecl */
-const struct type type_nullable__nitc__AModuledecl = {
-2219,
-"nullable AModuledecl", /* class_name_string */
-5,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable ADoc */
-const struct type type_nullable__nitc__ADoc = {
-2220,
-"nullable ADoc", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwredef */
-const struct type type_nullable__nitc__TKwredef = {
-2221,
-"nullable TKwredef", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AVisibility */
-const struct type type_nullable__nitc__AVisibility = {
-2222,
-"nullable AVisibility", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwmodule */
-const struct type type_nullable__nitc__TKwmodule = {
-2223,
-"nullable TKwmodule", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AModuleName */
-const struct type type_nullable__nitc__AModuleName = {
-2224,
-"nullable AModuleName", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AAnnotations */
-const struct type type_nullable__nitc__AAnnotations = {
-2225,
-"nullable AAnnotations", /* class_name_string */
-5,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwimport */
-const struct type type_nullable__nitc__TKwimport = {
-2226,
-"nullable TKwimport", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwend */
-const struct type type_nullable__nitc__TKwend = {
-2227,
-"nullable TKwend", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable APropdef */
-const struct type type_nullable__nitc__APropdef = {
-2228,
-"nullable APropdef", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AExpr */
-const struct type type_nullable__nitc__AExpr = {
-2229,
-"nullable AExpr", /* class_name_string */
-5,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AClasskind */
-const struct type type_nullable__nitc__AClasskind = {
-2230,
-"nullable AClasskind", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AQclassid */
-const struct type type_nullable__nitc__AQclassid = {
-2231,
-"nullable AQclassid", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable AExternCodeBlock */
-const struct type type_nullable__nitc__AExternCodeBlock = {
-2232,
-"nullable AExternCodeBlock", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TObra */
-const struct type type_nullable__nitc__TObra = {
-2233,
-"nullable TObra", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TCbra */
-const struct type type_nullable__nitc__TCbra = {
-2234,
-"nullable TCbra", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwclass */
-const struct type type_nullable__nitc__TKwclass = {
-2235,
-"nullable TKwclass", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwabstract */
-const struct type type_nullable__nitc__TKwabstract = {
-2236,
-"nullable TKwabstract", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwinterface */
-const struct type type_nullable__nitc__TKwinterface = {
-2237,
-"nullable TKwinterface", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};
-/* runtime type nullable TKwenum */
-const struct type type_nullable__nitc__TKwenum = {
-2238,
-"nullable TKwenum", /* class_name_string */
-4,
-1,
-NULL, /*DEAD*/
--1, {}, /*DEAD TYPE*/
-};