c_src: regenerate
[nit.git] / c_src / nitc__nith.types.12.c
similarity index 70%
rename from c_src/nit__nith.types.11.c
rename to c_src/nitc__nith.types.12.c
index b303063..92dbe9a 100644 (file)
@@ -1,21 +1,15 @@
-#include "nit__nith.types.0.h"
-/* runtime type NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MVirtualTypeProp = {
-1319,
-"NativeArray[nullable HashSetNode[MVirtualTypeProp]]", /* class_name_string */
-167,
+#include "nitc__nith.types.0.h"
+/* runtime type Array[Scope] */
+const struct type type_core__Array__nitc__scope__Scope = {
+1409,
+"Array[Scope]", /* class_name_string */
+452,
 0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MVirtualTypeProp,
-219,
+&resolution_table_core__Array__nitc__scope__Scope,
+510,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -50,6 +44,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -80,6 +75,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2464, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -126,6 +122,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -140,6 +137,8 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -159,7 +158,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1211, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -173,19 +171,17 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
-1319, /* NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1372, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1400, /* NativeArray[nullable HashSetNode[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -208,6 +204,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2590, /* AbstractArrayRead[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -227,46 +224,18 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MVirtualTypeProp = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashSetNode__nit__MVirtualTypeProp, /* E: nullable HashSetNode[MVirtualTypeProp] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MVirtualTypeProp, /* NativeArray[E]: NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
-}
-};
-/* runtime type HashSetNode[MVirtualTypeProp] */
-const struct type type_standard__hash_collection__HashSetNode__nit__MVirtualTypeProp = {
-1320,
-"HashSetNode[MVirtualTypeProp]", /* class_name_string */
-38,
-0,
-&resolution_table_standard__hash_collection__HashSetNode__nit__MVirtualTypeProp,
-48,
-{
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2238, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
-2254, /* nullable HashSetNode[MVirtualTypeProp] */
 -1, /* empty */
 -1, /* empty */
-2260, /* nullable HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
-2264, /* nullable HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -280,40 +249,16 @@ const struct type type_standard__hash_collection__HashSetNode__nit__MVirtualType
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1212, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
-1320, /* HashSetNode[MVirtualTypeProp] */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-1373, /* HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
-1401, /* HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetNode__nit__MVirtualTypeProp = {
-0, /* dummy */
-{
-NULL, /* empty */
-&type_nit__MVirtualTypeProp, /* K: MVirtualTypeProp */
-}
-};
-/* runtime type HashMap[MVirtualTypeProp, Int] */
-const struct type type_standard__HashMap__nit__MVirtualTypeProp__standard__Int = {
-1321,
-"HashMap[MVirtualTypeProp, Int]", /* class_name_string */
-62,
-0,
-&resolution_table_standard__HashMap__nit__MVirtualTypeProp__standard__Int,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -352,6 +297,7 @@ const struct type type_standard__HashMap__nit__MVirtualTypeProp__standard__Int =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -373,9 +319,7 @@ const struct type type_standard__HashMap__nit__MVirtualTypeProp__standard__Int =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1321, /* HashMap[MVirtualTypeProp, Int] */
 -1, /* empty */
-1378, /* HashMap[PropertyLayoutElement, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -386,6 +330,7 @@ const struct type type_standard__HashMap__nit__MVirtualTypeProp__standard__Int =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2914, /* AbstractArray[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -394,37 +339,6 @@ const struct type type_standard__HashMap__nit__MVirtualTypeProp__standard__Int =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MVirtualTypeProp__standard__Int = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MVirtualTypeProp__standard__Int, /* HashMapIterator[K, V]: HashMapIterator[MVirtualTypeProp, Int] */
-&type_nit__MVirtualTypeProp, /* K: MVirtualTypeProp */
-&type_standard__Int, /* V: Int */
-&type_standard__hash_collection__HashMapNode__nit__MVirtualTypeProp__standard__Int, /* HashMapNode[K, V]: HashMapNode[MVirtualTypeProp, Int] */
-&type_standard__hash_collection__HashMapKeys__nit__MVirtualTypeProp__standard__Int, /* HashMapKeys[K, V]: HashMapKeys[MVirtualTypeProp, Int] */
-&type_standard__hash_collection__HashMapValues__nit__MVirtualTypeProp__standard__Int, /* HashMapValues[K, V]: HashMapValues[MVirtualTypeProp, Int] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MVirtualTypeProp__standard__Int, /* nullable N: nullable HashMapNode[MVirtualTypeProp, Int] */
-&type_standard__hash_collection__HashMapNode__nit__MVirtualTypeProp__standard__Int, /* N: HashMapNode[MVirtualTypeProp, Int] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MVirtualTypeProp__standard__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
-}
-};
-/* runtime type NativeArray[ReduceAction] */
-const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
-1322,
-"NativeArray[ReduceAction]", /* class_name_string */
-28,
-0,
-&resolution_table_standard__NativeArray__nit__parser_work__ReduceAction,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -451,13 +365,11 @@ const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1322, /* NativeArray[ReduceAction] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-651, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -465,6 +377,7 @@ const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -479,6 +392,7 @@ const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -546,6 +460,7 @@ const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1409, /* Array[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -603,6 +518,39 @@ const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__scope__Scope = {
+0, /* dummy */
+{
+&type_nitc__scope__Scope, /* E: Scope */
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+&type_core__Collection__nitc__scope__Scope, /* Collection[E]: Collection[Scope] */
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+&type_core__AbstractArray__nitc__scope__Scope, /* AbstractArray[E]: AbstractArray[Scope] */
+&type_core__NativeArray__nitc__scope__Scope, /* NativeArray[E]: NativeArray[Scope] */
+&type_nitc__scope__Scope, /* E: Scope */
+&type_core__Collection__nitc__scope__Scope, /* Collection[E]: Collection[Scope] */
+&type_nitc__scope__Scope, /* E: Scope */
+&type_core__Collection__nitc__scope__Scope, /* Collection[E]: Collection[Scope] */
+&type_core__Collection__nitc__scope__Scope, /* Collection[E]: Collection[Scope] */
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+&type_core__AbstractArray__nitc__scope__Scope, /* AbstractArray[E]: AbstractArray[Scope] */
+&type_core__array__ArrayIterator__nitc__scope__Scope, /* ArrayIterator[E]: ArrayIterator[Scope] */
+&type_core__array__ArrayReverseIterator__nitc__scope__Scope, /* ArrayReverseIterator[E]: ArrayReverseIterator[Scope] */
+}
+};
+/* runtime type ListNode[Scope] */
+const struct type type_core__list__ListNode__nitc__scope__Scope = {
+1410,
+"ListNode[Scope]", /* class_name_string */
+145,
+0,
+&resolution_table_core__list__ListNode__nitc__scope__Scope,
+146,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -637,58 +585,18 @@ const struct type type_standard__NativeArray__nit__parser_work__ReduceAction = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__parser_work__ReduceAction = {
-0, /* dummy */
-{
-&type_nit__parser_work__ReduceAction, /* E: ReduceAction */
-&type_standard__NativeArray__nit__parser_work__ReduceAction, /* NativeArray[E]: NativeArray[ReduceAction] */
-}
-};
-/* runtime type ArrayIterator[ReduceAction] */
-const struct type type_standard__array__ArrayIterator__nit__parser_work__ReduceAction = {
--1, /*CAST DEAD*/
-"ArrayIterator[ReduceAction]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__parser_work__ReduceAction,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__parser_work__ReduceAction = {
-0, /* dummy */
-{
-&type_standard__Array__nit__parser_work__ReduceAction, /* Array[E]: Array[ReduceAction] */
-&type_standard__AbstractArrayRead__nit__parser_work__ReduceAction, /* AbstractArrayRead[E]: AbstractArrayRead[ReduceAction] */
-}
-};
-/* runtime type Array[TComment] */
-const struct type type_standard__Array__nit__TComment = {
-1324,
-"Array[TComment]", /* class_name_string */
-433,
-0,
-&resolution_table_standard__Array__nit__TComment,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -708,13 +616,13 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2464, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2328, /* Collection[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -723,7 +631,6 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -749,15 +656,14 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
-2365, /* Collection[TComment] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -776,16 +682,42 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2849, /* Ref[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2839, /* nullable ListNode[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1410, /* ListNode[Scope] */
+},
+};
+const struct types resolution_table_core__list__ListNode__nitc__scope__Scope = {
+0, /* dummy */
+{
+&type_nullable__core__list__ListNode__nitc__scope__Scope, /* nullable ListNode[E]: nullable ListNode[Scope] */
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+&type_core__abstract_collection__RefIterator__nitc__scope__Scope, /* RefIterator[E]: RefIterator[Scope] */
+&type_nitc__scope__Scope, /* E: Scope */
+}
+};
+/* runtime type ListIterator[Scope] */
+const struct type type_core__ListIterator__nitc__scope__Scope = {
+-1, /*CAST DEAD*/
+"ListIterator[Scope]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__ListIterator__nitc__scope__Scope,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -794,6 +726,27 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__ListIterator__nitc__scope__Scope = {
+0, /* dummy */
+{
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+&type_core__List__nitc__scope__Scope, /* List[E]: List[Scope] */
+}
+};
+/* runtime type ListReverseIterator[Scope] */
+const struct type type_core__list__ListReverseIterator__nitc__scope__Scope = {
+-1, /*CAST DEAD*/
+"ListReverseIterator[Scope]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__list__ListReverseIterator__nitc__scope__Scope,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -802,6 +755,26 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__list__ListReverseIterator__nitc__scope__Scope = {
+0, /* dummy */
+{
+&type_core__Array__nitc__scope__Scope, /* Array[E]: Array[Scope] */
+&type_core__List__nitc__scope__Scope, /* List[E]: List[Scope] */
+}
+};
+/* runtime type NativeArray[FlowContext] */
+const struct type type_core__NativeArray__nitc__FlowContext = {
+1413,
+"NativeArray[FlowContext]", /* class_name_string */
+31,
+0,
+&resolution_table_core__NativeArray__nitc__FlowContext,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -811,7 +784,6 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -832,10 +804,11 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1413, /* NativeArray[FlowContext] */
 -1, /* empty */
+229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
-2448, /* AbstractArrayRead[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -844,7 +817,6 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -871,9 +843,7 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2484, /* AbstractArrayRead[ANode] */
 -1, /* empty */
-2486, /* AbstractArrayRead[TComment] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -916,6 +886,7 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -956,7 +927,6 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2672, /* AbstractArray[Token] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -965,7 +935,6 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -992,9 +961,7 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2708, /* AbstractArray[ANode] */
 -1, /* empty */
-2710, /* AbstractArray[TComment] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1032,6 +999,27 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nitc__FlowContext = {
+0, /* dummy */
+{
+&type_nitc__FlowContext, /* E: FlowContext */
+&type_core__NativeArray__nitc__FlowContext, /* NativeArray[E]: NativeArray[FlowContext] */
+}
+};
+/* runtime type ArrayIterator[FlowContext] */
+const struct type type_core__array__ArrayIterator__nitc__FlowContext = {
+-1, /*CAST DEAD*/
+"ArrayIterator[FlowContext]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayIterator__nitc__FlowContext,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1040,6 +1028,27 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__nitc__FlowContext = {
+0, /* dummy */
+{
+&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
+&type_core__AbstractArrayRead__nitc__FlowContext, /* AbstractArrayRead[E]: AbstractArrayRead[FlowContext] */
+}
+};
+/* runtime type ArrayReverseIterator[FlowContext] */
+const struct type type_core__array__ArrayReverseIterator__nitc__FlowContext = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[FlowContext]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayReverseIterator__nitc__FlowContext,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1048,16 +1057,55 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__FlowContext = {
+0, /* dummy */
+{
+&type_core__Array__nitc__FlowContext, /* Array[E]: Array[FlowContext] */
+&type_core__AbstractArrayRead__nitc__FlowContext, /* AbstractArrayRead[E]: AbstractArrayRead[FlowContext] */
+}
+};
+/* runtime type HashSetIterator[Variable] */
+const struct type type_core__hash_collection__HashSetIterator__nitc__Variable = {
+-1, /*CAST DEAD*/
+"HashSetIterator[Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashSetIterator__nitc__Variable,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetIterator__nitc__Variable = {
+0, /* dummy */
+{
+&type_core__Array__nitc__Variable, /* Array[E]: Array[Variable] */
+&type_core__HashSet__nitc__Variable, /* HashSet[E]: HashSet[Variable] */
+}
+};
+/* runtime type HashSetNode[Variable] */
+const struct type type_core__hash_collection__HashSetNode__nitc__Variable = {
+1417,
+"HashSetNode[Variable]", /* class_name_string */
+39,
+0,
+&resolution_table_core__hash_collection__HashSetNode__nitc__Variable,
+48,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1068,9 +1116,11 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2757, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2774, /* nullable HashSetNode[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1089,10 +1139,11 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-152, /* Array[Token] */
+1270, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1417, /* HashSetNode[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1101,6 +1152,26 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetNode__nitc__Variable = {
+0, /* dummy */
+{
+NULL, /* empty */
+&type_nitc__Variable, /* K: Variable */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[Variable]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__Variable = {
+1418,
+"NativeArray[nullable HashSetNode[Variable]]", /* class_name_string */
+173,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__Variable,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1118,9 +1189,7 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1267, /* Array[ANode] */
 -1, /* empty */
-1324, /* Array[TComment] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1177,37 +1246,6 @@ const struct type type_standard__Array__nit__TComment = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__TComment = {
-0, /* dummy */
-{
-&type_nit__TComment, /* E: TComment */
-&type_standard__Array__nit__TComment, /* Array[E]: Array[TComment] */
-&type_standard__Collection__nit__TComment, /* Collection[E]: Collection[TComment] */
-&type_standard__Array__nit__TComment, /* Array[E]: Array[TComment] */
-&type_standard__NativeArray__nit__TComment, /* NativeArray[E]: NativeArray[TComment] */
-&type_nit__TComment, /* E: TComment */
-&type_standard__Collection__nit__TComment, /* Collection[E]: Collection[TComment] */
-&type_nit__TComment, /* E: TComment */
-&type_standard__Collection__nit__TComment, /* Collection[E]: Collection[TComment] */
-&type_standard__Collection__nit__TComment, /* Collection[E]: Collection[TComment] */
-&type_standard__Array__nit__TComment, /* Array[E]: Array[TComment] */
-&type_standard__AbstractArray__nit__TComment, /* AbstractArray[E]: AbstractArray[TComment] */
-&type_standard__array__ArrayIterator__nit__TComment, /* ArrayIterator[E]: ArrayIterator[TComment] */
-}
-};
-/* runtime type NativeArray[AClassdef] */
-const struct type type_standard__NativeArray__nit__AClassdef = {
-1325,
-"NativeArray[AClassdef]", /* class_name_string */
-29,
-0,
-&resolution_table_standard__NativeArray__nit__AClassdef,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1230,17 +1268,14 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1252, /* NativeArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1325, /* NativeArray[AClassdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-651, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1248,6 +1283,7 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1267,7 +1303,6 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1620, /* NativeArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1291,6 +1326,7 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1271, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1307,6 +1343,7 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1418, /* NativeArray[nullable HashSetNode[Variable]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1359,6 +1396,26 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__Variable = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashSetNode__nitc__Variable, /* E: nullable HashSetNode[Variable] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__Variable, /* NativeArray[E]: NativeArray[nullable HashSetNode[Variable]] */
+}
+};
+/* runtime type HashMapKeys[Variable, nullable MType] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__Variable__nullable__nitc__MType = {
+-1, /*CAST DEAD*/
+"HashMapKeys[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__Variable__nullable__nitc__MType,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1393,6 +1450,7 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1405,6 +1463,7 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2446, /* Collection[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1425,53 +1484,12 @@ const struct type type_standard__NativeArray__nit__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__AClassdef = {
-0, /* dummy */
-{
-&type_nit__AClassdef, /* E: AClassdef */
-&type_standard__NativeArray__nit__AClassdef, /* NativeArray[E]: NativeArray[AClassdef] */
-}
-};
-/* runtime type ArrayIterator[AClassdef] */
-const struct type type_standard__array__ArrayIterator__nit__AClassdef = {
--1, /*CAST DEAD*/
-"ArrayIterator[AClassdef]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__AClassdef,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__AClassdef = {
-0, /* dummy */
-{
-&type_standard__Array__nit__AClassdef, /* Array[E]: Array[AClassdef] */
-&type_standard__AbstractArrayRead__nit__AClassdef, /* AbstractArrayRead[E]: AbstractArrayRead[AClassdef] */
-}
-};
-/* runtime type Array[AFormaldef] */
-const struct type type_standard__Array__nit__AFormaldef = {
-1327,
-"Array[AFormaldef]", /* class_name_string */
-434,
-0,
-&resolution_table_standard__Array__nit__AFormaldef,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1496,7 +1514,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2327, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1506,12 +1523,12 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1526,16 +1543,35 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__Variable__nullable__nitc__MType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__Variable__nullable__nitc__MType, /* HashMap[K, V]: HashMap[Variable, nullable MType] */
+&type_core__Array__nitc__Variable, /* Array[E]: Array[Variable] */
+&type_core__MapKeysIterator__nitc__Variable__nullable__nitc__MType, /* MapKeysIterator[K, V]: MapKeysIterator[Variable, nullable MType] */
+}
+};
+/* runtime type HashMapValues[Variable, nullable MType] */
+const struct type type_core__hash_collection__HashMapValues__nitc__Variable__nullable__nitc__MType = {
+-1, /*CAST DEAD*/
+"HashMapValues[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__Variable__nullable__nitc__MType,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2363, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
-2366, /* Collection[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1573,6 +1609,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2444, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1594,7 +1631,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1617,7 +1653,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2447, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1627,7 +1662,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1642,6 +1676,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1654,10 +1689,29 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2484, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
-2487, /* AbstractArrayRead[AFormaldef] */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__Variable__nullable__nitc__MType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__Variable__nullable__nitc__MType, /* HashMap[K, V]: HashMap[Variable, nullable MType] */
+&type_core__Array__nullable__nitc__MType, /* Array[E]: Array[nullable MType] */
+&type_core__MapValuesIterator__nitc__Variable__nullable__nitc__MType, /* MapValuesIterator[K, V]: MapValuesIterator[Variable, nullable MType] */
+}
+};
+/* runtime type HashMapIterator[Variable, nullable MType] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__Variable__nullable__nitc__MType = {
+-1, /*CAST DEAD*/
+"HashMapIterator[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__Variable__nullable__nitc__MType,
+79,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1690,6 +1744,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2684, /* MapIterator[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1712,6 +1767,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1733,12 +1789,30 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__Variable__nullable__nitc__MType = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__Variable__nullable__nitc__MType, /* HashMap[K, V]: HashMap[Variable, nullable MType] */
+}
+};
+/* runtime type HashMapNode[Variable, nullable MType] */
+const struct type type_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType = {
+1422,
+"HashMapNode[Variable, nullable MType]", /* class_name_string */
+108,
+0,
+&resolution_table_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType,
+152,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2671, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1748,7 +1822,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1766,6 +1839,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2775, /* nullable HashMapNode[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1775,10 +1849,8 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2708, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
-2711, /* AbstractArray[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1789,6 +1861,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1837,12 +1910,11 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1422, /* HashMapNode[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1864,6 +1936,7 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1871,7 +1944,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-150, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1886,6 +1958,26 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType = {
+0, /* dummy */
+{
+&type_nullable__nitc__MType, /* V: nullable MType */
+&type_nitc__Variable, /* K: Variable */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType = {
+1423,
+"NativeArray[nullable HashMapNode[Variable, nullable MType]]", /* class_name_string */
+174,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1901,10 +1993,8 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1267, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[AFormaldef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1960,37 +2050,6 @@ const struct type type_standard__Array__nit__AFormaldef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__AFormaldef = {
-0, /* dummy */
-{
-&type_nit__AFormaldef, /* E: AFormaldef */
-&type_standard__Array__nit__AFormaldef, /* Array[E]: Array[AFormaldef] */
-&type_standard__Collection__nit__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
-&type_standard__Array__nit__AFormaldef, /* Array[E]: Array[AFormaldef] */
-&type_standard__NativeArray__nit__AFormaldef, /* NativeArray[E]: NativeArray[AFormaldef] */
-&type_nit__AFormaldef, /* E: AFormaldef */
-&type_standard__Collection__nit__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
-&type_nit__AFormaldef, /* E: AFormaldef */
-&type_standard__Collection__nit__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
-&type_standard__Collection__nit__AFormaldef, /* Collection[E]: Collection[AFormaldef] */
-&type_standard__Array__nit__AFormaldef, /* Array[E]: Array[AFormaldef] */
-&type_standard__AbstractArray__nit__AFormaldef, /* AbstractArray[E]: AbstractArray[AFormaldef] */
-&type_standard__array__ArrayIterator__nit__AFormaldef, /* ArrayIterator[E]: ArrayIterator[AFormaldef] */
-}
-};
-/* runtime type NativeArray[ASuperPropdef] */
-const struct type type_standard__NativeArray__nit__ASuperPropdef = {
-1328,
-"NativeArray[ASuperPropdef]", /* class_name_string */
-30,
-0,
-&resolution_table_standard__NativeArray__nit__ASuperPropdef,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2013,61 +2072,6 @@ const struct type type_standard__NativeArray__nit__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1252, /* NativeArray[Prod] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1328, /* NativeArray[ASuperPropdef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-651, /* NativeArray[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 */
-1568, /* NativeArray[APropdef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1620, /* NativeArray[ANode] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2085,6 +2089,7 @@ const struct type type_standard__NativeArray__nit__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2145,6 +2150,7 @@ const struct type type_standard__NativeArray__nit__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1423, /* NativeArray[nullable HashMapNode[Variable, nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2172,6 +2178,7 @@ const struct type type_standard__NativeArray__nit__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2195,6 +2202,26 @@ const struct type type_standard__NativeArray__nit__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* E: nullable HashMapNode[Variable, nullable MType] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__Variable__nullable__nitc__MType, /* NativeArray[E]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+}
+};
+/* runtime type NativeArray[CallSite] */
+const struct type type_core__NativeArray__nitc__CallSite = {
+1424,
+"NativeArray[CallSite]", /* class_name_string */
+32,
+0,
+&resolution_table_core__NativeArray__nitc__CallSite,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2208,55 +2235,12 @@ const struct type type_standard__NativeArray__nit__ASuperPropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__ASuperPropdef = {
-0, /* dummy */
-{
-&type_nit__ASuperPropdef, /* E: ASuperPropdef */
-&type_standard__NativeArray__nit__ASuperPropdef, /* NativeArray[E]: NativeArray[ASuperPropdef] */
-}
-};
-/* runtime type ArrayIterator[ASuperPropdef] */
-const struct type type_standard__array__ArrayIterator__nit__ASuperPropdef = {
--1, /*CAST DEAD*/
-"ArrayIterator[ASuperPropdef]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__ASuperPropdef,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__ASuperPropdef = {
-0, /* dummy */
-{
-&type_standard__Array__nit__ASuperPropdef, /* Array[E]: Array[ASuperPropdef] */
-&type_standard__AbstractArrayRead__nit__ASuperPropdef, /* AbstractArrayRead[E]: AbstractArrayRead[ASuperPropdef] */
-}
-};
-/* runtime type HashMap[MType, POSetElement[MType]] */
-const struct type type_standard__HashMap__nit__MType__poset__POSetElement__nit__MType = {
-1330,
-"HashMap[MType, POSetElement[MType]]", /* class_name_string */
-63,
-0,
-&resolution_table_standard__HashMap__nit__MType__poset__POSetElement__nit__MType,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2268,6 +2252,8 @@ const struct type type_standard__HashMap__nit__MType__poset__POSetElement__nit__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1424, /* NativeArray[CallSite] */
+229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2316,7 +2302,6 @@ const struct type type_standard__HashMap__nit__MType__poset__POSetElement__nit__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1330, /* HashMap[MType, POSetElement[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2336,91 +2321,10 @@ const struct type type_standard__HashMap__nit__MType__poset__POSetElement__nit__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMap__nit__MType__poset__POSetElement__nit__MType = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__MType__poset__POSetElement__nit__MType, /* HashMapIterator[K, V]: HashMapIterator[MType, POSetElement[MType]] */
-&type_nit__MType, /* K: MType */
-&type_poset__POSetElement__nit__MType, /* V: POSetElement[MType] */
-&type_standard__hash_collection__HashMapNode__nit__MType__poset__POSetElement__nit__MType, /* HashMapNode[K, V]: HashMapNode[MType, POSetElement[MType]] */
-&type_standard__hash_collection__HashMapKeys__nit__MType__poset__POSetElement__nit__MType, /* HashMapKeys[K, V]: HashMapKeys[MType, POSetElement[MType]] */
-&type_standard__hash_collection__HashMapValues__nit__MType__poset__POSetElement__nit__MType, /* HashMapValues[K, V]: HashMapValues[MType, POSetElement[MType]] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MType__poset__POSetElement__nit__MType, /* nullable N: nullable HashMapNode[MType, POSetElement[MType]] */
-&type_standard__hash_collection__HashMapNode__nit__MType__poset__POSetElement__nit__MType, /* N: HashMapNode[MType, POSetElement[MType]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MType__poset__POSetElement__nit__MType, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
-}
-};
-/* runtime type POSetElement[MType] */
-const struct type type_poset__POSetElement__nit__MType = {
-1331,
-"POSetElement[MType]", /* class_name_string */
-7,
-0,
-&resolution_table_poset__POSetElement__nit__MType,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1331, /* POSetElement[MType] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_poset__POSetElement__nit__MType = {
-0, /* dummy */
-{
-&type_standard__HashSet__nit__MType, /* HashSet[E]: HashSet[MType] */
-&type_poset__POSet__nit__MType, /* POSet[E]: POSet[MType] */
-&type_nit__MType, /* E: MType */
-}
-};
-/* runtime type POSetConflictGraph[MType] */
-const struct type type_nit__POSetConflictGraph__nit__MType = {
-1332,
-"POSetConflictGraph[MType]", /* class_name_string */
-3,
-0,
-&resolution_table_nit__POSetConflictGraph__nit__MType,
-4,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
-1332, /* POSetConflictGraph[MType] */
-},
-};
-const struct types resolution_table_nit__POSetConflictGraph__nit__MType = {
-0, /* dummy */
-{
-&type_standard__HashSet__nit__MType, /* HashSet[E]: HashSet[MType] */
-&type_standard__HashMap__nit__MType__standard__Set__nit__MType, /* HashMap[E, Set[E]]: HashMap[MType, Set[MType]] */
-&type_poset__POSet__nit__MType, /* POSet[E]: POSet[MType] */
-&type_standard__Array__nit__MType, /* Array[E]: Array[MType] */
-&type_nit__MType, /* E: MType */
-&type_standard__Collection__nit__MType, /* Collection[E]: Collection[MType] */
-}
-};
-/* runtime type ListNode[MType] */
-const struct type type_standard__list__ListNode__nit__MType = {
-1333,
-"ListNode[MType]", /* class_name_string */
-142,
-0,
-&resolution_table_standard__list__ListNode__nit__MType,
-144,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2429,6 +2333,7 @@ const struct type type_standard__list__ListNode__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2447,7 +2352,6 @@ const struct type type_standard__list__ListNode__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2329, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2455,7 +2359,6 @@ const struct type type_standard__list__ListNode__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2467,7 +2370,6 @@ const struct type type_standard__list__ListNode__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2349, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2544,94 +2446,145 @@ const struct type type_standard__list__ListNode__nit__MType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nitc__CallSite = {
+0, /* dummy */
+{
+&type_nitc__CallSite, /* E: CallSite */
+&type_core__NativeArray__nitc__CallSite, /* NativeArray[E]: NativeArray[CallSite] */
+}
+};
+/* runtime type ArrayIterator[CallSite] */
+const struct type type_core__array__ArrayIterator__nitc__CallSite = {
+-1, /*CAST DEAD*/
+"ArrayIterator[CallSite]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayIterator__nitc__CallSite,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2639, /* Container[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__nitc__CallSite = {
+0, /* dummy */
+{
+&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
+&type_core__AbstractArrayRead__nitc__CallSite, /* AbstractArrayRead[E]: AbstractArrayRead[CallSite] */
+}
+};
+/* runtime type ArrayReverseIterator[CallSite] */
+const struct type type_core__array__ArrayReverseIterator__nitc__CallSite = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[CallSite]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayReverseIterator__nitc__CallSite,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
-2628, /* nullable ListNode[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1333, /* ListNode[MType] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__list__ListNode__nit__MType = {
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__CallSite = {
 0, /* dummy */
 {
-&type_nullable__standard__list__ListNode__nit__MType, /* nullable ListNode[E]: nullable ListNode[MType] */
-&type_standard__Array__nit__MType, /* Array[E]: Array[MType] */
-&type_standard__abstract_collection__ContainerIterator__nit__MType, /* ContainerIterator[E]: ContainerIterator[MType] */
-&type_nit__MType, /* E: MType */
+&type_core__Array__nitc__CallSite, /* Array[E]: Array[CallSite] */
+&type_core__AbstractArrayRead__nitc__CallSite, /* AbstractArrayRead[E]: AbstractArrayRead[CallSite] */
 }
 };
-/* runtime type ListIterator[MType] */
-const struct type type_standard__ListIterator__nit__MType = {
+/* runtime type ArrayIterator[Object] */
+const struct type type_core__array__ArrayIterator__core__Object = {
 -1, /*CAST DEAD*/
-"ListIterator[MType]", /* class_name_string */
+"ArrayIterator[Object]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_standard__ListIterator__nit__MType,
-5,
+&resolution_table_core__array__ArrayIterator__core__Object,
+11,
 {
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
+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_standard__ListIterator__nit__MType = {
+const struct types resolution_table_core__array__ArrayIterator__core__Object = {
 0, /* dummy */
 {
-&type_standard__Array__nit__MType, /* Array[E]: Array[MType] */
-&type_standard__List__nit__MType, /* List[E]: List[MType] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__AbstractArrayRead__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Object] */
 }
 };
-/* runtime type HashMap2[MModule, MType, Array[MMethodDef]] */
-const struct type type_more_collections__HashMap2__nit__MModule__nit__MType__standard__Array__nit__MMethodDef = {
+/* runtime type ArrayReverseIterator[Object] */
+const struct type type_core__array__ArrayReverseIterator__core__Object = {
 -1, /*CAST DEAD*/
-"HashMap2[MModule, MType, Array[MMethodDef]]", /* class_name_string */
+"ArrayReverseIterator[Object]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_more_collections__HashMap2__nit__MModule__nit__MType__standard__Array__nit__MMethodDef,
-3,
+&resolution_table_core__array__ArrayReverseIterator__core__Object,
+11,
 {
-80, /* Object */
-2622, /* nullable Object */
+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_more_collections__HashMap2__nit__MModule__nit__MType__standard__Array__nit__MMethodDef = {
+const struct types resolution_table_core__array__ArrayReverseIterator__core__Object = {
 0, /* dummy */
 {
-&type_standard__HashMap__nit__MModule__standard__HashMap__nit__MType__standard__Array__nit__MMethodDef, /* HashMap[K1, HashMap[K2, V]]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_nit__MModule, /* K1: MModule */
-&type_nit__MType, /* K2: MType */
-&type_standard__Array__nit__MMethodDef, /* V: Array[MMethodDef] */
-&type_standard__HashMap__nit__MType__standard__Array__nit__MMethodDef, /* HashMap[K2, V]: HashMap[MType, Array[MMethodDef]] */
+&type_core__Array__core__Object, /* Array[E]: Array[Object] */
+&type_core__AbstractArrayRead__core__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Object] */
 }
 };
-/* runtime type NativeArray[MParameter] */
-const struct type type_standard__NativeArray__nit__MParameter = {
-1336,
-"NativeArray[MParameter]", /* class_name_string */
-31,
+/* runtime type NativeArray[CodeWriter] */
+const struct type type_core__NativeArray__nitc__CodeWriter = {
+1429,
+"NativeArray[CodeWriter]", /* class_name_string */
+34,
 0,
-&resolution_table_standard__NativeArray__nit__MParameter,
-219,
+&resolution_table_core__NativeArray__nitc__CodeWriter,
+226,
 {
-80, /* Object */
-2622, /* nullable Object */
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2660,11 +2613,11 @@ const struct type type_standard__NativeArray__nit__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+229, /* NativeArray[Object] */
+1429, /* NativeArray[CodeWriter] */
 -1, /* empty */
-1336, /* NativeArray[MParameter] */
 -1, /* empty */
 -1, /* empty */
-651, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2740,6 +2693,10 @@ const struct type type_standard__NativeArray__nit__MParameter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2851,25 +2808,27 @@ const struct type type_standard__NativeArray__nit__MParameter = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__NativeArray__nit__MParameter = {
+const struct types resolution_table_core__NativeArray__nitc__CodeWriter = {
 0, /* dummy */
 {
-&type_nit__MParameter, /* E: MParameter */
-&type_standard__NativeArray__nit__MParameter, /* NativeArray[E]: NativeArray[MParameter] */
+&type_nitc__CodeWriter, /* E: CodeWriter */
+&type_core__NativeArray__nitc__CodeWriter, /* NativeArray[E]: NativeArray[CodeWriter] */
 }
 };
-/* runtime type ArrayIterator[MParameter] */
-const struct type type_standard__array__ArrayIterator__nit__MParameter = {
+/* runtime type ArrayIterator[CodeWriter] */
+const struct type type_core__array__ArrayIterator__nitc__CodeWriter = {
 -1, /*CAST DEAD*/
-"ArrayIterator[MParameter]", /* class_name_string */
+"ArrayIterator[CodeWriter]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_standard__array__ArrayIterator__nit__MParameter,
-9,
+&resolution_table_core__array__ArrayIterator__nitc__CodeWriter,
+11,
 {
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2878,39 +2837,25 @@ const struct type type_standard__array__ArrayIterator__nit__MParameter = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__array__ArrayIterator__nit__MParameter = {
+const struct types resolution_table_core__array__ArrayIterator__nitc__CodeWriter = {
 0, /* dummy */
 {
-&type_standard__Array__nit__MParameter, /* Array[E]: Array[MParameter] */
-&type_standard__AbstractArrayRead__nit__MParameter, /* AbstractArrayRead[E]: AbstractArrayRead[MParameter] */
+&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
+&type_core__AbstractArrayRead__nitc__CodeWriter, /* AbstractArrayRead[E]: AbstractArrayRead[CodeWriter] */
 }
 };
-/* runtime type Array[Scope] */
-const struct type type_standard__Array__nit__scope__Scope = {
-1338,
-"Array[Scope]", /* class_name_string */
-435,
+/* runtime type ArrayReverseIterator[CodeWriter] */
+const struct type type_core__array__ArrayReverseIterator__nitc__CodeWriter = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[CodeWriter]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_standard__Array__nit__scope__Scope,
-490,
+&resolution_table_core__array__ArrayReverseIterator__nitc__CodeWriter,
+11,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2919,28 +2864,71 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__CodeWriter = {
+0, /* dummy */
+{
+&type_core__Array__nitc__CodeWriter, /* Array[E]: Array[CodeWriter] */
+&type_core__AbstractArrayRead__nitc__CodeWriter, /* AbstractArrayRead[E]: AbstractArrayRead[CodeWriter] */
+}
+};
+/* runtime type HashSetIterator[String] */
+const struct type type_core__hash_collection__HashSetIterator__core__String = {
+-1, /*CAST DEAD*/
+"HashSetIterator[String]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashSetIterator__core__String,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
+2828, /* Iterator[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetIterator__core__String = {
+0, /* dummy */
+{
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__HashSet__core__String, /* HashSet[E]: HashSet[String] */
+}
+};
+/* runtime type HashSetNode[String] */
+const struct type type_core__hash_collection__HashSetNode__core__String = {
+1433,
+"HashSetNode[String]", /* class_name_string */
+40,
+0,
+&resolution_table_core__hash_collection__HashSetNode__core__String,
+48,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2757, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2776, /* nullable HashSetNode[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2958,11 +2946,12 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1270, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
-2367, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
+1433, /* HashSetNode[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2970,6 +2959,26 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetNode__core__String = {
+0, /* dummy */
+{
+NULL, /* empty */
+&type_core__String, /* K: String */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[String]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__String = {
+1434,
+"NativeArray[nullable HashSetNode[String]]", /* class_name_string */
+175,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__String,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3018,7 +3027,6 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3051,7 +3059,6 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3082,8 +3089,8 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2488, /* AbstractArrayRead[Scope] */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3126,6 +3133,7 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1271, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3144,6 +3152,7 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1434, /* NativeArray[nullable HashSetNode[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3172,7 +3181,6 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3195,6 +3203,26 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__String = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashSetNode__core__String, /* E: nullable HashSetNode[String] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__String, /* NativeArray[E]: NativeArray[nullable HashSetNode[String]] */
+}
+};
+/* runtime type HashMapKeys[MClass, Set[PropertyLayoutElement]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3203,9 +3231,9 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2712, /* AbstractArray[Scope] */
 -1, /* empty */
 -1, /* empty */
+2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3229,9 +3257,11 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3261,8 +3291,6 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3307,6 +3335,7 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3321,6 +3350,27 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMap[K, V]: HashMap[MClass, Set[PropertyLayoutElement]] */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+}
+};
+/* runtime type HashMapValues[MClass, Set[PropertyLayoutElement]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3329,7 +3379,6 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1338, /* Array[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3356,6 +3405,7 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3384,37 +3434,6 @@ const struct type type_standard__Array__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__scope__Scope = {
-0, /* dummy */
-{
-&type_nit__scope__Scope, /* E: Scope */
-&type_standard__Array__nit__scope__Scope, /* Array[E]: Array[Scope] */
-&type_standard__Collection__nit__scope__Scope, /* Collection[E]: Collection[Scope] */
-&type_standard__Array__nit__scope__Scope, /* Array[E]: Array[Scope] */
-&type_standard__NativeArray__nit__scope__Scope, /* NativeArray[E]: NativeArray[Scope] */
-&type_nit__scope__Scope, /* E: Scope */
-&type_standard__Collection__nit__scope__Scope, /* Collection[E]: Collection[Scope] */
-&type_nit__scope__Scope, /* E: Scope */
-&type_standard__Collection__nit__scope__Scope, /* Collection[E]: Collection[Scope] */
-&type_standard__Collection__nit__scope__Scope, /* Collection[E]: Collection[Scope] */
-&type_standard__Array__nit__scope__Scope, /* Array[E]: Array[Scope] */
-&type_standard__AbstractArray__nit__scope__Scope, /* AbstractArray[E]: AbstractArray[Scope] */
-&type_standard__array__ArrayIterator__nit__scope__Scope, /* ArrayIterator[E]: ArrayIterator[Scope] */
-}
-};
-/* runtime type ListNode[Scope] */
-const struct type type_standard__list__ListNode__nit__scope__Scope = {
-1339,
-"ListNode[Scope]", /* class_name_string */
-143,
-0,
-&resolution_table_standard__list__ListNode__nit__scope__Scope,
-144,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3449,8 +3468,8 @@ const struct type type_standard__list__ListNode__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
+2497, /* Collection[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3464,6 +3483,7 @@ const struct type type_standard__list__ListNode__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3478,8 +3498,28 @@ const struct type type_standard__list__ListNode__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMap[K, V]: HashMap[MClass, Set[PropertyLayoutElement]] */
+&type_core__Array__core__Set__nitc__PropertyLayoutElement, /* Array[E]: Array[Set[PropertyLayoutElement]] */
+&type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+}
+};
+/* runtime type HashMapIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
+79,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
-2367, /* Collection[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3512,6 +3552,7 @@ const struct type type_standard__list__ListNode__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2685, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3533,6 +3574,7 @@ const struct type type_standard__list__ListNode__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3542,66 +3584,39 @@ const struct type type_standard__list__ListNode__nit__scope__Scope = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2640, /* Container[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2629, /* nullable ListNode[Scope] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1339, /* ListNode[Scope] */
 },
 };
-const struct types resolution_table_standard__list__ListNode__nit__scope__Scope = {
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_nullable__standard__list__ListNode__nit__scope__Scope, /* nullable ListNode[E]: nullable ListNode[Scope] */
-&type_standard__Array__nit__scope__Scope, /* Array[E]: Array[Scope] */
-&type_standard__abstract_collection__ContainerIterator__nit__scope__Scope, /* ContainerIterator[E]: ContainerIterator[Scope] */
-&type_nit__scope__Scope, /* E: Scope */
+&type_core__HashMap__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* HashMap[K, V]: HashMap[MClass, Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type ListIterator[Scope] */
-const struct type type_standard__ListIterator__nit__scope__Scope = {
--1, /*CAST DEAD*/
-"ListIterator[Scope]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMapNode[MClass, Set[PropertyLayoutElement]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+1438,
+"HashMapNode[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+109,
 0,
-&resolution_table_standard__ListIterator__nit__scope__Scope,
-5,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
+152,
 {
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__ListIterator__nit__scope__Scope = {
-0, /* dummy */
-{
-&type_standard__Array__nit__scope__Scope, /* Array[E]: Array[Scope] */
-&type_standard__List__nit__scope__Scope, /* List[E]: List[Scope] */
-}
-};
-/* runtime type NativeArray[FlowContext] */
-const struct type type_standard__NativeArray__nit__FlowContext = {
-1341,
-"NativeArray[FlowContext]", /* class_name_string */
-32,
-0,
-&resolution_table_standard__NativeArray__nit__FlowContext,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3632,9 +3647,8 @@ const struct type type_standard__NativeArray__nit__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1341, /* NativeArray[FlowContext] */
+2777, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
-651, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3654,6 +3668,7 @@ const struct type type_standard__NativeArray__nit__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3707,6 +3722,7 @@ const struct type type_standard__NativeArray__nit__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1438, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3727,6 +3743,7 @@ const struct type type_standard__NativeArray__nit__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3748,6 +3765,26 @@ const struct type type_standard__NativeArray__nit__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__Set__nitc__PropertyLayoutElement, /* V: Set[PropertyLayoutElement] */
+&type_nitc__MClass, /* K: MClass */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+1439,
+"NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]]", /* class_name_string */
+176,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3819,76 +3856,14 @@ const struct type type_standard__NativeArray__nit__FlowContext = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__FlowContext = {
-0, /* dummy */
-{
-&type_nit__FlowContext, /* E: FlowContext */
-&type_standard__NativeArray__nit__FlowContext, /* NativeArray[E]: NativeArray[FlowContext] */
-}
-};
-/* runtime type ArrayIterator[FlowContext] */
-const struct type type_standard__array__ArrayIterator__nit__FlowContext = {
--1, /*CAST DEAD*/
-"ArrayIterator[FlowContext]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__FlowContext,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__FlowContext = {
-0, /* dummy */
-{
-&type_standard__Array__nit__FlowContext, /* Array[E]: Array[FlowContext] */
-&type_standard__AbstractArrayRead__nit__FlowContext, /* AbstractArrayRead[E]: AbstractArrayRead[FlowContext] */
-}
-};
-/* runtime type HashSetIterator[Variable] */
-const struct type type_standard__hash_collection__HashSetIterator__nit__Variable = {
--1, /*CAST DEAD*/
-"HashSetIterator[Variable]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashSetIterator__nit__Variable,
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetIterator__nit__Variable = {
-0, /* dummy */
-{
-&type_standard__Array__nit__Variable, /* Array[E]: Array[Variable] */
-&type_standard__HashSet__nit__Variable, /* HashSet[E]: HashSet[Variable] */
-}
-};
-/* runtime type NativeArray[nullable HashSetNode[Variable]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__Variable = {
-1344,
-"NativeArray[nullable HashSetNode[Variable]]", /* class_name_string */
-168,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__Variable,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3921,6 +3896,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3983,6 +3959,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1439, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4008,6 +3985,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4031,6 +4009,26 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* E: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__PropertyLayoutElement, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+}
+};
+/* runtime type HashMapKeys[MClass, Set[MAttribute]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MAttribute = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, Set[MAttribute]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MAttribute,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4038,10 +4036,10 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1211, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4055,7 +4053,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1344, /* NativeArray[nullable HashSetNode[Variable]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4066,6 +4063,11 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4106,26 +4108,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__Variable = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashSetNode__nit__Variable, /* E: nullable HashSetNode[Variable] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__Variable, /* NativeArray[E]: NativeArray[nullable HashSetNode[Variable]] */
-}
-};
-/* runtime type HashSetNode[Variable] */
-const struct type type_standard__hash_collection__HashSetNode__nit__Variable = {
-1345,
-"HashSetNode[Variable]", /* class_name_string */
-39,
-0,
-&resolution_table_standard__hash_collection__HashSetNode__nit__Variable,
-48,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4136,11 +4118,9 @@ const struct type type_standard__hash_collection__HashSetNode__nit__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2238, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2255, /* nullable HashSetNode[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4159,11 +4139,15 @@ const struct type type_standard__hash_collection__HashSetNode__nit__Variable = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1212, /* HashSetNode[Object] */
+-1, /* empty */
+-1, /* empty */
+2511, /* Collection[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1345, /* HashSetNode[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4174,24 +4158,27 @@ const struct type type_standard__hash_collection__HashSetNode__nit__Variable = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__hash_collection__HashSetNode__nit__Variable = {
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Set__nitc__MAttribute = {
 0, /* dummy */
 {
-NULL, /* empty */
-&type_nit__Variable, /* K: Variable */
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute, /* HashMap[K, V]: HashMap[MClass, Set[MAttribute]] */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__MapKeysIterator__nitc__MClass__core__Set__nitc__MAttribute, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[MAttribute]] */
 }
 };
-/* runtime type HashMapKeys[Variable, nullable MType] */
-const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nullable__nit__MType = {
+/* runtime type HashMapValues[MClass, Set[MAttribute]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MAttribute = {
 -1, /*CAST DEAD*/
-"HashMapKeys[Variable, nullable MType]", /* class_name_string */
+"HashMapValues[MClass, Set[MAttribute]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_standard__hash_collection__HashMapKeys__nit__Variable__nullable__nit__MType,
-124,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MAttribute,
+129,
 {
-80, /* Object */
-2622, /* nullable Object */
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4224,9 +4211,9 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4236,7 +4223,6 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2347, /* Collection[Variable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4277,6 +4263,7 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2485, /* Collection[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4288,6 +4275,8 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2497, /* Collection[Set[PropertyLayoutElement]] */
+2498, /* Collection[Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4300,6 +4289,7 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4316,27 +4306,25 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__Variable__nu
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__hash_collection__HashMapKeys__nit__Variable__nullable__nit__MType = {
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Set__nitc__MAttribute = {
 0, /* dummy */
 {
-&type_standard__HashMap__nit__Variable__nullable__nit__MType, /* HashMap[K, V]: HashMap[Variable, nullable MType] */
-&type_standard__Array__nit__Variable, /* Array[E]: Array[Variable] */
-&type_standard__MapKeysIterator__nit__Variable__nullable__nit__MType, /* MapKeysIterator[K, V]: MapKeysIterator[Variable, nullable MType] */
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute, /* HashMap[K, V]: HashMap[MClass, Set[MAttribute]] */
+&type_core__Array__core__Set__nitc__MAttribute, /* Array[E]: Array[Set[MAttribute]] */
+&type_core__MapValuesIterator__nitc__MClass__core__Set__nitc__MAttribute, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[MAttribute]] */
 }
 };
-/* runtime type HashMapValues[Variable, nullable MType] */
-const struct type type_standard__hash_collection__HashMapValues__nit__Variable__nullable__nit__MType = {
+/* runtime type HashMapIterator[MClass, Set[MAttribute]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MAttribute = {
 -1, /*CAST DEAD*/
-"HashMapValues[Variable, nullable MType]", /* class_name_string */
+"HashMapIterator[MClass, Set[MAttribute]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_standard__hash_collection__HashMapValues__nit__Variable__nullable__nit__MType,
-124,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MAttribute,
+79,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4350,6 +4338,7 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2665, /* MapIterator[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4369,6 +4358,8 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2685, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
+2686, /* MapIterator[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4381,11 +4372,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2349, /* Collection[nullable MType] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4394,6 +4380,7 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4415,6 +4402,25 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Set__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Set__nitc__MAttribute, /* HashMap[K, V]: HashMap[MClass, Set[MAttribute]] */
+}
+};
+/* runtime type HashMapNode[MClass, Set[MAttribute]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute = {
+1443,
+"HashMapNode[MClass, Set[MAttribute]]", /* class_name_string */
+110,
+0,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute,
+152,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4428,6 +4434,7 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2746, /* nullable HashMapNode[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4446,6 +4453,8 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2777, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+2778, /* nullable HashMapNode[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4457,27 +4466,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__Variable__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapValues__nit__Variable__nullable__nit__MType = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__Variable__nullable__nit__MType, /* HashMap[K, V]: HashMap[Variable, nullable MType] */
-&type_standard__Array__nullable__nit__MType, /* Array[E]: Array[nullable MType] */
-&type_standard__MapValuesIterator__nit__Variable__nullable__nit__MType, /* MapValuesIterator[K, V]: MapValuesIterator[Variable, nullable MType] */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[Variable, nullable MType]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType = {
-1348,
-"NativeArray[nullable HashMapNode[Variable, nullable MType]]", /* class_name_string */
-169,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4486,6 +4474,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4520,6 +4509,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1199, /* HashMapNode[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4538,6 +4528,8 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1438, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
+1443, /* HashMapNode[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4557,6 +4549,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4578,6 +4571,26 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_core__Set__nitc__MAttribute, /* V: Set[MAttribute] */
+&type_nitc__MClass, /* K: MClass */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute = {
+1444,
+"NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]]", /* class_name_string */
+177,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4645,7 +4658,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1348, /* NativeArray[nullable HashMapNode[Variable, nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4690,31 +4702,12 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType, /* E: nullable HashMapNode[Variable, nullable MType] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType, /* NativeArray[E]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
-}
-};
-/* runtime type HashMapIterator[Variable, nullable MType] */
-const struct type type_standard__HashMapIterator__nit__Variable__nullable__nit__MType = {
--1, /*CAST DEAD*/
-"HashMapIterator[Variable, nullable MType]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__HashMapIterator__nit__Variable__nullable__nit__MType,
-77,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4741,13 +4734,13 @@ const struct type type_standard__HashMapIterator__nit__Variable__nullable__nit__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1200, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2578, /* MapIterator[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4772,6 +4765,8 @@ const struct type type_standard__HashMapIterator__nit__Variable__nullable__nit__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1439, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+1444, /* NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4790,31 +4785,13 @@ const struct type type_standard__HashMapIterator__nit__Variable__nullable__nit__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMapIterator__nit__Variable__nullable__nit__MType = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__Variable__nullable__nit__MType, /* HashMap[K, V]: HashMap[Variable, nullable MType] */
-}
-};
-/* runtime type HashMapNode[Variable, nullable MType] */
-const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType = {
-1350,
-"HashMapNode[Variable, nullable MType]", /* class_name_string */
-106,
-0,
-&resolution_table_standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType,
-148,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4838,9 +4815,28 @@ const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* E: nullable HashMapNode[MClass, Set[MAttribute]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Set__nitc__MAttribute, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+}
+};
+/* runtime type NativeArray[PropertyLayoutElement] */
+const struct type type_core__NativeArray__nitc__PropertyLayoutElement = {
+1445,
+"NativeArray[PropertyLayoutElement]", /* class_name_string */
+35,
+0,
+&resolution_table_core__NativeArray__nitc__PropertyLayoutElement,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-2256, /* nullable HashMapNode[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4870,7 +4866,9 @@ const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+229, /* NativeArray[Object] */
 -1, /* empty */
+1445, /* NativeArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4903,6 +4901,7 @@ const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1815, /* NativeArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4913,7 +4912,6 @@ const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1350, /* HashMapNode[Variable, nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4948,6 +4946,7 @@ const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4955,26 +4954,6 @@ const struct type type_standard__hash_collection__HashMapNode__nit__Variable__nu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapNode__nit__Variable__nullable__nit__MType = {
-0, /* dummy */
-{
-&type_nullable__nit__MType, /* V: nullable MType */
-&type_nit__Variable, /* K: Variable */
-}
-};
-/* runtime type NativeArray[CallSite] */
-const struct type type_standard__NativeArray__nit__CallSite = {
-1351,
-"NativeArray[CallSite]", /* class_name_string */
-33,
-0,
-&resolution_table_standard__NativeArray__nit__CallSite,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5006,8 +4985,6 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1351, /* NativeArray[CallSite] */
-651, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5082,6 +5059,27 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_nitc__PropertyLayoutElement, /* E: PropertyLayoutElement */
+&type_core__NativeArray__nitc__PropertyLayoutElement, /* NativeArray[E]: NativeArray[PropertyLayoutElement] */
+}
+};
+/* runtime type ArrayIterator[PropertyLayoutElement] */
+const struct type type_core__array__ArrayIterator__nitc__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"ArrayIterator[PropertyLayoutElement]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayIterator__nitc__PropertyLayoutElement,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5090,6 +5088,27 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__AbstractArrayRead__nitc__PropertyLayoutElement, /* AbstractArrayRead[E]: AbstractArrayRead[PropertyLayoutElement] */
+}
+};
+/* runtime type ArrayReverseIterator[PropertyLayoutElement] */
+const struct type type_core__array__ArrayReverseIterator__nitc__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[PropertyLayoutElement]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayReverseIterator__nitc__PropertyLayoutElement,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5098,6 +5117,27 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__AbstractArrayRead__nitc__PropertyLayoutElement, /* AbstractArrayRead[E]: AbstractArrayRead[PropertyLayoutElement] */
+}
+};
+/* runtime type HashSetIterator[PropertyLayoutElement] */
+const struct type type_core__hash_collection__HashSetIterator__nitc__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"HashSetIterator[PropertyLayoutElement]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashSetIterator__nitc__PropertyLayoutElement,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5106,6 +5146,26 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetIterator__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_core__Array__nitc__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_core__HashSet__nitc__PropertyLayoutElement, /* HashSet[E]: HashSet[PropertyLayoutElement] */
+}
+};
+/* runtime type HashSetNode[PropertyLayoutElement] */
+const struct type type_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement = {
+1449,
+"HashSetNode[PropertyLayoutElement]", /* class_name_string */
+41,
+0,
+&resolution_table_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement,
+48,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5116,11 +5176,13 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2757, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2779, /* nullable HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5137,17 +5199,39 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1270, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1449, /* HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetNode__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+NULL, /* empty */
+&type_nitc__PropertyLayoutElement, /* K: PropertyLayoutElement */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement = {
+1450,
+"NativeArray[nullable HashSetNode[PropertyLayoutElement]]", /* class_name_string */
+178,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5192,80 +5276,18 @@ const struct type type_standard__NativeArray__nit__CallSite = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__CallSite = {
-0, /* dummy */
-{
-&type_nit__CallSite, /* E: CallSite */
-&type_standard__NativeArray__nit__CallSite, /* NativeArray[E]: NativeArray[CallSite] */
-}
-};
-/* runtime type ArrayIterator[CallSite] */
-const struct type type_standard__array__ArrayIterator__nit__CallSite = {
--1, /*CAST DEAD*/
-"ArrayIterator[CallSite]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__CallSite,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__CallSite = {
-0, /* dummy */
-{
-&type_standard__Array__nit__CallSite, /* Array[E]: Array[CallSite] */
-&type_standard__AbstractArrayRead__nit__CallSite, /* AbstractArrayRead[E]: AbstractArrayRead[CallSite] */
-}
-};
-/* runtime type ArrayIterator[Object] */
-const struct type type_standard__array__ArrayIterator__standard__Object = {
--1, /*CAST DEAD*/
-"ArrayIterator[Object]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__standard__Object,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__standard__Object = {
-0, /* dummy */
-{
-&type_standard__Array__standard__Object, /* Array[E]: Array[Object] */
-&type_standard__AbstractArrayRead__standard__Object, /* AbstractArrayRead[E]: AbstractArrayRead[Object] */
-}
-};
-/* runtime type NativeArray[CodeWriter] */
-const struct type type_standard__NativeArray__nit__CodeWriter = {
-1354,
-"NativeArray[CodeWriter]", /* class_name_string */
-35,
-0,
-&resolution_table_standard__NativeArray__nit__CodeWriter,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5298,8 +5320,6 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-651, /* NativeArray[Object] */
-1354, /* NativeArray[CodeWriter] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5323,6 +5343,7 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5365,6 +5386,7 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1271, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5386,6 +5408,7 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1450, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5433,6 +5456,26 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* E: nullable HashSetNode[PropertyLayoutElement] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__PropertyLayoutElement, /* NativeArray[E]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+}
+};
+/* runtime type Array[MAttribute] */
+const struct type type_core__Array__nitc__MAttribute = {
+1451,
+"Array[MAttribute]", /* class_name_string */
+453,
+0,
+&resolution_table_core__Array__nitc__MAttribute,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5444,6 +5487,7 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2410, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5466,7 +5510,9 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
+2435, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5483,81 +5529,22 @@ const struct type type_standard__NativeArray__nit__CodeWriter = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__CodeWriter = {
-0, /* dummy */
-{
-&type_nit__CodeWriter, /* E: CodeWriter */
-&type_standard__NativeArray__nit__CodeWriter, /* NativeArray[E]: NativeArray[CodeWriter] */
-}
-};
-/* runtime type ArrayIterator[CodeWriter] */
-const struct type type_standard__array__ArrayIterator__nit__CodeWriter = {
--1, /*CAST DEAD*/
-"ArrayIterator[CodeWriter]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__CodeWriter,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__CodeWriter = {
-0, /* dummy */
-{
-&type_standard__Array__nit__CodeWriter, /* Array[E]: Array[CodeWriter] */
-&type_standard__AbstractArrayRead__nit__CodeWriter, /* AbstractArrayRead[E]: AbstractArrayRead[CodeWriter] */
-}
-};
-/* runtime type HashSetIterator[String] */
-const struct type type_standard__hash_collection__HashSetIterator__standard__String = {
--1, /*CAST DEAD*/
-"HashSetIterator[String]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashSetIterator__standard__String,
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetIterator__standard__String = {
-0, /* dummy */
-{
-&type_standard__Array__standard__String, /* Array[E]: Array[String] */
-&type_standard__HashSet__standard__String, /* HashSet[E]: HashSet[String] */
-}
-};
-/* runtime type NativeArray[nullable HashSetNode[String]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__String = {
-1357,
-"NativeArray[nullable HashSetNode[String]]", /* class_name_string */
-170,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__String,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2465, /* Collection[MAttribute] */
+2466, /* Collection[nullable PropertyLayoutElement] */
+2467, /* Collection[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5601,12 +5588,14 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5614,6 +5603,8 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5623,6 +5614,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2534, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5645,7 +5637,9 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
+2559, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5677,6 +5671,9 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2591, /* AbstractArrayRead[MAttribute] */
+2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
+2593, /* AbstractArrayRead[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5702,7 +5699,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1211, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5721,13 +5717,14 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* NativeArray[nullable HashSetNode[String]] */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2644, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5743,6 +5740,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2858, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5765,31 +5763,13 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2881, /* AbstractArray[Object] */
 -1, /* empty */
+2883, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__String = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashSetNode__standard__String, /* E: nullable HashSetNode[String] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__String, /* NativeArray[E]: NativeArray[nullable HashSetNode[String]] */
-}
-};
-/* runtime type HashSetNode[String] */
-const struct type type_standard__hash_collection__HashSetNode__standard__String = {
-1358,
-"HashSetNode[String]", /* class_name_string */
-40,
-0,
-&resolution_table_standard__hash_collection__HashSetNode__standard__String,
-48,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5800,12 +5780,10 @@ const struct type type_standard__hash_collection__HashSetNode__standard__String
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2238, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2257, /* nullable HashSetNode[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5819,16 +5797,17 @@ const struct type type_standard__hash_collection__HashSetNode__standard__String
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2915, /* AbstractArray[MAttribute] */
+2916, /* AbstractArray[nullable PropertyLayoutElement] */
+2917, /* AbstractArray[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1212, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashSetNode[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5836,26 +5815,6 @@ const struct type type_standard__hash_collection__HashSetNode__standard__String
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetNode__standard__String = {
-0, /* dummy */
-{
-NULL, /* empty */
-&type_standard__String, /* K: String */
-}
-};
-/* runtime type HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"HashMapKeys[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__PropertyLayoutElement,
-124,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5866,7 +5825,6 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2313, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5885,21 +5843,22 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
+2968, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
-2341, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5911,8 +5870,10 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+64, /* Array[MProperty] */
 -1, /* empty */
 -1, /* empty */
+2119, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5939,6 +5900,7 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+236, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5965,6 +5927,12 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1451, /* Array[MAttribute] */
+1457, /* Array[nullable PropertyLayoutElement] */
+1462, /* Array[nullable MAttribute] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5978,27 +5946,6 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* HashMap[K, V]: HashMap[MClass, Set[PropertyLayoutElement]] */
-&type_standard__Array__nit__MClass, /* Array[E]: Array[MClass] */
-&type_standard__MapKeysIterator__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-}
-};
-/* runtime type HashMapValues[MClass, Set[PropertyLayoutElement]] */
-const struct type type_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"HashMapValues[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__PropertyLayoutElement,
-124,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6033,12 +5980,72 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_nitc__MAttribute, /* E: MAttribute */
+&type_core__Array__nitc__MAttribute, /* Array[E]: Array[MAttribute] */
+&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
+&type_core__Array__nitc__MAttribute, /* Array[E]: Array[MAttribute] */
+&type_core__AbstractArray__nitc__MAttribute, /* AbstractArray[E]: AbstractArray[MAttribute] */
+&type_core__NativeArray__nitc__MAttribute, /* NativeArray[E]: NativeArray[MAttribute] */
+&type_nitc__MAttribute, /* E: MAttribute */
+&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
+&type_nitc__MAttribute, /* E: MAttribute */
+&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
+&type_core__Collection__nitc__MAttribute, /* Collection[E]: Collection[MAttribute] */
+&type_core__Array__nitc__MAttribute, /* Array[E]: Array[MAttribute] */
+&type_core__AbstractArray__nitc__MAttribute, /* AbstractArray[E]: AbstractArray[MAttribute] */
+&type_core__array__ArrayIterator__nitc__MAttribute, /* ArrayIterator[E]: ArrayIterator[MAttribute] */
+&type_core__array__ArrayReverseIterator__nitc__MAttribute, /* ArrayReverseIterator[E]: ArrayReverseIterator[MAttribute] */
+}
+};
+/* runtime type HashSetIterator[MAttribute] */
+const struct type type_core__hash_collection__HashSetIterator__nitc__MAttribute = {
+-1, /*CAST DEAD*/
+"HashSetIterator[MAttribute]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashSetIterator__nitc__MAttribute,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
+-1, /* empty */
+-1, /* empty */
+2829, /* Iterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetIterator__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_core__Array__nitc__MAttribute, /* Array[E]: Array[MAttribute] */
+&type_core__HashSet__nitc__MAttribute, /* HashSet[E]: HashSet[MAttribute] */
+}
+};
+/* runtime type HashSetNode[MAttribute] */
+const struct type type_core__hash_collection__HashSetNode__nitc__MAttribute = {
+1453,
+"HashSetNode[MAttribute]", /* class_name_string */
+42,
+0,
+&resolution_table_core__hash_collection__HashSetNode__nitc__MAttribute,
+48,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6049,12 +6056,16 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2757, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2779, /* nullable HashSetNode[PropertyLayoutElement] */
+2780, /* nullable HashSetNode[MAttribute] */
 -1, /* empty */
+2783, /* nullable HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6068,15 +6079,39 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1270, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1449, /* HashSetNode[PropertyLayoutElement] */
+1453, /* HashSetNode[MAttribute] */
 -1, /* empty */
+1480, /* HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetNode__nitc__MAttribute = {
+0, /* dummy */
+{
+NULL, /* empty */
+&type_nitc__MAttribute, /* K: MAttribute */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[MAttribute]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MAttribute = {
+1454,
+"NativeArray[nullable HashSetNode[MAttribute]]", /* class_name_string */
+179,
+0,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MAttribute,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6093,7 +6128,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2397, /* Collection[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6121,27 +6155,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* HashMap[K, V]: HashMap[MClass, Set[PropertyLayoutElement]] */
-&type_standard__Array__standard__Set__nit__PropertyLayoutElement, /* Array[E]: Array[Set[PropertyLayoutElement]] */
-&type_standard__MapValuesIterator__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-1361,
-"NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]]", /* class_name_string */
-171,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6210,6 +6223,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6252,6 +6266,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1271, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6273,8 +6288,11 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1450, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+1454, /* NativeArray[nullable HashSetNode[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
+1481, /* NativeArray[nullable HashSetNode[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6311,7 +6329,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1361, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6319,6 +6336,27 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_nullable__core__hash_collection__HashSetNode__nitc__MAttribute, /* E: nullable HashSetNode[MAttribute] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__MAttribute, /* NativeArray[E]: NativeArray[nullable HashSetNode[MAttribute]] */
+}
+};
+/* runtime type HashMap[PropertyLayoutElement, Int] */
+const struct type type_core__HashMap__nitc__PropertyLayoutElement__core__Int = {
+1455,
+"HashMap[PropertyLayoutElement, Int]", /* class_name_string */
+66,
+0,
+&resolution_table_core__HashMap__nitc__PropertyLayoutElement__core__Int,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6359,26 +6397,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* E: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-}
-};
-/* runtime type HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"HashMapIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__HashMapIterator__nit__MClass__standard__Set__nit__PropertyLayoutElement,
-77,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6399,8 +6417,10 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1455, /* HashMap[PropertyLayoutElement, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6412,7 +6432,6 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2579, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6420,6 +6439,38 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__PropertyLayoutElement__core__Int = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__PropertyLayoutElement__core__Int, /* HashMapIterator[K, V]: HashMapIterator[PropertyLayoutElement, Int] */
+&type_nitc__PropertyLayoutElement, /* K: PropertyLayoutElement */
+&type_core__Int, /* V: Int */
+&type_core__hash_collection__HashMapNode__nitc__PropertyLayoutElement__core__Int, /* HashMapNode[K, V]: HashMapNode[PropertyLayoutElement, Int] */
+&type_core__hash_collection__HashMapKeys__nitc__PropertyLayoutElement__core__Int, /* HashMapKeys[K, V]: HashMapKeys[PropertyLayoutElement, Int] */
+&type_core__hash_collection__HashMapValues__nitc__PropertyLayoutElement__core__Int, /* HashMapValues[K, V]: HashMapValues[PropertyLayoutElement, Int] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__PropertyLayoutElement__core__Int, /* nullable N: nullable HashMapNode[PropertyLayoutElement, Int] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__PropertyLayoutElement__core__Int, /* N: HashMapNode[PropertyLayoutElement, Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__PropertyLayoutElement__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+}
+};
+/* runtime type HashMap[MClass, HashSet[Int]] */
+const struct type type_core__HashMap__nitc__MClass__core__HashSet__core__Int = {
+1456,
+"HashMap[MClass, HashSet[Int]]", /* class_name_string */
+67,
+0,
+&resolution_table_core__HashMap__nitc__MClass__core__HashSet__core__Int,
+85,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6454,25 +6505,6 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMapIterator__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MClass__standard__Set__nit__PropertyLayoutElement, /* HashMap[K, V]: HashMap[MClass, Set[PropertyLayoutElement]] */
-}
-};
-/* runtime type HashMapNode[MClass, Set[PropertyLayoutElement]] */
-const struct type type_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-1363,
-"HashMapNode[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
-107,
-0,
-&resolution_table_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement,
-148,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6499,13 +6531,14 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1456, /* HashMap[MClass, HashSet[Int]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2258, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6520,6 +6553,37 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MClass__core__HashSet__core__Int = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__core__HashSet__core__Int, /* HashMapIterator[K, V]: HashMapIterator[MClass, HashSet[Int]] */
+&type_nitc__MClass, /* K: MClass */
+&type_core__HashSet__core__Int, /* V: HashSet[Int] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__HashSet__core__Int, /* HashMapNode[K, V]: HashMapNode[MClass, HashSet[Int]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__core__HashSet__core__Int, /* HashMapKeys[K, V]: HashMapKeys[MClass, HashSet[Int]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__core__HashSet__core__Int, /* HashMapValues[K, V]: HashMapValues[MClass, HashSet[Int]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__HashSet__core__Int, /* nullable N: nullable HashMapNode[MClass, HashSet[Int]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MClass__core__HashSet__core__Int, /* N: HashMapNode[MClass, HashSet[Int]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__HashSet__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, HashSet[Int]]] */
+}
+};
+/* runtime type Array[nullable PropertyLayoutElement] */
+const struct type type_core__Array__nullable__nitc__PropertyLayoutElement = {
+1457,
+"Array[nullable PropertyLayoutElement]", /* class_name_string */
+454,
+0,
+&resolution_table_core__Array__nullable__nitc__PropertyLayoutElement,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6578,7 +6642,6 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1363, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6588,6 +6651,7 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6619,26 +6683,6 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_standard__Set__nit__PropertyLayoutElement, /* V: Set[PropertyLayoutElement] */
-&type_nit__MClass, /* K: MClass */
-}
-};
-/* runtime type HashMapKeys[MClass, Set[MAttribute]] */
-const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__MAttribute = {
--1, /*CAST DEAD*/
-"HashMapKeys[MClass, Set[MAttribute]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__MAttribute,
-124,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6649,10 +6693,10 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2313, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6667,17 +6711,17 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2341, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6736,6 +6780,7 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6761,27 +6806,6 @@ const struct type type_standard__hash_collection__HashMapKeys__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapKeys__nit__MClass__standard__Set__nit__MAttribute = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MClass__standard__Set__nit__MAttribute, /* HashMap[K, V]: HashMap[MClass, Set[MAttribute]] */
-&type_standard__Array__nit__MClass, /* Array[E]: Array[MClass] */
-&type_standard__MapKeysIterator__nit__MClass__standard__Set__nit__MAttribute, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[MAttribute]] */
-}
-};
-/* runtime type HashMapValues[MClass, Set[MAttribute]] */
-const struct type type_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__MAttribute = {
--1, /*CAST DEAD*/
-"HashMapValues[MClass, Set[MAttribute]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__MAttribute,
-124,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6801,6 +6825,7 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6816,7 +6841,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6864,7 +6888,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2385, /* Collection[Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6876,8 +6899,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2397, /* Collection[Set[PropertyLayoutElement]] */
-2398, /* Collection[Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6885,6 +6906,7 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2916, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6904,27 +6926,6 @@ const struct type type_standard__hash_collection__HashMapValues__nit__MClass__st
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashMapValues__nit__MClass__standard__Set__nit__MAttribute = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MClass__standard__Set__nit__MAttribute, /* HashMap[K, V]: HashMap[MClass, Set[MAttribute]] */
-&type_standard__Array__standard__Set__nit__MAttribute, /* Array[E]: Array[Set[MAttribute]] */
-&type_standard__MapValuesIterator__nit__MClass__standard__Set__nit__MAttribute, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[MAttribute]] */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute = {
-1366,
-"NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]]", /* class_name_string */
-172,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6950,6 +6951,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7034,6 +7036,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1457, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7063,7 +7066,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1145, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7090,16 +7092,68 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nullable__nitc__PropertyLayoutElement = {
+0, /* dummy */
+{
+&type_nullable__nitc__PropertyLayoutElement, /* E: nullable PropertyLayoutElement */
+&type_core__Array__nullable__nitc__PropertyLayoutElement, /* Array[E]: Array[nullable PropertyLayoutElement] */
+&type_core__Collection__nullable__nitc__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
+&type_core__Array__nullable__nitc__PropertyLayoutElement, /* Array[E]: Array[nullable PropertyLayoutElement] */
+&type_core__AbstractArray__nullable__nitc__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[nullable PropertyLayoutElement] */
+&type_core__NativeArray__nullable__nitc__PropertyLayoutElement, /* NativeArray[E]: NativeArray[nullable PropertyLayoutElement] */
+&type_nullable__nitc__PropertyLayoutElement, /* E: nullable PropertyLayoutElement */
+&type_core__Collection__nullable__nitc__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
+&type_nullable__nitc__PropertyLayoutElement, /* E: nullable PropertyLayoutElement */
+&type_core__Collection__nullable__nitc__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
+&type_core__Collection__nullable__nitc__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
+&type_core__Array__nullable__nitc__PropertyLayoutElement, /* Array[E]: Array[nullable PropertyLayoutElement] */
+&type_core__AbstractArray__nullable__nitc__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[nullable PropertyLayoutElement] */
+&type_core__array__ArrayIterator__nullable__nitc__PropertyLayoutElement, /* ArrayIterator[E]: ArrayIterator[nullable PropertyLayoutElement] */
+&type_core__array__ArrayReverseIterator__nullable__nitc__PropertyLayoutElement, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable PropertyLayoutElement] */
+}
+};
+/* runtime type HashSetIterator[Int] */
+const struct type type_core__hash_collection__HashSetIterator__core__Int = {
+-1, /*CAST DEAD*/
+"HashSetIterator[Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashSetIterator__core__Int,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1361, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-1366, /* NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashSetIterator__core__Int = {
+0, /* dummy */
+{
+&type_core__Array__core__Int, /* Array[E]: Array[Int] */
+&type_core__HashSet__core__Int, /* HashSet[E]: HashSet[Int] */
+}
+};
+/* runtime type HashSetNode[Int] */
+const struct type type_core__hash_collection__HashSetNode__core__Int = {
+1459,
+"HashSetNode[Int]", /* class_name_string */
+43,
+0,
+&resolution_table_core__hash_collection__HashSetNode__core__Int,
+48,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7110,6 +7164,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2757, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7117,6 +7172,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2781, /* nullable HashSetNode[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7131,6 +7187,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1270, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7138,30 +7195,36 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1459, /* HashSetNode[Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute = {
+const struct types resolution_table_core__hash_collection__HashSetNode__core__Int = {
 0, /* dummy */
 {
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute, /* E: nullable HashMapNode[MClass, Set[MAttribute]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+NULL, /* empty */
+&type_core__Int, /* K: Int */
 }
 };
-/* runtime type HashMapIterator[MClass, Set[MAttribute]] */
-const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__nit__MAttribute = {
--1, /*CAST DEAD*/
-"HashMapIterator[MClass, Set[MAttribute]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[nullable HashSetNode[Int]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Int = {
+1460,
+"NativeArray[nullable HashSetNode[Int]]", /* class_name_string */
+180,
 0,
-&resolution_table_standard__HashMapIterator__nit__MClass__standard__Set__nit__MAttribute,
-77,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Int,
+226,
 {
-80, /* Object */
-2622, /* nullable Object */
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7175,7 +7238,6 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2559, /* MapIterator[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7195,8 +7257,6 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2579, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
-2580, /* MapIterator[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7237,25 +7297,6 @@ const struct type type_standard__HashMapIterator__nit__MClass__standard__Set__ni
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__HashMapIterator__nit__MClass__standard__Set__nit__MAttribute = {
-0, /* dummy */
-{
-&type_standard__HashMap__nit__MClass__standard__Set__nit__MAttribute, /* HashMap[K, V]: HashMap[MClass, Set[MAttribute]] */
-}
-};
-/* runtime type HashMapNode[MClass, Set[MAttribute]] */
-const struct type type_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute = {
-1368,
-"HashMapNode[MClass, Set[MAttribute]]", /* class_name_string */
-108,
-0,
-&resolution_table_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute,
-148,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7269,7 +7310,6 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2227, /* nullable HashMapNode[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7288,11 +7328,10 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2258, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-2259, /* nullable HashMapNode[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7335,6 +7374,7 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1271, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7342,7 +7382,6 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1147, /* HashMapNode[MClass, Set[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7359,10 +7398,13 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1460, /* NativeArray[nullable HashSetNode[Int]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1363, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
-1368, /* HashMapNode[MClass, Set[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7404,24 +7446,25 @@ const struct type type_standard__hash_collection__HashMapNode__nit__MClass__stan
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__hash_collection__HashMapNode__nit__MClass__standard__Set__nit__MAttribute = {
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Int = {
 0, /* dummy */
 {
-&type_standard__Set__nit__MAttribute, /* V: Set[MAttribute] */
-&type_nit__MClass, /* K: MClass */
+&type_nullable__core__hash_collection__HashSetNode__core__Int, /* E: nullable HashSetNode[Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashSetNode__core__Int, /* NativeArray[E]: NativeArray[nullable HashSetNode[Int]] */
 }
 };
-/* runtime type NativeArray[PropertyLayoutElement] */
-const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
-1369,
-"NativeArray[PropertyLayoutElement]", /* class_name_string */
-36,
+/* runtime type HashMap[MAttribute, Int] */
+const struct type type_core__HashMap__nitc__MAttribute__core__Int = {
+1461,
+"HashMap[MAttribute, Int]", /* class_name_string */
+68,
 0,
-&resolution_table_standard__NativeArray__nit__PropertyLayoutElement,
-219,
+&resolution_table_core__HashMap__nitc__MAttribute__core__Int,
+85,
 {
-80, /* Object */
-2622, /* nullable Object */
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7454,9 +7497,7 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-651, /* NativeArray[Object] */
 -1, /* empty */
-1369, /* NativeArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7484,10 +7525,12 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
+1455, /* HashMap[PropertyLayoutElement, Int] */
 -1, /* empty */
-1690, /* NativeArray[nullable PropertyLayoutElement] */
+1461, /* HashMap[MAttribute, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7504,6 +7547,37 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__nitc__MAttribute__core__Int = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__nitc__MAttribute__core__Int, /* HashMapIterator[K, V]: HashMapIterator[MAttribute, Int] */
+&type_nitc__MAttribute, /* K: MAttribute */
+&type_core__Int, /* V: Int */
+&type_core__hash_collection__HashMapNode__nitc__MAttribute__core__Int, /* HashMapNode[K, V]: HashMapNode[MAttribute, Int] */
+&type_core__hash_collection__HashMapKeys__nitc__MAttribute__core__Int, /* HashMapKeys[K, V]: HashMapKeys[MAttribute, Int] */
+&type_core__hash_collection__HashMapValues__nitc__MAttribute__core__Int, /* HashMapValues[K, V]: HashMapValues[MAttribute, Int] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MAttribute__core__Int, /* nullable N: nullable HashMapNode[MAttribute, Int] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MAttribute__core__Int, /* N: HashMapNode[MAttribute, Int] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MAttribute__core__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MAttribute, Int]] */
+}
+};
+/* runtime type Array[nullable MAttribute] */
+const struct type type_core__Array__nullable__nitc__MAttribute = {
+1462,
+"Array[nullable MAttribute]", /* class_name_string */
+455,
+0,
+&resolution_table_core__Array__nullable__nitc__MAttribute,
+510,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7571,6 +7645,8 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2466, /* Collection[nullable PropertyLayoutElement] */
+2467, /* Collection[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7614,12 +7690,14 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7627,6 +7705,8 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2015, /* Array[nullable Object] */
+2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7639,76 +7719,14 @@ const struct type type_standard__NativeArray__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_nit__PropertyLayoutElement, /* E: PropertyLayoutElement */
-&type_standard__NativeArray__nit__PropertyLayoutElement, /* NativeArray[E]: NativeArray[PropertyLayoutElement] */
-}
-};
-/* runtime type ArrayIterator[PropertyLayoutElement] */
-const struct type type_standard__array__ArrayIterator__nit__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"ArrayIterator[PropertyLayoutElement]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__array__ArrayIterator__nit__PropertyLayoutElement,
-9,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__array__ArrayIterator__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_standard__Array__nit__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
-&type_standard__AbstractArrayRead__nit__PropertyLayoutElement, /* AbstractArrayRead[E]: AbstractArrayRead[PropertyLayoutElement] */
-}
-};
-/* runtime type HashSetIterator[PropertyLayoutElement] */
-const struct type type_standard__hash_collection__HashSetIterator__nit__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"HashSetIterator[PropertyLayoutElement]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashSetIterator__nit__PropertyLayoutElement,
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetIterator__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_standard__Array__nit__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
-&type_standard__HashSet__nit__PropertyLayoutElement, /* HashSet[E]: HashSet[PropertyLayoutElement] */
-}
-};
-/* runtime type NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__PropertyLayoutElement = {
-1372,
-"NativeArray[nullable HashSetNode[PropertyLayoutElement]]", /* class_name_string */
-173,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__PropertyLayoutElement,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7756,6 +7774,8 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
+2593, /* AbstractArrayRead[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7799,12 +7819,14 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2644, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7858,7 +7880,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1211, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7879,8 +7900,9 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2916, /* AbstractArray[nullable PropertyLayoutElement] */
+2917, /* AbstractArray[nullable MAttribute] */
 -1, /* empty */
-1372, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7923,32 +7945,14 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashSetNode__nit__PropertyLayoutElement, /* E: nullable HashSetNode[PropertyLayoutElement] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__PropertyLayoutElement, /* NativeArray[E]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-}
-};
-/* runtime type HashSetNode[PropertyLayoutElement] */
-const struct type type_standard__hash_collection__HashSetNode__nit__PropertyLayoutElement = {
-1373,
-"HashSetNode[PropertyLayoutElement]", /* class_name_string */
-41,
-0,
-&resolution_table_standard__hash_collection__HashSetNode__nit__PropertyLayoutElement,
-48,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2968, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7956,13 +7960,22 @@ const struct type type_standard__hash_collection__HashSetNode__nit__PropertyLayo
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2238, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2260, /* nullable HashSetNode[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2119, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7979,39 +7992,17 @@ const struct type type_standard__hash_collection__HashSetNode__nit__PropertyLayo
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1212, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1373, /* HashSetNode[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetNode__nit__PropertyLayoutElement = {
-0, /* dummy */
-{
-NULL, /* empty */
-&type_nit__PropertyLayoutElement, /* K: PropertyLayoutElement */
-}
-};
-/* runtime type Array[MAttribute] */
-const struct type type_standard__Array__nit__MAttribute = {
-1374,
-"Array[MAttribute]", /* class_name_string */
-436,
-0,
-&resolution_table_standard__Array__nit__MAttribute,
-490,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8023,7 +8014,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2314, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8040,15 +8030,15 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1457, /* Array[nullable PropertyLayoutElement] */
+1462, /* Array[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2337, /* Collection[Object] */
 -1, /* empty */
-2339, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8077,9 +8067,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2368, /* Collection[MAttribute] */
-2369, /* Collection[nullable PropertyLayoutElement] */
-2370, /* Collection[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8099,6 +8086,42 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nullable__nitc__MAttribute = {
+0, /* dummy */
+{
+&type_nullable__nitc__MAttribute, /* E: nullable MAttribute */
+&type_core__Array__nullable__nitc__MAttribute, /* Array[E]: Array[nullable MAttribute] */
+&type_core__Collection__nullable__nitc__MAttribute, /* Collection[E]: Collection[nullable MAttribute] */
+&type_core__Array__nullable__nitc__MAttribute, /* Array[E]: Array[nullable MAttribute] */
+&type_core__AbstractArray__nullable__nitc__MAttribute, /* AbstractArray[E]: AbstractArray[nullable MAttribute] */
+&type_core__NativeArray__nullable__nitc__MAttribute, /* NativeArray[E]: NativeArray[nullable MAttribute] */
+&type_nullable__nitc__MAttribute, /* E: nullable MAttribute */
+&type_core__Collection__nullable__nitc__MAttribute, /* Collection[E]: Collection[nullable MAttribute] */
+&type_nullable__nitc__MAttribute, /* E: nullable MAttribute */
+&type_core__Collection__nullable__nitc__MAttribute, /* Collection[E]: Collection[nullable MAttribute] */
+&type_core__Collection__nullable__nitc__MAttribute, /* Collection[E]: Collection[nullable MAttribute] */
+&type_core__Array__nullable__nitc__MAttribute, /* Array[E]: Array[nullable MAttribute] */
+&type_core__AbstractArray__nullable__nitc__MAttribute, /* AbstractArray[E]: AbstractArray[nullable MAttribute] */
+&type_core__array__ArrayIterator__nullable__nitc__MAttribute, /* ArrayIterator[E]: ArrayIterator[nullable MAttribute] */
+&type_core__array__ArrayReverseIterator__nullable__nitc__MAttribute, /* ArrayReverseIterator[E]: ArrayReverseIterator[nullable MAttribute] */
+}
+};
+/* runtime type NativeArray[nullable MPropDef] */
+const struct type type_core__NativeArray__nullable__nitc__MPropDef = {
+1463,
+"NativeArray[nullable MPropDef]", /* class_name_string */
+36,
+0,
+&resolution_table_core__NativeArray__nullable__nitc__MPropDef,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8126,15 +8149,14 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2417, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1463, /* NativeArray[nullable MPropDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8143,7 +8165,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8164,12 +8185,11 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1815, /* NativeArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2457, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2459, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8199,9 +8219,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2489, /* AbstractArrayRead[MAttribute] */
-2490, /* AbstractArrayRead[nullable PropertyLayoutElement] */
-2491, /* AbstractArrayRead[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8213,6 +8230,7 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8248,7 +8266,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2538, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8264,7 +8281,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2657, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8288,9 +8304,7 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2681, /* AbstractArray[Object] */
 -1, /* empty */
-2683, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8320,9 +8334,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2713, /* AbstractArray[MAttribute] */
-2714, /* AbstractArray[nullable PropertyLayoutElement] */
-2715, /* AbstractArray[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8332,6 +8343,27 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__nitc__MPropDef = {
+0, /* dummy */
+{
+&type_nullable__nitc__MPropDef, /* E: nullable MPropDef */
+&type_core__NativeArray__nullable__nitc__MPropDef, /* NativeArray[E]: NativeArray[nullable MPropDef] */
+}
+};
+/* runtime type ArrayIterator[nullable MPropDef] */
+const struct type type_core__array__ArrayIterator__nullable__nitc__MPropDef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[nullable MPropDef]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayIterator__nullable__nitc__MPropDef,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8340,6 +8372,26 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__nullable__nitc__MPropDef = {
+0, /* dummy */
+{
+&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
+&type_core__AbstractArrayRead__nullable__nitc__MPropDef, /* AbstractArrayRead[E]: AbstractArrayRead[nullable MPropDef] */
+}
+};
+/* runtime type ArrayReverseIterator[nullable MPropDef] */
+const struct type type_core__array__ArrayReverseIterator__nullable__nitc__MPropDef = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[nullable MPropDef]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayReverseIterator__nullable__nitc__MPropDef,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8349,6 +8401,26 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__nullable__nitc__MPropDef = {
+0, /* dummy */
+{
+&type_core__Array__nullable__nitc__MPropDef, /* Array[E]: Array[nullable MPropDef] */
+&type_core__AbstractArrayRead__nullable__nitc__MPropDef, /* AbstractArrayRead[E]: AbstractArrayRead[nullable MPropDef] */
+}
+};
+/* runtime type NativeArray[nullable MClass] */
+const struct type type_core__NativeArray__nullable__nitc__MClass = {
+1466,
+"NativeArray[nullable MClass]", /* class_name_string */
+37,
+0,
+&resolution_table_core__NativeArray__nullable__nitc__MClass,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8369,7 +8441,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2762, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8377,8 +8448,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
-650, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8387,13 +8456,12 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1466, /* NativeArray[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-56, /* Array[MProperty] */
 -1, /* empty */
 -1, /* empty */
-1942, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8421,7 +8489,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-658, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8446,9 +8513,6 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1374, /* Array[MAttribute] */
-1380, /* Array[nullable PropertyLayoutElement] */
-1385, /* Array[nullable MAttribute] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8468,6 +8532,7 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8500,60 +8565,8 @@ const struct type type_standard__Array__nit__MAttribute = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__Array__nit__MAttribute = {
-0, /* dummy */
-{
-&type_nit__MAttribute, /* E: MAttribute */
-&type_standard__Array__nit__MAttribute, /* Array[E]: Array[MAttribute] */
-&type_standard__Collection__nit__MAttribute, /* Collection[E]: Collection[MAttribute] */
-&type_standard__Array__nit__MAttribute, /* Array[E]: Array[MAttribute] */
-&type_standard__NativeArray__nit__MAttribute, /* NativeArray[E]: NativeArray[MAttribute] */
-&type_nit__MAttribute, /* E: MAttribute */
-&type_standard__Collection__nit__MAttribute, /* Collection[E]: Collection[MAttribute] */
-&type_nit__MAttribute, /* E: MAttribute */
-&type_standard__Collection__nit__MAttribute, /* Collection[E]: Collection[MAttribute] */
-&type_standard__Collection__nit__MAttribute, /* Collection[E]: Collection[MAttribute] */
-&type_standard__Array__nit__MAttribute, /* Array[E]: Array[MAttribute] */
-&type_standard__AbstractArray__nit__MAttribute, /* AbstractArray[E]: AbstractArray[MAttribute] */
-&type_standard__array__ArrayIterator__nit__MAttribute, /* ArrayIterator[E]: ArrayIterator[MAttribute] */
-}
-};
-/* runtime type HashSetIterator[MAttribute] */
-const struct type type_standard__hash_collection__HashSetIterator__nit__MAttribute = {
--1, /*CAST DEAD*/
-"HashSetIterator[MAttribute]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_standard__hash_collection__HashSetIterator__nit__MAttribute,
-5,
-{
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetIterator__nit__MAttribute = {
-0, /* dummy */
-{
-&type_standard__Array__nit__MAttribute, /* Array[E]: Array[MAttribute] */
-&type_standard__HashSet__nit__MAttribute, /* HashSet[E]: HashSet[MAttribute] */
-}
-};
-/* runtime type NativeArray[nullable HashSetNode[MAttribute]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MAttribute = {
-1376,
-"NativeArray[nullable HashSetNode[MAttribute]]", /* class_name_string */
-174,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MAttribute,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8632,6 +8645,26 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nullable__nitc__MClass = {
+0, /* dummy */
+{
+&type_nullable__nitc__MClass, /* E: nullable MClass */
+&type_core__NativeArray__nullable__nitc__MClass, /* NativeArray[E]: NativeArray[nullable MClass] */
+}
+};
+/* runtime type ArrayIterator[nullable MClass] */
+const struct type type_core__array__ArrayIterator__nullable__nitc__MClass = {
+-1, /*CAST DEAD*/
+"ArrayIterator[nullable MClass]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayIterator__nullable__nitc__MClass,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8641,6 +8674,26 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayIterator__nullable__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
+&type_core__AbstractArrayRead__nullable__nitc__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[nullable MClass] */
+}
+};
+/* runtime type ArrayReverseIterator[nullable MClass] */
+const struct type type_core__array__ArrayReverseIterator__nullable__nitc__MClass = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[nullable MClass]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayReverseIterator__nullable__nitc__MClass,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8650,6 +8703,26 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__array__ArrayReverseIterator__nullable__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__Array__nullable__nitc__MClass, /* Array[E]: Array[nullable MClass] */
+&type_core__AbstractArrayRead__nullable__nitc__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[nullable MClass] */
+}
+};
+/* runtime type NativeArray[RuntimeVariable] */
+const struct type type_core__NativeArray__nitc__RuntimeVariable = {
+1469,
+"NativeArray[RuntimeVariable]", /* class_name_string */
+38,
+0,
+&resolution_table_core__NativeArray__nitc__RuntimeVariable,
+226,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8681,10 +8754,12 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1469, /* NativeArray[RuntimeVariable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8703,7 +8778,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1211, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8725,11 +8799,8 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1372, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-1376, /* NativeArray[nullable HashSetNode[MAttribute]] */
 -1, /* empty */
 -1, /* empty */
-1400, /* NativeArray[nullable HashSetNode[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8763,6 +8834,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8771,26 +8843,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MAttribute = {
-0, /* dummy */
-{
-&type_nullable__standard__hash_collection__HashSetNode__nit__MAttribute, /* E: nullable HashSetNode[MAttribute] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__nit__MAttribute, /* NativeArray[E]: NativeArray[nullable HashSetNode[MAttribute]] */
-}
-};
-/* runtime type HashSetNode[MAttribute] */
-const struct type type_standard__hash_collection__HashSetNode__nit__MAttribute = {
-1377,
-"HashSetNode[MAttribute]", /* class_name_string */
-42,
-0,
-&resolution_table_standard__hash_collection__HashSetNode__nit__MAttribute,
-48,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8801,16 +8853,12 @@ const struct type type_standard__hash_collection__HashSetNode__nit__MAttribute =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2238, /* nullable HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2260, /* nullable HashSetNode[PropertyLayoutElement] */
-2261, /* nullable HashSetNode[MAttribute] */
 -1, /* empty */
-2264, /* nullable HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8824,40 +8872,15 @@ const struct type type_standard__hash_collection__HashSetNode__nit__MAttribute =
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1212, /* HashSetNode[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1373, /* HashSetNode[PropertyLayoutElement] */
-1377, /* HashSetNode[MAttribute] */
 -1, /* empty */
-1401, /* HashSetNode[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetNode__nit__MAttribute = {
-0, /* dummy */
-{
-NULL, /* empty */
-&type_nit__MAttribute, /* K: MAttribute */
-}
-};
-/* runtime type HashMap[PropertyLayoutElement, Int] */
-const struct type type_standard__HashMap__nit__PropertyLayoutElement__standard__Int = {
-1378,
-"HashMap[PropertyLayoutElement, Int]", /* class_name_string */
-64,
-0,
-&resolution_table_standard__HashMap__nit__PropertyLayoutElement__standard__Int,
-83,
-{
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8919,17 +8942,61 @@ const struct type type_standard__HashMap__nit__PropertyLayoutElement__standard__
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1378, /* HashMap[PropertyLayoutElement, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__NativeArray__nitc__RuntimeVariable = {
+0, /* dummy */
+{
+&type_nitc__RuntimeVariable, /* E: RuntimeVariable */
+&type_core__NativeArray__nitc__RuntimeVariable, /* NativeArray[E]: NativeArray[RuntimeVariable] */
+}
+};
+/* runtime type ArrayIterator[RuntimeVariable] */
+const struct type type_core__array__ArrayIterator__nitc__RuntimeVariable = {
+-1, /*CAST DEAD*/
+"ArrayIterator[RuntimeVariable]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayIterator__nitc__RuntimeVariable,
+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__ArrayIterator__nitc__RuntimeVariable = {
+0, /* dummy */
+{
+&type_core__Array__nitc__RuntimeVariable, /* Array[E]: Array[RuntimeVariable] */
+&type_core__AbstractArrayRead__nitc__RuntimeVariable, /* AbstractArrayRead[E]: AbstractArrayRead[RuntimeVariable] */
+}
+};
+/* runtime type ArrayReverseIterator[RuntimeVariable] */
+const struct type type_core__array__ArrayReverseIterator__nitc__RuntimeVariable = {
+-1, /*CAST DEAD*/
+"ArrayReverseIterator[RuntimeVariable]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__array__ArrayReverseIterator__nitc__RuntimeVariable,
+11,
+{
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8940,36 +9007,26 @@ const struct type type_standard__HashMap__nit__PropertyLayoutElement__standard__
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__HashMap__nit__PropertyLayoutElement__standard__Int = {
+const struct types resolution_table_core__array__ArrayReverseIterator__nitc__RuntimeVariable = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_standard__HashMapIterator__nit__PropertyLayoutElement__standard__Int, /* HashMapIterator[K, V]: HashMapIterator[PropertyLayoutElement, Int] */
-&type_nit__PropertyLayoutElement, /* K: PropertyLayoutElement */
-&type_standard__Int, /* V: Int */
-&type_standard__hash_collection__HashMapNode__nit__PropertyLayoutElement__standard__Int, /* HashMapNode[K, V]: HashMapNode[PropertyLayoutElement, Int] */
-&type_standard__hash_collection__HashMapKeys__nit__PropertyLayoutElement__standard__Int, /* HashMapKeys[K, V]: HashMapKeys[PropertyLayoutElement, Int] */
-&type_standard__hash_collection__HashMapValues__nit__PropertyLayoutElement__standard__Int, /* HashMapValues[K, V]: HashMapValues[PropertyLayoutElement, Int] */
-NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__PropertyLayoutElement__standard__Int, /* nullable N: nullable HashMapNode[PropertyLayoutElement, Int] */
-&type_standard__hash_collection__HashMapNode__nit__PropertyLayoutElement__standard__Int, /* N: HashMapNode[PropertyLayoutElement, Int] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__PropertyLayoutElement__standard__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+&type_core__Array__nitc__RuntimeVariable, /* Array[E]: Array[RuntimeVariable] */
+&type_core__AbstractArrayRead__nitc__RuntimeVariable, /* AbstractArrayRead[E]: AbstractArrayRead[RuntimeVariable] */
 }
 };
-/* runtime type HashMap[MClass, HashSet[Int]] */
-const struct type type_standard__HashMap__nit__MClass__standard__HashSet__standard__Int = {
-1379,
-"HashMap[MClass, HashSet[Int]]", /* class_name_string */
-65,
+/* runtime type HashMap[MClass, POSetElement[MClass]] */
+const struct type type_core__HashMap__nitc__MClass__poset__POSetElement__nitc__MClass = {
+1472,
+"HashMap[MClass, POSetElement[MClass]]", /* class_name_string */
+69,
 0,
-&resolution_table_standard__HashMap__nit__MClass__standard__HashSet__standard__Int,
-83,
+&resolution_table_core__HashMap__nitc__MClass__poset__POSetElement__nitc__MClass,
+85,
 {
-80, /* Object */
-2622, /* nullable Object */
-2005, /* MapRead[nullable Object, nullable Object] */
+2371, /* Object */
+2397, /* nullable Object */
+2203, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9029,12 +9086,13 @@ const struct type type_standard__HashMap__nit__MClass__standard__HashSet__standa
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1379, /* HashMap[MClass, HashSet[Int]] */
 -1, /* empty */
 -1, /* empty */
+1472, /* HashMap[MClass, POSetElement[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9052,49 +9110,63 @@ const struct type type_standard__HashMap__nit__MClass__standard__HashSet__standa
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__HashMap__nit__MClass__standard__HashSet__standard__Int = {
+const struct types resolution_table_core__HashMap__nitc__MClass__poset__POSetElement__nitc__MClass = {
 0, /* dummy */
 {
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_standard__HashMapIterator__nit__MClass__standard__HashSet__standard__Int, /* HashMapIterator[K, V]: HashMapIterator[MClass, HashSet[Int]] */
-&type_nit__MClass, /* K: MClass */
-&type_standard__HashSet__standard__Int, /* V: HashSet[Int] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__HashSet__standard__Int, /* HashMapNode[K, V]: HashMapNode[MClass, HashSet[Int]] */
-&type_standard__hash_collection__HashMapKeys__nit__MClass__standard__HashSet__standard__Int, /* HashMapKeys[K, V]: HashMapKeys[MClass, HashSet[Int]] */
-&type_standard__hash_collection__HashMapValues__nit__MClass__standard__HashSet__standard__Int, /* HashMapValues[K, V]: HashMapValues[MClass, HashSet[Int]] */
+&type_core__hash_collection__HashMapIterator__nitc__MClass__poset__POSetElement__nitc__MClass, /* HashMapIterator[K, V]: HashMapIterator[MClass, POSetElement[MClass]] */
+&type_nitc__MClass, /* K: MClass */
+&type_poset__POSetElement__nitc__MClass, /* V: POSetElement[MClass] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__poset__POSetElement__nitc__MClass, /* HashMapNode[K, V]: HashMapNode[MClass, POSetElement[MClass]] */
+&type_core__hash_collection__HashMapKeys__nitc__MClass__poset__POSetElement__nitc__MClass, /* HashMapKeys[K, V]: HashMapKeys[MClass, POSetElement[MClass]] */
+&type_core__hash_collection__HashMapValues__nitc__MClass__poset__POSetElement__nitc__MClass, /* HashMapValues[K, V]: HashMapValues[MClass, POSetElement[MClass]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__poset__POSetElement__nitc__MClass, /* nullable N: nullable HashMapNode[MClass, POSetElement[MClass]] */
 NULL, /* empty */
-&type_nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__HashSet__standard__Int, /* nullable N: nullable HashMapNode[MClass, HashSet[Int]] */
-&type_standard__hash_collection__HashMapNode__nit__MClass__standard__HashSet__standard__Int, /* N: HashMapNode[MClass, HashSet[Int]] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashMapNode__nit__MClass__standard__HashSet__standard__Int, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, HashSet[Int]]] */
+&type_core__hash_collection__HashMapNode__nitc__MClass__poset__POSetElement__nitc__MClass, /* N: HashMapNode[MClass, POSetElement[MClass]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__poset__POSetElement__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 }
 };
-/* runtime type Array[nullable PropertyLayoutElement] */
-const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
-1380,
-"Array[nullable PropertyLayoutElement]", /* class_name_string */
-437,
+/* runtime type POSetElement[MClass] */
+const struct type type_poset__POSetElement__nitc__MClass = {
+1473,
+"POSetElement[MClass]", /* class_name_string */
+8,
 0,
-&resolution_table_standard__Array__nullable__nit__PropertyLayoutElement,
-490,
+&resolution_table_poset__POSetElement__nitc__MClass,
+9,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1473, /* POSetElement[MClass] */
+},
+};
+const struct types resolution_table_poset__POSetElement__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashSet__nitc__MClass, /* HashSet[E]: HashSet[MClass] */
+&type_poset__POSet__nitc__MClass, /* POSet[E]: POSet[MClass] */
+&type_nitc__MClass, /* E: MClass */
+}
+};
+/* runtime type HashMapKeys[MClass, Array[nullable MClass]] */
+const struct type type_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MClass = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, Array[nullable MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MClass,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9105,6 +9177,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2409, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9128,9 +9201,11 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2437, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9147,7 +9222,6 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2369, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9203,9 +9277,9 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2003, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9220,6 +9294,27 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapKeys__nitc__MClass__core__Array__nullable__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMap[K, V]: HashMap[MClass, Array[nullable MClass]] */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__MapKeysIterator__nitc__MClass__core__Array__nullable__nitc__MClass, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Array[nullable MClass]] */
+}
+};
+/* runtime type HashMapValues[MClass, Array[nullable MClass]] */
+const struct type type_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MClass = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, Array[nullable MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MClass,
+129,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9254,6 +9349,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9269,7 +9365,6 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2490, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9320,6 +9415,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2499, /* Collection[Array[nullable MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9331,6 +9427,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9345,6 +9442,27 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapValues__nitc__MClass__core__Array__nullable__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMap[K, V]: HashMap[MClass, Array[nullable MClass]] */
+&type_core__Array__core__Array__nullable__nitc__MClass, /* Array[E]: Array[Array[nullable MClass]] */
+&type_core__MapValuesIterator__nitc__MClass__core__Array__nullable__nitc__MClass, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Array[nullable MClass]] */
+}
+};
+/* runtime type HashMapIterator[MClass, Array[nullable MClass]] */
+const struct type type_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MClass = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, Array[nullable MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MClass,
+79,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9380,6 +9498,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2687, /* MapIterator[MClass, Array[nullable MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9390,7 +9509,6 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2714, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9400,6 +9518,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2707, /* MapIterator[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9421,6 +9540,25 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__hash_collection__HashMapIterator__nitc__MClass__core__Array__nullable__nitc__MClass = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MClass__core__Array__nullable__nitc__MClass, /* HashMap[K, V]: HashMap[MClass, Array[nullable MClass]] */
+}
+};
+/* runtime type HashMapNode[MClass, Array[nullable MClass]] */
+const struct type type_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass = {
+1477,
+"HashMapNode[MClass, Array[nullable MClass]]", /* class_name_string */
+111,
+0,
+&resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass,
+152,
+{
+2371, /* Object */
+2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9446,7 +9584,6 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2004, /* Array[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9456,6 +9593,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2782, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9474,6 +9612,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2803, /* nullable HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9516,7 +9655,6 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1380, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9530,6 +9668,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1477, /* HashMapNode[MClass, Array[nullable MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9548,6 +9687,7 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1756, /* HashMapNode[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9571,58 +9711,28 @@ const struct type type_standard__Array__nullable__nit__PropertyLayoutElement = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__Array__nullable__nit__PropertyLayoutElement = {
+const struct types resolution_table_core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass = {
 0, /* dummy */
 {
-&type_nullable__nit__PropertyLayoutElement, /* E: nullable PropertyLayoutElement */
-&type_standard__Array__nullable__nit__PropertyLayoutElement, /* Array[E]: Array[nullable PropertyLayoutElement] */
-&type_standard__Collection__nullable__nit__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
-&type_standard__Array__nullable__nit__PropertyLayoutElement, /* Array[E]: Array[nullable PropertyLayoutElement] */
-&type_standard__NativeArray__nullable__nit__PropertyLayoutElement, /* NativeArray[E]: NativeArray[nullable PropertyLayoutElement] */
-&type_nullable__nit__PropertyLayoutElement, /* E: nullable PropertyLayoutElement */
-&type_standard__Collection__nullable__nit__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
-&type_nullable__nit__PropertyLayoutElement, /* E: nullable PropertyLayoutElement */
-&type_standard__Collection__nullable__nit__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
-&type_standard__Collection__nullable__nit__PropertyLayoutElement, /* Collection[E]: Collection[nullable PropertyLayoutElement] */
-&type_standard__Array__nullable__nit__PropertyLayoutElement, /* Array[E]: Array[nullable PropertyLayoutElement] */
-&type_standard__AbstractArray__nullable__nit__PropertyLayoutElement, /* AbstractArray[E]: AbstractArray[nullable PropertyLayoutElement] */
-&type_standard__array__ArrayIterator__nullable__nit__PropertyLayoutElement, /* ArrayIterator[E]: ArrayIterator[nullable PropertyLayoutElement] */
+&type_core__Array__nullable__nitc__MClass, /* V: Array[nullable MClass] */
+&type_nitc__MClass, /* K: MClass */
 }
 };
-/* runtime type HashSetIterator[Int] */
-const struct type type_standard__hash_collection__HashSetIterator__standard__Int = {
--1, /*CAST DEAD*/
-"HashSetIterator[Int]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
+const struct type type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass = {
+1478,
+"NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]]", /* class_name_string */
+181,
 0,
-&resolution_table_standard__hash_collection__HashSetIterator__standard__Int,
-5,
+&resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass,
+226,
 {
-80, /* Object */
-2622, /* nullable Object */
-2200, /* Iterator[Object] */
+2371, /* Object */
+2397, /* nullable Object */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_standard__hash_collection__HashSetIterator__standard__Int = {
-0, /* dummy */
-{
-&type_standard__Array__standard__Int, /* Array[E]: Array[Int] */
-&type_standard__HashSet__standard__Int, /* HashSet[E]: HashSet[Int] */
-}
-};
-/* runtime type NativeArray[nullable HashSetNode[Int]] */
-const struct type type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__Int = {
-1382,
-"NativeArray[nullable HashSetNode[Int]]", /* class_name_string */
-175,
-0,
-&resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__Int,
-219,
-{
-80, /* Object */
-2622, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9730,6 +9840,7 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2136, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9772,7 +9883,6 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1211, /* NativeArray[nullable HashSetNode[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9796,9 +9906,9 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1382, /* NativeArray[nullable HashSetNode[Int]] */
 -1, /* empty */
 -1, /* empty */
+1478, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9819,6 +9929,9 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1757, /* NativeArray[nullable HashMapNode[Object, nullable Object]] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9842,76 +9955,39 @@ const struct type type_standard__NativeArray__nullable__standard__hash_collectio
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__Int = {
+const struct types resolution_table_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass = {
 0, /* dummy */
 {
-&type_nullable__standard__hash_collection__HashSetNode__standard__Int, /* E: nullable HashSetNode[Int] */
-&type_standard__NativeArray__nullable__standard__hash_collection__HashSetNode__standard__Int, /* NativeArray[E]: NativeArray[nullable HashSetNode[Int]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass, /* E: nullable HashMapNode[MClass, Array[nullable MClass]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClass__core__Array__nullable__nitc__MClass, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
 }
 };
-/* runtime type HashSetNode[Int] */
-const struct type type_standard__hash_collection__HashSetNode__standard__Int = {
-1383,
-"HashSetNode[Int]", /* class_name_string */
-43,
+/* runtime type HashSetIterator[MProperty] */
+const struct type type_core__hash_collection__HashSetIterator__nitc__MProperty = {
+-1, /*CAST DEAD*/
+"HashSetIterator[MProperty]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_standard__hash_collection__HashSetNode__standard__Int,
-48,
+&resolution_table_core__hash_collection__HashSetIterator__nitc__MProperty,
+11,
 {
-80, /* Object */
-2622, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2371, /* Object */
+2397, /* nullable Object */
+2391, /* Iterator[Object] */
 -1, /* empty */
 -1, /* empty */
+2829, /* Iterator[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2238, /* nullable HashSetNode[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2262, /* nullable HashSetNode[Int] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1212, /* HashSetNode[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1383, /* HashSetNode[Int] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_standard__hash_collection__HashSetNode__standard__Int = {
+const struct types resolution_table_core__hash_collection__HashSetIterator__nitc__MProperty = {
 0, /* dummy */
 {
-NULL, /* empty */
-&type_standard__Int, /* K: Int */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__HashSet__nitc__MProperty, /* HashSet[E]: HashSet[MProperty] */
 }
 };