Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__nith.types.1.c
index 6382e67..5b7d6d6 100644 (file)
@@ -1,28 +1,31 @@
 #include "nitc__nith.types.0.h"
 /* runtime type Sys */
 const struct type type_core__Sys = {
--1, /*CAST DEAD*/
+1,
 "Sys", /* class_name_string */
--1, /*CAST DEAD*/
+2,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+1, /* Sys */
 },
 };
 /* runtime type Stdin */
 const struct type type_core__Stdin = {
--1, /*CAST DEAD*/
+2,
 "Stdin", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+193, /* FileReader */
+2, /* Stdin */
 },
 };
 /* runtime type Bool */
@@ -34,22 +37,24 @@ const struct type type_core__Bool = {
 NULL, /*NO RESOLUTIONS*/
 3,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 3, /* Bool */
 },
 };
-/* runtime type NativeString */
-const struct type type_core__NativeString = {
--1, /*CAST DEAD*/
-"NativeString", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type CString */
+const struct type type_core__CString = {
+4,
+"CString", /* class_name_string */
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+10, /* Pointer */
+4, /* CString */
 },
 };
 /* runtime type Int */
@@ -61,9 +66,9 @@ const struct type type_core__Int = {
 &resolution_table_core__Int,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 5, /* Int */
 },
 };
@@ -75,28 +80,32 @@ const struct types resolution_table_core__Int = {
 };
 /* runtime type Stdout */
 const struct type type_core__Stdout = {
--1, /*CAST DEAD*/
+6,
 "Stdout", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+180, /* FileWriter */
+6, /* Stdout */
 },
 };
 /* runtime type Stderr */
 const struct type type_core__Stderr = {
--1, /*CAST DEAD*/
+7,
 "Stderr", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+180, /* FileWriter */
+7, /* Stderr */
 },
 };
 /* runtime type Float */
@@ -108,9 +117,9 @@ const struct type type_core__Float = {
 &resolution_table_core__Float,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 8, /* Float */
 },
 };
@@ -129,9 +138,9 @@ const struct type type_core__Char = {
 &resolution_table_core__Char,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 9, /* Char */
 },
 };
@@ -143,15 +152,16 @@ const struct types resolution_table_core__Char = {
 };
 /* runtime type Pointer */
 const struct type type_core__Pointer = {
--1, /*CAST DEAD*/
+10,
 "Pointer", /* class_name_string */
--1, /*CAST DEAD*/
+2,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+10, /* Pointer */
 },
 };
 /* runtime type Byte */
@@ -163,9 +173,9 @@ const struct type type_core__Byte = {
 &resolution_table_core__Byte,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 11, /* Byte */
 },
 };
@@ -184,9 +194,9 @@ const struct type type_core__Int8 = {
 &resolution_table_core__Int8,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 12, /* Int8 */
 },
 };
@@ -205,9 +215,9 @@ const struct type type_core__Int16 = {
 &resolution_table_core__Int16,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 13, /* Int16 */
 },
 };
@@ -226,9 +236,9 @@ const struct type type_core__UInt16 = {
 &resolution_table_core__UInt16,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 14, /* UInt16 */
 },
 };
@@ -247,9 +257,9 @@ const struct type type_core__Int32 = {
 &resolution_table_core__Int32,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 15, /* Int32 */
 },
 };
@@ -268,9 +278,9 @@ const struct type type_core__UInt32 = {
 &resolution_table_core__UInt32,
 4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
 16, /* UInt32 */
 },
 };
@@ -280,62 +290,52 @@ const struct types resolution_table_core__UInt32 = {
 &type_core__UInt32, /* OTHER: UInt32 */
 }
 };
-/* runtime type UTF8Decoder */
-const struct type type_core__utf8__UTF8Decoder = {
--1, /*CAST DEAD*/
-"UTF8Decoder", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type UTF8Codec */
+const struct type type_core__utf8__UTF8Codec = {
+17,
+"UTF8Codec", /* class_name_string */
+2,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+17, /* UTF8Codec */
 },
 };
 /* runtime type NativeFile */
 const struct type type_core__file__NativeFile = {
--1, /*CAST DEAD*/
+18,
 "NativeFile", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type UTF8Coder */
-const struct type type_core__utf8__UTF8Coder = {
--1, /*CAST DEAD*/
-"UTF8Coder", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-2,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+10, /* Pointer */
+18, /* NativeFile */
 },
 };
 /* runtime type FlatString */
 const struct type type_core__FlatString = {
-20,
+19,
 "FlatString", /* class_name_string */
 7,
 0,
 &resolution_table_core__FlatString,
 130,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-2205, /* Text */
-2344, /* String */
-2201, /* FlatText */
-2360, /* nullable String */
-20, /* FlatString */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+2209, /* Text */
+2352, /* String */
+2369, /* nullable String */
+2205, /* FlatText */
+19, /* FlatString */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -457,63 +457,47 @@ const struct type type_core__FlatString = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
+2384, /* Writable */
 },
 };
 const struct types resolution_table_core__FlatString = {
 0, /* dummy */
 {
 &type_core__Text, /* OTHER: Text */
+&type_core__FlatString, /* SELF: FlatString */
 &type_core__String, /* SELFTYPE: String */
 &type_core__Array__core__String, /* Array[SELFTYPE]: Array[String] */
 }
 };
-/* runtime type FlatStringCharView */
-const struct type type_core__flat__FlatStringCharView = {
--1, /*CAST DEAD*/
-"FlatStringCharView", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type IOError */
+const struct type type_core__IOError = {
+20,
+"IOError", /* class_name_string */
+2,
 0,
-&resolution_table_core__flat__FlatStringCharView,
-132,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
-2206, /* Collection[Char] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+20, /* IOError */
+},
+};
+/* runtime type Array[String] */
+const struct type type_core__Array__core__String = {
+21,
+"Array[String]", /* class_name_string */
+385,
+0,
+&resolution_table_core__Array__core__String,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+2410, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -545,11 +529,13 @@ const struct type type_core__flat__FlatStringCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2448, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -591,7 +577,6 @@ const struct type type_core__flat__FlatStringCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -604,34 +589,13 @@ const struct type type_core__flat__FlatStringCharView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatStringCharView = {
-0, /* dummy */
-{
-&type_core__FlatString, /* SELFTYPE: FlatString */
-&type_core__Array__core__Char, /* Array[E]: Array[Char] */
-}
-};
-/* runtime type FlatStringByteView */
-const struct type type_core__flat__FlatStringByteView = {
--1, /*CAST DEAD*/
-"FlatStringByteView", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__flat__FlatStringByteView,
-132,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
-2215, /* Collection[Byte] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -657,13 +621,15 @@ const struct type type_core__flat__FlatStringByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
+2534, /* AbstractArrayRead[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -727,6 +693,7 @@ const struct type type_core__flat__FlatStringByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -741,10 +708,10 @@ const struct type type_core__flat__FlatStringByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -757,45 +724,11 @@ const struct type type_core__flat__FlatStringByteView = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__flat__FlatStringByteView = {
-0, /* dummy */
-{
-&type_core__FlatString, /* SELFTYPE: FlatString */
-&type_core__Array__core__Byte, /* Array[E]: Array[Byte] */
-}
-};
-/* runtime type IOError */
-const struct type type_core__IOError = {
--1, /*CAST DEAD*/
-"IOError", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[String] */
-const struct type type_core__Array__core__String = {
-24,
-"Array[String]", /* class_name_string */
-385,
-0,
-&resolution_table_core__Array__core__String,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
+2635, /* AbstractArrayRead[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2402, /* Collection[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -817,6 +750,7 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2856, /* AbstractArray[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -826,13 +760,11 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2439, /* Collection[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -850,11 +782,13 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2894, /* AbstractArray[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -904,12 +838,12 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -919,10 +853,7 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
-2526, /* AbstractArrayRead[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -945,21 +876,22 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
+21, /* Array[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2370, /* Array[Comparable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2563, /* AbstractArrayRead[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -989,6 +921,7 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+248, /* Array[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1033,7 +966,6 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1048,7 +980,6 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2850, /* AbstractArray[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1071,6 +1002,41 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__core__String = {
+0, /* dummy */
+{
+&type_core__String, /* E: String */
+&type_core__Array__core__String, /* SELF: Array[String] */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__AbstractArray__core__String, /* AbstractArray[E]: AbstractArray[String] */
+&type_core__NativeArray__core__String, /* NativeArray[E]: NativeArray[String] */
+&type_core__String, /* E: String */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__String, /* E: String */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__Array__core__String, /* Array[E]: Array[String] */
+&type_core__AbstractArray__core__String, /* AbstractArray[E]: AbstractArray[String] */
+&type_core__array__ArrayIterator__core__String, /* ArrayIterator[E]: ArrayIterator[String] */
+&type_core__array__ArrayReverseIterator__core__String, /* ArrayReverseIterator[E]: ArrayReverseIterator[String] */
+}
+};
+/* runtime type NativeArray[String] */
+const struct type type_core__NativeArray__core__String = {
+22,
+"NativeArray[String]", /* class_name_string */
+2,
+0,
+&resolution_table_core__NativeArray__core__String,
+228,
+{
+2380, /* Object */
+2401, /* nullable Object */
+22, /* NativeArray[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1079,13 +1045,11 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2887, /* AbstractArray[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1104,11 +1068,13 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+227, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2002, /* NativeArray[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1159,11 +1125,11 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1717, /* NativeArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1174,13 +1140,10 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
-24, /* Array[String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2361, /* Array[Comparable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1218,7 +1181,6 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-250, /* Array[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1302,57 +1264,43 @@ const struct type type_core__Array__core__String = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__Array__core__String = {
+const struct types resolution_table_core__NativeArray__core__String = {
 0, /* dummy */
 {
 &type_core__String, /* E: String */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__AbstractArray__core__String, /* AbstractArray[E]: AbstractArray[String] */
 &type_core__NativeArray__core__String, /* NativeArray[E]: NativeArray[String] */
-&type_core__String, /* E: String */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-&type_core__String, /* E: String */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-&type_core__Collection__core__String, /* Collection[E]: Collection[String] */
-&type_core__Array__core__String, /* Array[E]: Array[String] */
-&type_core__AbstractArray__core__String, /* AbstractArray[E]: AbstractArray[String] */
-&type_core__array__ArrayIterator__core__String, /* ArrayIterator[E]: ArrayIterator[String] */
-&type_core__array__ArrayReverseIterator__core__String, /* ArrayReverseIterator[E]: ArrayReverseIterator[String] */
 }
 };
-/* runtime type NativeArray[String] */
-const struct type type_core__NativeArray__core__String = {
-25,
-"NativeArray[String]", /* class_name_string */
+/* runtime type ToolContext */
+const struct type type_nitc__ToolContext = {
+23,
+"ToolContext", /* class_name_string */
 2,
 0,
-&resolution_table_core__NativeArray__core__String,
-226,
+NULL, /*NO RESOLUTIONS*/
+3,
 {
-2371, /* Object */
-2397, /* nullable Object */
-25, /* NativeArray[String] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+23, /* ToolContext */
+},
+};
+/* runtime type Array[Message] */
+const struct type type_core__Array__nitc__Message = {
+24,
+"Array[Message]", /* class_name_string */
+404,
+0,
+&resolution_table_core__Array__nitc__Message,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2411, /* Collection[Message] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1364,13 +1312,11 @@ const struct type type_core__NativeArray__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-229, /* NativeArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1482, /* NativeArray[Writable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1385,6 +1331,7 @@ const struct type type_core__NativeArray__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1444,7 +1391,7 @@ const struct type type_core__NativeArray__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2136, /* NativeArray[nullable Object] */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1476,8 +1423,11 @@ const struct type type_core__NativeArray__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
+2535, /* AbstractArrayRead[Message] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1545,6 +1495,7 @@ const struct type type_core__NativeArray__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1557,45 +1508,12 @@ const struct type type_core__NativeArray__core__String = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__NativeArray__core__String = {
-0, /* dummy */
-{
-&type_core__String, /* E: String */
-&type_core__NativeArray__core__String, /* NativeArray[E]: NativeArray[String] */
-}
-};
-/* runtime type ToolContext */
-const struct type type_nitc__ToolContext = {
--1, /*CAST DEAD*/
-"ToolContext", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[Message] */
-const struct type type_core__Array__nitc__Message = {
-27,
-"Array[Message]", /* class_name_string */
-404,
-0,
-&resolution_table_core__Array__nitc__Message,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2403, /* Collection[Message] */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1624,7 +1542,6 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1636,6 +1553,7 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2857, /* AbstractArray[Message] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1666,6 +1584,7 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1702,7 +1621,6 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1717,11 +1635,8 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
-2527, /* AbstractArrayRead[Message] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1730,6 +1645,7 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1751,7 +1667,6 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1763,11 +1678,13 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2370, /* Array[Comparable] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1781,6 +1698,7 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+24, /* Array[Message] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1831,7 +1749,6 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1847,7 +1764,6 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2851, /* AbstractArray[Message] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1877,7 +1793,6 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1889,6 +1804,42 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__nitc__Message = {
+0, /* dummy */
+{
+&type_nitc__Message, /* E: Message */
+&type_core__Array__nitc__Message, /* SELF: Array[Message] */
+&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
+&type_core__Array__nitc__Message, /* Array[E]: Array[Message] */
+&type_core__AbstractArray__nitc__Message, /* AbstractArray[E]: AbstractArray[Message] */
+&type_core__NativeArray__nitc__Message, /* NativeArray[E]: NativeArray[Message] */
+&type_nitc__Message, /* E: Message */
+&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
+&type_nitc__Message, /* E: Message */
+&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
+&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
+&type_core__Array__nitc__Message, /* Array[E]: Array[Message] */
+&type_core__Array__nitc__Message, /* Array[E]: Array[Message] */
+&type_core__AbstractArray__nitc__Message, /* AbstractArray[E]: AbstractArray[Message] */
+&type_core__array__ArrayIterator__nitc__Message, /* ArrayIterator[E]: ArrayIterator[Message] */
+&type_core__array__ArrayReverseIterator__nitc__Message, /* ArrayReverseIterator[E]: ArrayReverseIterator[Message] */
+}
+};
+/* runtime type MultiHashMap[SourceFile, String] */
+const struct type type_more_collections__MultiHashMap__nitc__SourceFile__core__String = {
+25,
+"MultiHashMap[SourceFile, String]", /* class_name_string */
+166,
+0,
+&resolution_table_more_collections__MultiHashMap__nitc__SourceFile__core__String,
+174,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+2991, /* MapRead[SourceFile, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -1951,51 +1902,8 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2961, /* AbstractArray[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-228, /* Array[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2361, /* Array[Comparable] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-27, /* Array[Message] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2017,6 +1925,7 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2361, /* HashMap[SourceFile, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2061,6 +1970,8 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2091,6 +2002,7 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+25, /* MultiHashMap[SourceFile, String] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2100,46 +2012,58 @@ const struct type type_core__Array__nitc__Message = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__Array__nitc__Message = {
+const struct types resolution_table_more_collections__MultiHashMap__nitc__SourceFile__core__String = {
 0, /* dummy */
 {
-&type_nitc__Message, /* E: Message */
-&type_core__Array__nitc__Message, /* Array[E]: Array[Message] */
-&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
-&type_core__Array__nitc__Message, /* Array[E]: Array[Message] */
-&type_core__AbstractArray__nitc__Message, /* AbstractArray[E]: AbstractArray[Message] */
-&type_core__NativeArray__nitc__Message, /* NativeArray[E]: NativeArray[Message] */
-&type_nitc__Message, /* E: Message */
-&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
-&type_nitc__Message, /* E: Message */
-&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
-&type_core__Collection__nitc__Message, /* Collection[E]: Collection[Message] */
-&type_core__Array__nitc__Message, /* Array[E]: Array[Message] */
-&type_core__AbstractArray__nitc__Message, /* AbstractArray[E]: AbstractArray[Message] */
-&type_core__array__ArrayIterator__nitc__Message, /* ArrayIterator[E]: ArrayIterator[Message] */
-&type_core__array__ArrayReverseIterator__nitc__Message, /* ArrayReverseIterator[E]: ArrayReverseIterator[Message] */
+&type_nitc__SourceFile, /* K: SourceFile */
+&type_core__String, /* V: String */
+&type_core__Array__core__String, /* Array[V]: Array[String] */
+&type_core__hash_collection__HashMapIterator__nitc__SourceFile__core__Array__core__String, /* HashMapIterator[K, V]: HashMapIterator[SourceFile, Array[String]] */
+&type_nitc__SourceFile, /* K: SourceFile */
+&type_core__Array__core__String, /* V: Array[String] */
+&type_core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* HashMapNode[K, V]: HashMapNode[SourceFile, Array[String]] */
+&type_core__hash_collection__HashMapKeys__nitc__SourceFile__core__Array__core__String, /* HashMapKeys[K, V]: HashMapKeys[SourceFile, Array[String]] */
+&type_core__hash_collection__HashMapValues__nitc__SourceFile__core__Array__core__String, /* HashMapValues[K, V]: HashMapValues[SourceFile, Array[String]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* nullable N: nullable HashMapNode[SourceFile, Array[String]] */
+&type_core__MapRead__nitc__SourceFile__core__Array__core__String, /* MapRead[K, V]: MapRead[SourceFile, Array[String]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* N: HashMapNode[SourceFile, Array[String]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[SourceFile, Array[String]]] */
 }
 };
-/* runtime type MultiHashMap[SourceFile, String] */
-const struct type type_more_collections__MultiHashMap__nitc__SourceFile__core__String = {
--1, /*CAST DEAD*/
-"MultiHashMap[SourceFile, String]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type OptionContext */
+const struct type type_opts__OptionContext = {
+26,
+"OptionContext", /* class_name_string */
+2,
 0,
-&resolution_table_more_collections__MultiHashMap__nitc__SourceFile__core__String,
-85,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+26, /* OptionContext */
+},
+};
+/* runtime type Array[Option] */
+const struct type type_core__Array__opts__Option = {
+27,
+"Array[Option]", /* class_name_string */
+405,
+0,
+&resolution_table_core__Array__opts__Option,
+510,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2412, /* Collection[Option] */
 -1, /* empty */
 -1, /* empty */
-2353, /* HashMap[SourceFile, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2167,6 +2091,7 @@ const struct type type_more_collections__MultiHashMap__nitc__SourceFile__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2191,8 +2116,6 @@ const struct type type_more_collections__MultiHashMap__nitc__SourceFile__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* HashMap[Object, Array[Object]] */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2214,56 +2137,11 @@ const struct type type_more_collections__MultiHashMap__nitc__SourceFile__core__S
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_more_collections__MultiHashMap__nitc__SourceFile__core__String = {
-0, /* dummy */
-{
-&type_nitc__SourceFile, /* K: SourceFile */
-&type_core__String, /* V: String */
-&type_core__Array__core__String, /* Array[V]: Array[String] */
-&type_core__hash_collection__HashMapIterator__nitc__SourceFile__core__Array__core__String, /* HashMapIterator[K, V]: HashMapIterator[SourceFile, Array[String]] */
-&type_nitc__SourceFile, /* K: SourceFile */
-&type_core__Array__core__String, /* V: Array[String] */
-&type_core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* HashMapNode[K, V]: HashMapNode[SourceFile, Array[String]] */
-&type_core__hash_collection__HashMapKeys__nitc__SourceFile__core__Array__core__String, /* HashMapKeys[K, V]: HashMapKeys[SourceFile, Array[String]] */
-&type_core__hash_collection__HashMapValues__nitc__SourceFile__core__Array__core__String, /* HashMapValues[K, V]: HashMapValues[SourceFile, Array[String]] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* nullable N: nullable HashMapNode[SourceFile, Array[String]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* N: HashMapNode[SourceFile, Array[String]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__SourceFile__core__Array__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[SourceFile, Array[String]]] */
-}
-};
-/* runtime type OptionContext */
-const struct type type_opts__OptionContext = {
--1, /*CAST DEAD*/
-"OptionContext", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type Array[Option] */
-const struct type type_core__Array__opts__Option = {
-30,
-"Array[Option]", /* class_name_string */
-405,
-0,
-&resolution_table_core__Array__opts__Option,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2404, /* Collection[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2273,6 +2151,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2292,7 +2171,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2305,10 +2183,13 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2537, /* AbstractArrayRead[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2370,11 +2251,11 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2385,16 +2266,14 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2528, /* AbstractArrayRead[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2419,7 +2298,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2436,6 +2314,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2858, /* AbstractArray[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2465,6 +2344,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2499,7 +2379,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2516,7 +2395,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2852, /* AbstractArray[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2527,6 +2405,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2545,7 +2424,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2560,6 +2438,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2580,6 +2459,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+27, /* Array[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2625,7 +2505,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2640,7 +2519,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2661,7 +2539,6 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-30, /* Array[Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2687,7 +2564,43 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__Array__opts__Option = {
+0, /* dummy */
+{
+&type_opts__Option, /* E: Option */
+&type_core__Array__opts__Option, /* SELF: Array[Option] */
+&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
+&type_core__Array__opts__Option, /* Array[E]: Array[Option] */
+&type_core__AbstractArray__opts__Option, /* AbstractArray[E]: AbstractArray[Option] */
+&type_core__NativeArray__opts__Option, /* NativeArray[E]: NativeArray[Option] */
+&type_opts__Option, /* E: Option */
+&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
+&type_opts__Option, /* E: Option */
+&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
+&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
+&type_core__Array__opts__Option, /* Array[E]: Array[Option] */
+&type_core__Array__opts__Option, /* Array[E]: Array[Option] */
+&type_core__AbstractArray__opts__Option, /* AbstractArray[E]: AbstractArray[Option] */
+&type_core__array__ArrayIterator__opts__Option, /* ArrayIterator[E]: ArrayIterator[Option] */
+&type_core__array__ArrayReverseIterator__opts__Option, /* ArrayReverseIterator[E]: ArrayReverseIterator[Option] */
+}
+};
+/* runtime type HashMap[String, Option] */
+const struct type type_core__HashMap__core__String__opts__Option = {
+28,
+"HashMap[String, Option]", /* class_name_string */
+90,
+0,
+&resolution_table_core__HashMap__core__String__opts__Option,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
+2992, /* MapRead[String, Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2750,6 +2663,7 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2766,49 +2680,15 @@ const struct type type_core__Array__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__opts__Option = {
-0, /* dummy */
-{
-&type_opts__Option, /* E: Option */
-&type_core__Array__opts__Option, /* Array[E]: Array[Option] */
-&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
-&type_core__Array__opts__Option, /* Array[E]: Array[Option] */
-&type_core__AbstractArray__opts__Option, /* AbstractArray[E]: AbstractArray[Option] */
-&type_core__NativeArray__opts__Option, /* NativeArray[E]: NativeArray[Option] */
-&type_opts__Option, /* E: Option */
-&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
-&type_opts__Option, /* E: Option */
-&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
-&type_core__Collection__opts__Option, /* Collection[E]: Collection[Option] */
-&type_core__Array__opts__Option, /* Array[E]: Array[Option] */
-&type_core__AbstractArray__opts__Option, /* AbstractArray[E]: AbstractArray[Option] */
-&type_core__array__ArrayIterator__opts__Option, /* ArrayIterator[E]: ArrayIterator[Option] */
-&type_core__array__ArrayReverseIterator__opts__Option, /* ArrayReverseIterator[E]: ArrayReverseIterator[Option] */
-}
-};
-/* runtime type HashMap[String, Option] */
-const struct type type_core__HashMap__core__String__opts__Option = {
-31,
-"HashMap[String, Option]", /* class_name_string */
-11,
-0,
-&resolution_table_core__HashMap__core__String__opts__Option,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+28, /* HashMap[String, Option] */
 -1, /* empty */
 -1, /* empty */
-31, /* HashMap[String, Option] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2850,6 +2730,7 @@ const struct type type_core__HashMap__core__String__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2860,7 +2741,6 @@ const struct type type_core__HashMap__core__String__opts__Option = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -2897,6 +2777,7 @@ NULL, /* empty */
 &type_core__hash_collection__HashMapKeys__core__String__opts__Option, /* HashMapKeys[K, V]: HashMapKeys[String, Option] */
 &type_core__hash_collection__HashMapValues__core__String__opts__Option, /* HashMapValues[K, V]: HashMapValues[String, Option] */
 &type_nullable__core__hash_collection__HashMapNode__core__String__opts__Option, /* nullable N: nullable HashMapNode[String, Option] */
+&type_core__MapRead__core__String__opts__Option, /* MapRead[K, V]: MapRead[String, Option] */
 NULL, /* empty */
 &type_core__hash_collection__HashMapNode__core__String__opts__Option, /* N: HashMapNode[String, Option] */
 &type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__opts__Option, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Option]] */
@@ -2904,16 +2785,17 @@ NULL, /* empty */
 };
 /* runtime type OptionCount */
 const struct type type_opts__OptionCount = {
--1, /*CAST DEAD*/
+29,
 "OptionCount", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 &resolution_table_opts__OptionCount,
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2362, /* Option */
+2380, /* Object */
+2401, /* nullable Object */
+2371, /* Option */
+29, /* OptionCount */
 },
 };
 const struct types resolution_table_opts__OptionCount = {
@@ -2924,17 +2806,18 @@ const struct types resolution_table_opts__OptionCount = {
 };
 /* runtime type OptionArray */
 const struct type type_opts__OptionArray = {
--1, /*CAST DEAD*/
+30,
 "OptionArray", /* class_name_string */
--1, /*CAST DEAD*/
+4,
 0,
 &resolution_table_opts__OptionArray,
-4,
+5,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2362, /* Option */
-2217, /* OptionParameter */
+2380, /* Object */
+2401, /* nullable Object */
+2371, /* Option */
+2221, /* OptionParameter */
+30, /* OptionArray */
 },
 };
 const struct types resolution_table_opts__OptionArray = {
@@ -2945,16 +2828,17 @@ const struct types resolution_table_opts__OptionArray = {
 };
 /* runtime type OptionBool */
 const struct type type_opts__OptionBool = {
--1, /*CAST DEAD*/
+31,
 "OptionBool", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 &resolution_table_opts__OptionBool,
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2362, /* Option */
+2380, /* Object */
+2401, /* nullable Object */
+2371, /* Option */
+31, /* OptionBool */
 },
 };
 const struct types resolution_table_opts__OptionBool = {
@@ -2965,17 +2849,18 @@ const struct types resolution_table_opts__OptionBool = {
 };
 /* runtime type OptionString */
 const struct type type_opts__OptionString = {
--1, /*CAST DEAD*/
+32,
 "OptionString", /* class_name_string */
--1, /*CAST DEAD*/
+4,
 0,
 &resolution_table_opts__OptionString,
-4,
+5,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2362, /* Option */
-2217, /* OptionParameter */
+2380, /* Object */
+2401, /* nullable Object */
+2371, /* Option */
+2221, /* OptionParameter */
+32, /* OptionString */
 },
 };
 const struct types resolution_table_opts__OptionString = {
@@ -2986,22 +2871,22 @@ const struct types resolution_table_opts__OptionString = {
 };
 /* runtime type POSet[Phase] */
 const struct type type_poset__POSet__nitc__Phase = {
-36,
+33,
 "POSet[Phase]", /* class_name_string */
-2,
+129,
 0,
 &resolution_table_poset__POSet__nitc__Phase,
-135,
+136,
 {
-2371, /* Object */
-2397, /* nullable Object */
-36, /* POSet[Phase] */
+2380, /* Object */
+2401, /* nullable Object */
+2207, /* POSet[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2405, /* Collection[Phase] */
+2413, /* Collection[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3029,8 +2914,8 @@ const struct type type_poset__POSet__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3090,6 +2975,7 @@ const struct type type_poset__POSet__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3107,7 +2993,6 @@ const struct type type_poset__POSet__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3122,6 +3007,7 @@ const struct type type_poset__POSet__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+33, /* POSet[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3134,32 +3020,44 @@ const struct types resolution_table_poset__POSet__nitc__Phase = {
 0, /* dummy */
 {
 &type_core__HashMap__nitc__Phase__poset__POSetElement__nitc__Phase, /* HashMap[E, POSetElement[E]]: HashMap[Phase, POSetElement[Phase]] */
-&type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
+&type_poset__POSet__nitc__Phase, /* SELF: POSet[Phase] */
 &type_nitc__Phase, /* E: Phase */
 &type_poset__POSetElement__nitc__Phase, /* POSetElement[E]: POSetElement[Phase] */
 &type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
+&type_nitc__Phase, /* COMPARED: Phase */
 &type_core__Collection__nitc__Phase, /* Collection[E]: Collection[Phase] */
+&type_poset__POSet__nitc__Phase, /* POSet[E]: POSet[Phase] */
 &type_nitc__POSetConflictGraph__nitc__Phase, /* POSetConflictGraph[E]: POSetConflictGraph[Phase] */
 &type_core__Array__nitc__Phase, /* Array[COMPARED]: Array[Phase] */
+NULL, /* empty */
+&type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
 }
 };
 /* runtime type HashSet[AModule] */
 const struct type type_core__HashSet__nitc__AModule = {
-37,
+34,
 "HashSet[AModule]", /* class_name_string */
-143,
+155,
 0,
 &resolution_table_core__HashSet__nitc__AModule,
-164,
+175,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2208, /* Set[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 */
+2420, /* Collection[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3167,7 +3065,6 @@ const struct type type_core__HashSet__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2412, /* Collection[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3182,20 +3079,20 @@ const struct type type_core__HashSet__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3215,7 +3112,6 @@ const struct type type_core__HashSet__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3237,11 +3133,13 @@ const struct type type_core__HashSet__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3266,7 +3164,6 @@ const struct type type_core__HashSet__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3287,28 +3184,32 @@ const struct type type_core__HashSet__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2846, /* Set[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2851, /* Set[Object] */
+2852, /* Set[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-37, /* HashSet[AModule] */
 -1, /* empty */
 -1, /* empty */
+34, /* HashSet[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-142, /* HashSet[Object] */
-167, /* HashSet[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+136, /* HashSet[Object] */
+166, /* HashSet[ANode] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3322,94 +3223,99 @@ const struct types resolution_table_core__HashSet__nitc__AModule = {
 0, /* dummy */
 {
 &type_nitc__AModule, /* E: AModule */
-&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
+&type_core__HashSet__nitc__AModule, /* SELF: HashSet[AModule] */
 &type_core__hash_collection__HashSetNode__nitc__AModule, /* HashSetNode[E]: HashSetNode[AModule] */
 &type_core__hash_collection__HashSetIterator__nitc__AModule, /* HashSetIterator[E]: HashSetIterator[AModule] */
 &type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
+&type_core__HashSet__nitc__AModule, /* HashSet[E]: HashSet[AModule] */
+&type_core__Set__nitc__AModule, /* Set[E]: Set[AModule] */
+&type_core__HashSet__nitc__AModule, /* HashSet[E]: HashSet[AModule] */
 NULL, /* empty */
 &type_nullable__core__hash_collection__HashSetNode__nitc__AModule, /* nullable N: nullable HashSetNode[AModule] */
 &type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
+&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
 &type_core__hash_collection__HashSetNode__nitc__AModule, /* N: HashSetNode[AModule] */
 &type_core__NativeArray__nullable__core__hash_collection__HashSetNode__nitc__AModule, /* NativeArray[nullable N]: NativeArray[nullable HashSetNode[AModule]] */
 }
 };
 /* runtime type LiteralPhase */
 const struct type type_nitc__literal__LiteralPhase = {
--1, /*CAST DEAD*/
+35,
 "LiteralPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+35, /* LiteralPhase */
 },
 };
 /* runtime type ModelizeClassPhase */
 const struct type type_nitc__modelize_class__ModelizeClassPhase = {
--1, /*CAST DEAD*/
+36,
 "ModelizeClassPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+36, /* ModelizeClassPhase */
 },
 };
 /* runtime type ScopePhase */
 const struct type type_nitc__scope__ScopePhase = {
--1, /*CAST DEAD*/
+37,
 "ScopePhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+37, /* ScopePhase */
 },
 };
 /* runtime type FlowPhase */
 const struct type type_nitc__flow__FlowPhase = {
--1, /*CAST DEAD*/
+38,
 "FlowPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+38, /* FlowPhase */
 },
 };
 /* runtime type Array[Phase] */
 const struct type type_core__Array__nitc__Phase = {
-42,
+39,
 "Array[Phase]", /* class_name_string */
 386,
 0,
 &resolution_table_core__Array__nitc__Phase,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2405, /* Collection[Phase] */
+2413, /* Collection[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3437,8 +3343,8 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3498,6 +3404,7 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3515,7 +3422,6 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3530,16 +3436,16 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2529, /* AbstractArrayRead[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2540, /* AbstractArrayRead[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3564,7 +3470,6 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3603,6 +3508,7 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3620,6 +3526,7 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3644,7 +3551,6 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3662,7 +3568,7 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2853, /* AbstractArray[Phase] */
+2859, /* AbstractArray[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3690,8 +3596,8 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3752,6 +3658,7 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3770,7 +3677,6 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3785,9 +3691,9 @@ const struct type type_core__Array__nitc__Phase = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
-42, /* Array[Phase] */
+39, /* Array[Phase] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3917,7 +3823,7 @@ const struct types resolution_table_core__Array__nitc__Phase = {
 0, /* dummy */
 {
 &type_nitc__Phase, /* E: Phase */
-&type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
+&type_core__Array__nitc__Phase, /* SELF: Array[Phase] */
 &type_core__Collection__nitc__Phase, /* Collection[E]: Collection[Phase] */
 &type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
 &type_core__AbstractArray__nitc__Phase, /* AbstractArray[E]: AbstractArray[Phase] */
@@ -3928,6 +3834,7 @@ const struct types resolution_table_core__Array__nitc__Phase = {
 &type_core__Collection__nitc__Phase, /* Collection[E]: Collection[Phase] */
 &type_core__Collection__nitc__Phase, /* Collection[E]: Collection[Phase] */
 &type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
+&type_core__Array__nitc__Phase, /* Array[E]: Array[Phase] */
 &type_core__AbstractArray__nitc__Phase, /* AbstractArray[E]: AbstractArray[Phase] */
 &type_core__array__ArrayIterator__nitc__Phase, /* ArrayIterator[E]: ArrayIterator[Phase] */
 &type_core__array__ArrayReverseIterator__nitc__Phase, /* ArrayReverseIterator[E]: ArrayReverseIterator[Phase] */
@@ -3935,43 +3842,45 @@ const struct types resolution_table_core__Array__nitc__Phase = {
 };
 /* runtime type LocalVarInitPhase */
 const struct type type_nitc__local_var_init__LocalVarInitPhase = {
--1, /*CAST DEAD*/
+40,
 "LocalVarInitPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+40, /* LocalVarInitPhase */
 },
 };
 /* runtime type FFILanguageAssignationPhase */
 const struct type type_nitc__FFILanguageAssignationPhase = {
--1, /*CAST DEAD*/
+41,
 "FFILanguageAssignationPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+41, /* FFILanguageAssignationPhase */
 },
 };
 /* runtime type Array[FFILanguage] */
 const struct type type_core__Array__nitc__FFILanguage = {
-45,
+42,
 "Array[FFILanguage]", /* class_name_string */
 406,
 0,
 &resolution_table_core__Array__nitc__FFILanguage,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -3979,7 +3888,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2406, /* Collection[FFILanguage] */
+2414, /* Collection[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4006,8 +3915,8 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4067,6 +3976,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4084,7 +3994,6 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4099,17 +4008,17 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2530, /* AbstractArrayRead[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2541, /* AbstractArrayRead[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4133,7 +4042,6 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4172,6 +4080,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4189,6 +4098,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4213,7 +4123,6 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4232,7 +4141,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2854, /* AbstractArray[FFILanguage] */
+2860, /* AbstractArray[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4259,8 +4168,8 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4321,6 +4230,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4339,7 +4249,6 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4354,7 +4263,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4376,7 +4285,7 @@ const struct type type_core__Array__nitc__FFILanguage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-45, /* Array[FFILanguage] */
+42, /* Array[FFILanguage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4486,7 +4395,7 @@ const struct types resolution_table_core__Array__nitc__FFILanguage = {
 0, /* dummy */
 {
 &type_nitc__FFILanguage, /* E: FFILanguage */
-&type_core__Array__nitc__FFILanguage, /* Array[E]: Array[FFILanguage] */
+&type_core__Array__nitc__FFILanguage, /* SELF: Array[FFILanguage] */
 &type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
 &type_core__Array__nitc__FFILanguage, /* Array[E]: Array[FFILanguage] */
 &type_core__AbstractArray__nitc__FFILanguage, /* AbstractArray[E]: AbstractArray[FFILanguage] */
@@ -4497,6 +4406,7 @@ const struct types resolution_table_core__Array__nitc__FFILanguage = {
 &type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
 &type_core__Collection__nitc__FFILanguage, /* Collection[E]: Collection[FFILanguage] */
 &type_core__Array__nitc__FFILanguage, /* Array[E]: Array[FFILanguage] */
+&type_core__Array__nitc__FFILanguage, /* Array[E]: Array[FFILanguage] */
 &type_core__AbstractArray__nitc__FFILanguage, /* AbstractArray[E]: AbstractArray[FFILanguage] */
 &type_core__array__ArrayIterator__nitc__FFILanguage, /* ArrayIterator[E]: ArrayIterator[FFILanguage] */
 &type_core__array__ArrayReverseIterator__nitc__FFILanguage, /* ArrayReverseIterator[E]: ArrayReverseIterator[FFILanguage] */
@@ -4504,129 +4414,138 @@ const struct types resolution_table_core__Array__nitc__FFILanguage = {
 };
 /* runtime type CLanguage */
 const struct type type_nitc__CLanguage = {
--1, /*CAST DEAD*/
+43,
 "CLanguage", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2364, /* FFILanguage */
+2380, /* Object */
+2401, /* nullable Object */
+2373, /* FFILanguage */
+43, /* CLanguage */
 },
 };
 /* runtime type ModelizePropertyPhase */
 const struct type type_nitc__modelize_property__ModelizePropertyPhase = {
--1, /*CAST DEAD*/
+44,
 "ModelizePropertyPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+44, /* ModelizePropertyPhase */
 },
 };
 /* runtime type PlatformPhase */
 const struct type type_nitc__platform__PlatformPhase = {
--1, /*CAST DEAD*/
+45,
 "PlatformPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+45, /* PlatformPhase */
 },
 };
 /* runtime type TypingPhase */
 const struct type type_nitc__typing__TypingPhase = {
--1, /*CAST DEAD*/
+46,
 "TypingPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+46, /* TypingPhase */
 },
 };
 /* runtime type ExternClassesTypingPhaseAst */
 const struct type type_nitc__extern_classes__ExternClassesTypingPhaseAst = {
--1, /*CAST DEAD*/
+47,
 "ExternClassesTypingPhaseAst", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+47, /* ExternClassesTypingPhaseAst */
 },
 };
 /* runtime type ExternClassesTypingPhaseModel */
 const struct type type_nitc__extern_classes__ExternClassesTypingPhaseModel = {
--1, /*CAST DEAD*/
+48,
 "ExternClassesTypingPhaseModel", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+48, /* ExternClassesTypingPhaseModel */
 },
 };
 /* runtime type AutoSuperInitPhase */
 const struct type type_nitc__auto_super_init__AutoSuperInitPhase = {
--1, /*CAST DEAD*/
+49,
 "AutoSuperInitPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+49, /* AutoSuperInitPhase */
 },
 };
 /* runtime type TransformPhase */
 const struct type type_nitc__transform__TransformPhase = {
--1, /*CAST DEAD*/
+50,
 "TransformPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+50, /* TransformPhase */
 },
 };
 /* runtime type OptionInt */
 const struct type type_opts__OptionInt = {
--1, /*CAST DEAD*/
+51,
 "OptionInt", /* class_name_string */
--1, /*CAST DEAD*/
+4,
 0,
 &resolution_table_opts__OptionInt,
-4,
+5,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2362, /* Option */
-2217, /* OptionParameter */
+2380, /* Object */
+2401, /* nullable Object */
+2371, /* Option */
+2221, /* OptionParameter */
+51, /* OptionInt */
 },
 };
 const struct types resolution_table_opts__OptionInt = {
@@ -4637,57 +4556,81 @@ const struct types resolution_table_opts__OptionInt = {
 };
 /* runtime type SeparateCompilerPhase */
 const struct type type_nitc__SeparateCompilerPhase = {
--1, /*CAST DEAD*/
+52,
 "SeparateCompilerPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+52, /* SeparateCompilerPhase */
 },
 };
 /* runtime type ErasureCompilerPhase */
 const struct type type_nitc__ErasureCompilerPhase = {
--1, /*CAST DEAD*/
+53,
 "ErasureCompilerPhase", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
-3,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2363, /* Phase */
+2380, /* Object */
+2401, /* nullable Object */
+2372, /* Phase */
+53, /* ErasureCompilerPhase */
 },
 };
 /* runtime type Model */
 const struct type type_nitc__Model = {
--1, /*CAST DEAD*/
+54,
 "Model", /* class_name_string */
--1, /*CAST DEAD*/
+3,
 0,
 NULL, /*NO RESOLUTIONS*/
+4,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+54, /* Model */
+},
+};
+/* runtime type Location */
+const struct type type_nitc__Location = {
+55,
+"Location", /* class_name_string */
 3,
+0,
+&resolution_table_nitc__Location,
+4,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
+2380, /* Object */
+2401, /* nullable Object */
+2845, /* Comparable */
+55, /* Location */
 },
 };
+const struct types resolution_table_nitc__Location = {
+0, /* dummy */
+{
+&type_nitc__Location, /* OTHER: Location */
+}
+};
 /* runtime type Array[MPackage] */
 const struct type type_core__Array__nitc__MPackage = {
-58,
+56,
 "Array[MPackage]", /* class_name_string */
 395,
 0,
 &resolution_table_core__Array__nitc__MPackage,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4696,7 +4639,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2407, /* Collection[MPackage] */
+2415, /* Collection[MPackage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4722,8 +4665,8 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4783,6 +4726,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4800,7 +4744,6 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4815,18 +4758,18 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2531, /* AbstractArrayRead[MPackage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2542, /* AbstractArrayRead[MPackage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4849,7 +4792,6 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4888,6 +4830,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4905,6 +4848,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4929,7 +4873,6 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4949,7 +4892,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2855, /* AbstractArray[MPackage] */
+2861, /* AbstractArray[MPackage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -4975,8 +4918,8 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5037,6 +4980,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5055,7 +4999,6 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5070,7 +5013,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5081,7 +5024,7 @@ const struct type type_core__Array__nitc__MPackage = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-58, /* Array[MPackage] */
+56, /* Array[MPackage] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5202,7 +5145,7 @@ const struct types resolution_table_core__Array__nitc__MPackage = {
 0, /* dummy */
 {
 &type_nitc__MPackage, /* E: MPackage */
-&type_core__Array__nitc__MPackage, /* Array[E]: Array[MPackage] */
+&type_core__Array__nitc__MPackage, /* SELF: Array[MPackage] */
 &type_core__Collection__nitc__MPackage, /* Collection[E]: Collection[MPackage] */
 &type_core__Array__nitc__MPackage, /* Array[E]: Array[MPackage] */
 &type_core__AbstractArray__nitc__MPackage, /* AbstractArray[E]: AbstractArray[MPackage] */
@@ -5213,6 +5156,7 @@ const struct types resolution_table_core__Array__nitc__MPackage = {
 &type_core__Collection__nitc__MPackage, /* Collection[E]: Collection[MPackage] */
 &type_core__Collection__nitc__MPackage, /* Collection[E]: Collection[MPackage] */
 &type_core__Array__nitc__MPackage, /* Array[E]: Array[MPackage] */
+&type_core__Array__nitc__MPackage, /* Array[E]: Array[MPackage] */
 &type_core__AbstractArray__nitc__MPackage, /* AbstractArray[E]: AbstractArray[MPackage] */
 &type_core__array__ArrayIterator__nitc__MPackage, /* ArrayIterator[E]: ArrayIterator[MPackage] */
 &type_core__array__ArrayReverseIterator__nitc__MPackage, /* ArrayReverseIterator[E]: ArrayReverseIterator[MPackage] */
@@ -5220,16 +5164,40 @@ const struct types resolution_table_core__Array__nitc__MPackage = {
 };
 /* runtime type MultiHashMap[String, MPackage] */
 const struct type type_more_collections__MultiHashMap__core__String__nitc__MPackage = {
--1, /*CAST DEAD*/
+57,
 "MultiHashMap[String, MPackage]", /* class_name_string */
--1, /*CAST DEAD*/
+167,
 0,
 &resolution_table_more_collections__MultiHashMap__core__String__nitc__MPackage,
-85,
+174,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+2993, /* MapRead[String, Array[MPackage]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5239,7 +5207,6 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MPack
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2354, /* HashMap[String, Array[MPackage]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5270,6 +5237,8 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MPack
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5289,14 +5258,13 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MPack
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* HashMap[Object, Array[Object]] */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2362, /* HashMap[String, Array[MPackage]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5312,6 +5280,71 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MPack
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+57, /* MultiHashMap[String, MPackage] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 },
 };
 const struct types resolution_table_more_collections__MultiHashMap__core__String__nitc__MPackage = {
@@ -5327,6 +5360,7 @@ const struct types resolution_table_more_collections__MultiHashMap__core__String
 &type_core__hash_collection__HashMapKeys__core__String__core__Array__nitc__MPackage, /* HashMapKeys[K, V]: HashMapKeys[String, Array[MPackage]] */
 &type_core__hash_collection__HashMapValues__core__String__core__Array__nitc__MPackage, /* HashMapValues[K, V]: HashMapValues[String, Array[MPackage]] */
 &type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MPackage, /* nullable N: nullable HashMapNode[String, Array[MPackage]] */
+&type_core__MapRead__core__String__core__Array__nitc__MPackage, /* MapRead[K, V]: MapRead[String, Array[MPackage]] */
 NULL, /* empty */
 &type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MPackage, /* N: HashMapNode[String, Array[MPackage]] */
 &type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MPackage, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[MPackage]]] */
@@ -5334,15 +5368,15 @@ NULL, /* empty */
 };
 /* runtime type Array[MModule] */
 const struct type type_core__Array__nitc__MModule = {
-60,
+58,
 "Array[MModule]", /* class_name_string */
 387,
 0,
 &resolution_table_core__Array__nitc__MModule,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5352,7 +5386,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2408, /* Collection[MModule] */
+2416, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5377,8 +5411,8 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5411,6 +5445,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2475, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5426,7 +5461,6 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2482, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5438,6 +5472,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5455,7 +5490,6 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5470,20 +5504,20 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
-2366, /* SequenceRead[MModule] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
+2375, /* SequenceRead[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2532, /* AbstractArrayRead[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2544, /* AbstractArrayRead[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5498,13 +5532,13 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2559, /* AbstractArrayRead[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5542,6 +5576,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5555,11 +5590,11 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2608, /* AbstractArrayRead[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5584,7 +5619,6 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5605,7 +5639,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2856, /* AbstractArray[MModule] */
+2862, /* AbstractArray[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5630,8 +5664,8 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5664,6 +5698,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2921, /* AbstractArray[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5681,7 +5716,6 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2932, /* AbstractArray[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5692,6 +5726,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5710,7 +5745,6 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5725,10 +5759,10 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
-60, /* Array[MModule] */
+58, /* Array[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5795,6 +5829,7 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1299, /* Array[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5809,7 +5844,6 @@ const struct type type_core__Array__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1638, /* Array[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5857,7 +5891,7 @@ const struct types resolution_table_core__Array__nitc__MModule = {
 0, /* dummy */
 {
 &type_nitc__MModule, /* E: MModule */
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
+&type_core__Array__nitc__MModule, /* SELF: Array[MModule] */
 &type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
 &type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
 &type_core__AbstractArray__nitc__MModule, /* AbstractArray[E]: AbstractArray[MModule] */
@@ -5868,6 +5902,7 @@ const struct types resolution_table_core__Array__nitc__MModule = {
 &type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
 &type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
 &type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
+&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
 &type_core__AbstractArray__nitc__MModule, /* AbstractArray[E]: AbstractArray[MModule] */
 &type_core__array__ArrayIterator__nitc__MModule, /* ArrayIterator[E]: ArrayIterator[MModule] */
 &type_core__array__ArrayReverseIterator__nitc__MModule, /* ArrayReverseIterator[E]: ArrayReverseIterator[MModule] */
@@ -5875,15 +5910,16 @@ const struct types resolution_table_core__Array__nitc__MModule = {
 };
 /* runtime type POSet[MModule] */
 const struct type type_poset__POSet__nitc__MModule = {
-61,
+59,
 "POSet[MModule]", /* class_name_string */
-129,
+130,
 0,
 &resolution_table_poset__POSet__nitc__MModule,
-135,
+136,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2207, /* POSet[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5892,8 +5928,8 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2416, /* Collection[MModule] */
 -1, /* empty */
-2408, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5918,7 +5954,7 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5951,6 +5987,7 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2475, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5967,7 +6004,6 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2482, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5978,6 +6014,7 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -5996,7 +6033,6 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6011,7 +6047,7 @@ const struct type type_poset__POSet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-61, /* POSet[MModule] */
+59, /* POSet[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6023,27 +6059,87 @@ const struct types resolution_table_poset__POSet__nitc__MModule = {
 0, /* dummy */
 {
 &type_core__HashMap__nitc__MModule__poset__POSetElement__nitc__MModule, /* HashMap[E, POSetElement[E]]: HashMap[MModule, POSetElement[MModule]] */
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
+&type_poset__POSet__nitc__MModule, /* SELF: POSet[MModule] */
 &type_nitc__MModule, /* E: MModule */
 &type_poset__POSetElement__nitc__MModule, /* POSetElement[E]: POSetElement[MModule] */
 &type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
+&type_nitc__MModule, /* COMPARED: MModule */
 &type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
+&type_poset__POSet__nitc__MModule, /* POSet[E]: POSet[MModule] */
 &type_nitc__POSetConflictGraph__nitc__MModule, /* POSetConflictGraph[E]: POSetConflictGraph[MModule] */
 &type_core__Array__nitc__MModule, /* Array[COMPARED]: Array[MModule] */
+NULL, /* empty */
+&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
 }
 };
 /* runtime type MultiHashMap[String, MModule] */
 const struct type type_more_collections__MultiHashMap__core__String__nitc__MModule = {
--1, /*CAST DEAD*/
+60,
 "MultiHashMap[String, MModule]", /* class_name_string */
--1, /*CAST DEAD*/
+168,
 0,
 &resolution_table_more_collections__MultiHashMap__core__String__nitc__MModule,
-85,
+174,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2994, /* MapRead[String, Array[MModule]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6051,10 +6147,11 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MModu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2355, /* HashMap[String, Array[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6080,6 +6177,7 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MModu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2363, /* HashMap[String, Array[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6103,8 +6201,6 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MModu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* HashMap[Object, Array[Object]] */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6119,6 +6215,8 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MModu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6126,6 +6224,37 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MModu
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+60, /* MultiHashMap[String, MModule] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
 },
 };
 const struct types resolution_table_more_collections__MultiHashMap__core__String__nitc__MModule = {
@@ -6141,6 +6270,7 @@ const struct types resolution_table_more_collections__MultiHashMap__core__String
 &type_core__hash_collection__HashMapKeys__core__String__core__Array__nitc__MModule, /* HashMapKeys[K, V]: HashMapKeys[String, Array[MModule]] */
 &type_core__hash_collection__HashMapValues__core__String__core__Array__nitc__MModule, /* HashMapValues[K, V]: HashMapValues[String, Array[MModule]] */
 &type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MModule, /* nullable N: nullable HashMapNode[String, Array[MModule]] */
+&type_core__MapRead__core__String__core__Array__nitc__MModule, /* MapRead[K, V]: MapRead[String, Array[MModule]] */
 NULL, /* empty */
 &type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MModule, /* N: HashMapNode[String, Array[MModule]] */
 &type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MModule, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[MModule]]] */
@@ -6148,15 +6278,15 @@ NULL, /* empty */
 };
 /* runtime type Array[MClass] */
 const struct type type_core__Array__nitc__MClass = {
-63,
+61,
 "Array[MClass]", /* class_name_string */
 393,
 0,
 &resolution_table_core__Array__nitc__MClass,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6167,7 +6297,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2409, /* Collection[MClass] */
+2417, /* Collection[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6191,12 +6321,12 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-2437, /* Collection[nullable MClass] */
 -1, /* empty */
+2446, /* Collection[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6252,6 +6382,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6269,7 +6400,6 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6284,8 +6414,8 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6294,7 +6424,6 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2533, /* AbstractArrayRead[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6302,6 +6431,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2548, /* AbstractArrayRead[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6318,11 +6448,9 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2561, /* AbstractArrayRead[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6358,6 +6486,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6375,6 +6504,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6384,6 +6514,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2631, /* AbstractArrayRead[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6398,7 +6529,6 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6420,7 +6550,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2857, /* AbstractArray[MClass] */
+2863, /* AbstractArray[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6444,12 +6574,12 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
-2885, /* AbstractArray[nullable MClass] */
 -1, /* empty */
+2892, /* AbstractArray[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6506,6 +6636,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6524,7 +6655,6 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6539,7 +6669,7 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6548,15 +6678,15 @@ const struct type type_core__Array__nitc__MClass = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-63, /* Array[MClass] */
+61, /* Array[MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-243, /* Array[nullable MClass] */
 -1, /* empty */
+241, /* Array[nullable MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6671,7 +6801,7 @@ const struct types resolution_table_core__Array__nitc__MClass = {
 0, /* dummy */
 {
 &type_nitc__MClass, /* E: MClass */
-&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__Array__nitc__MClass, /* SELF: Array[MClass] */
 &type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
 &type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
 &type_core__AbstractArray__nitc__MClass, /* AbstractArray[E]: AbstractArray[MClass] */
@@ -6682,6 +6812,7 @@ const struct types resolution_table_core__Array__nitc__MClass = {
 &type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
 &type_core__Collection__nitc__MClass, /* Collection[E]: Collection[MClass] */
 &type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
+&type_core__Array__nitc__MClass, /* Array[E]: Array[MClass] */
 &type_core__AbstractArray__nitc__MClass, /* AbstractArray[E]: AbstractArray[MClass] */
 &type_core__array__ArrayIterator__nitc__MClass, /* ArrayIterator[E]: ArrayIterator[MClass] */
 &type_core__array__ArrayReverseIterator__nitc__MClass, /* ArrayReverseIterator[E]: ArrayReverseIterator[MClass] */
@@ -6689,15 +6820,15 @@ const struct types resolution_table_core__Array__nitc__MClass = {
 };
 /* runtime type Array[MProperty] */
 const struct type type_core__Array__nitc__MProperty = {
-64,
+62,
 "Array[MProperty]", /* class_name_string */
 396,
 0,
 &resolution_table_core__Array__nitc__MProperty,
 510,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6709,7 +6840,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2410, /* Collection[MProperty] */
+2418, /* Collection[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6732,10 +6863,10 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
-2435, /* Collection[PropertyLayoutElement] */
+2442, /* Collection[Object] */
 -1, /* empty */
+2444, /* Collection[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6763,9 +6894,9 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2472, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
-2466, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6793,6 +6924,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6806,18 +6938,17 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2516, /* Collection[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2518, /* Collection[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6825,8 +6956,8 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6836,7 +6967,6 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2534, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6844,12 +6974,14 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2549, /* AbstractArrayRead[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2556, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6859,9 +6991,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2559, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6894,11 +7024,11 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2592, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6916,10 +7046,13 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2625, /* AbstractArrayRead[PropertyLayoutElement] */
 -1, /* empty */
+2627, /* AbstractArrayRead[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6939,14 +7072,12 @@ const struct type type_core__Array__nitc__MProperty = {
 -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 */
@@ -6962,7 +7093,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2858, /* AbstractArray[MProperty] */
+2864, /* AbstractArray[MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -6985,10 +7116,10 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
-2883, /* AbstractArray[PropertyLayoutElement] */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
+2890, /* AbstractArray[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7016,11 +7147,11 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2918, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2916, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7047,6 +7178,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7060,19 +7192,18 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2963, /* AbstractArray[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2968, /* AbstractArray[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7080,7 +7211,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7092,10 +7223,10 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-64, /* Array[MProperty] */
+62, /* Array[MProperty] */
 -1, /* empty */
 -1, /* empty */
-2119, /* Array[nullable MProperty] */
+1259, /* Array[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7122,8 +7253,8 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-236, /* Array[PropertyLayoutElement] */
 -1, /* empty */
+234, /* Array[PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7150,7 +7281,6 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1457, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7190,6 +7320,7 @@ const struct type type_core__Array__nitc__MProperty = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1929, /* Array[nullable PropertyLayoutElement] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7212,7 +7343,7 @@ const struct types resolution_table_core__Array__nitc__MProperty = {
 0, /* dummy */
 {
 &type_nitc__MProperty, /* E: MProperty */
-&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__Array__nitc__MProperty, /* SELF: Array[MProperty] */
 &type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
 &type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
 &type_core__AbstractArray__nitc__MProperty, /* AbstractArray[E]: AbstractArray[MProperty] */
@@ -7223,6 +7354,7 @@ const struct types resolution_table_core__Array__nitc__MProperty = {
 &type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
 &type_core__Collection__nitc__MProperty, /* Collection[E]: Collection[MProperty] */
 &type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
+&type_core__Array__nitc__MProperty, /* Array[E]: Array[MProperty] */
 &type_core__AbstractArray__nitc__MProperty, /* AbstractArray[E]: AbstractArray[MProperty] */
 &type_core__array__ArrayIterator__nitc__MProperty, /* ArrayIterator[E]: ArrayIterator[MProperty] */
 &type_core__array__ArrayReverseIterator__nitc__MProperty, /* ArrayReverseIterator[E]: ArrayReverseIterator[MProperty] */
@@ -7230,15 +7362,16 @@ const struct types resolution_table_core__Array__nitc__MProperty = {
 };
 /* runtime type POSet[MClassDef] */
 const struct type type_poset__POSet__nitc__MClassDef = {
-65,
+63,
 "POSet[MClassDef]", /* class_name_string */
-130,
+131,
 0,
 &resolution_table_poset__POSet__nitc__MClassDef,
-135,
+136,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2207, /* POSet[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7254,7 +7387,7 @@ const struct type type_poset__POSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2414, /* Collection[MClassDef] */
+2423, /* Collection[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7273,7 +7406,7 @@ const struct type type_poset__POSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7333,6 +7466,7 @@ const struct type type_poset__POSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7351,7 +7485,6 @@ const struct type type_poset__POSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7367,7 +7500,7 @@ const struct type type_poset__POSet__nitc__MClassDef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-65, /* POSet[MClassDef] */
+63, /* POSet[MClassDef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7378,26 +7511,31 @@ const struct types resolution_table_poset__POSet__nitc__MClassDef = {
 0, /* dummy */
 {
 &type_core__HashMap__nitc__MClassDef__poset__POSetElement__nitc__MClassDef, /* HashMap[E, POSetElement[E]]: HashMap[MClassDef, POSetElement[MClassDef]] */
-&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_poset__POSet__nitc__MClassDef, /* SELF: POSet[MClassDef] */
 &type_nitc__MClassDef, /* E: MClassDef */
 &type_poset__POSetElement__nitc__MClassDef, /* POSetElement[E]: POSetElement[MClassDef] */
 &type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_nitc__MClassDef, /* COMPARED: MClassDef */
 &type_core__Collection__nitc__MClassDef, /* Collection[E]: Collection[MClassDef] */
+&type_poset__POSet__nitc__MClassDef, /* POSet[E]: POSet[MClassDef] */
 &type_nitc__POSetConflictGraph__nitc__MClassDef, /* POSetConflictGraph[E]: POSetConflictGraph[MClassDef] */
 &type_core__Array__nitc__MClassDef, /* Array[COMPARED]: Array[MClassDef] */
+NULL, /* empty */
+&type_core__Array__nitc__MClassDef, /* Array[E]: Array[MClassDef] */
 }
 };
 /* runtime type POSet[MClassType] */
 const struct type type_poset__POSet__nitc__MClassType = {
-66,
+64,
 "POSet[MClassType]", /* class_name_string */
-131,
+132,
 0,
 &resolution_table_poset__POSet__nitc__MClassType,
-135,
+136,
 {
-2371, /* Object */
-2397, /* nullable Object */
+2380, /* Object */
+2401, /* nullable Object */
+2207, /* POSet[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7415,7 +7553,7 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2416, /* Collection[MClassType] */
+2425, /* Collection[MClassType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7424,7 +7562,7 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2425, /* Collection[MType] */
+2434, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7432,7 +7570,7 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7443,7 +7581,7 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2444, /* Collection[nullable MType] */
+2453, /* Collection[nullable MType] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7492,6 +7630,7 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7510,7 +7649,6 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7527,9 +7665,9 @@ const struct type type_poset__POSet__nitc__MClassType = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-66, /* POSet[MClassType] */
+64, /* POSet[MClassType] */
 -1, /* empty */
-206, /* POSet[MType] */
+205, /* POSet[MType] */
 -1, /* empty */
 },
 };
@@ -7537,31 +7675,36 @@ const struct types resolution_table_poset__POSet__nitc__MClassType = {
 0, /* dummy */
 {
 &type_core__HashMap__nitc__MClassType__poset__POSetElement__nitc__MClassType, /* HashMap[E, POSetElement[E]]: HashMap[MClassType, POSetElement[MClassType]] */
-&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_poset__POSet__nitc__MClassType, /* SELF: POSet[MClassType] */
 &type_nitc__MClassType, /* E: MClassType */
 &type_poset__POSetElement__nitc__MClassType, /* POSetElement[E]: POSetElement[MClassType] */
 &type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
+&type_nitc__MClassType, /* COMPARED: MClassType */
 &type_core__Collection__nitc__MClassType, /* Collection[E]: Collection[MClassType] */
+&type_poset__POSet__nitc__MClassType, /* POSet[E]: POSet[MClassType] */
 &type_nitc__POSetConflictGraph__nitc__MClassType, /* POSetConflictGraph[E]: POSetConflictGraph[MClassType] */
 &type_core__Array__nitc__MClassType, /* Array[COMPARED]: Array[MClassType] */
+NULL, /* empty */
+&type_core__Array__nitc__MClassType, /* Array[E]: Array[MClassType] */
 }
 };
 /* runtime type MultiHashMap[String, MClass] */
 const struct type type_more_collections__MultiHashMap__core__String__nitc__MClass = {
--1, /*CAST DEAD*/
+65,
 "MultiHashMap[String, MClass]", /* class_name_string */
--1, /*CAST DEAD*/
+169,
 0,
 &resolution_table_more_collections__MultiHashMap__core__String__nitc__MClass,
-85,
+174,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2995, /* MapRead[String, Array[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7569,7 +7712,6 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2356, /* HashMap[String, Array[MClass]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7617,8 +7759,14 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* HashMap[Object, Array[Object]] */
-1358, /* HashMap[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7640,38 +7788,6 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MClas
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_more_collections__MultiHashMap__core__String__nitc__MClass = {
-0, /* dummy */
-{
-&type_core__String, /* K: String */
-&type_nitc__MClass, /* V: MClass */
-&type_core__Array__nitc__MClass, /* Array[V]: Array[MClass] */
-&type_core__hash_collection__HashMapIterator__core__String__core__Array__nitc__MClass, /* HashMapIterator[K, V]: HashMapIterator[String, Array[MClass]] */
-&type_core__String, /* K: String */
-&type_core__Array__nitc__MClass, /* V: Array[MClass] */
-&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* HashMapNode[K, V]: HashMapNode[String, Array[MClass]] */
-&type_core__hash_collection__HashMapKeys__core__String__core__Array__nitc__MClass, /* HashMapKeys[K, V]: HashMapKeys[String, Array[MClass]] */
-&type_core__hash_collection__HashMapValues__core__String__core__Array__nitc__MClass, /* HashMapValues[K, V]: HashMapValues[String, Array[MClass]] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* nullable N: nullable HashMapNode[String, Array[MClass]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* N: HashMapNode[String, Array[MClass]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[MClass]]] */
-}
-};
-/* runtime type MultiHashMap[String, MProperty] */
-const struct type type_more_collections__MultiHashMap__core__String__nitc__MProperty = {
--1, /*CAST DEAD*/
-"MultiHashMap[String, MProperty]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_more_collections__MultiHashMap__core__String__nitc__MProperty,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7682,9 +7798,9 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2364, /* HashMap[String, Array[MClass]] */
 -1, /* empty */
 -1, /* empty */
-2357, /* HashMap[String, Array[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7715,6 +7831,8 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7731,8 +7849,6 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1357, /* HashMap[Object, Array[Object]] */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7750,118 +7866,50 @@ const struct type type_more_collections__MultiHashMap__core__String__nitc__MProp
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+65, /* MultiHashMap[String, MClass] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_more_collections__MultiHashMap__core__String__nitc__MProperty = {
+const struct types resolution_table_more_collections__MultiHashMap__core__String__nitc__MClass = {
 0, /* dummy */
 {
 &type_core__String, /* K: String */
-&type_nitc__MProperty, /* V: MProperty */
-&type_core__Array__nitc__MProperty, /* Array[V]: Array[MProperty] */
-&type_core__hash_collection__HashMapIterator__core__String__core__Array__nitc__MProperty, /* HashMapIterator[K, V]: HashMapIterator[String, Array[MProperty]] */
+&type_nitc__MClass, /* V: MClass */
+&type_core__Array__nitc__MClass, /* Array[V]: Array[MClass] */
+&type_core__hash_collection__HashMapIterator__core__String__core__Array__nitc__MClass, /* HashMapIterator[K, V]: HashMapIterator[String, Array[MClass]] */
 &type_core__String, /* K: String */
-&type_core__Array__nitc__MProperty, /* V: Array[MProperty] */
-&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* HashMapNode[K, V]: HashMapNode[String, Array[MProperty]] */
-&type_core__hash_collection__HashMapKeys__core__String__core__Array__nitc__MProperty, /* HashMapKeys[K, V]: HashMapKeys[String, Array[MProperty]] */
-&type_core__hash_collection__HashMapValues__core__String__core__Array__nitc__MProperty, /* HashMapValues[K, V]: HashMapValues[String, Array[MProperty]] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* nullable N: nullable HashMapNode[String, Array[MProperty]] */
+&type_core__Array__nitc__MClass, /* V: Array[MClass] */
+&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* HashMapNode[K, V]: HashMapNode[String, Array[MClass]] */
+&type_core__hash_collection__HashMapKeys__core__String__core__Array__nitc__MClass, /* HashMapKeys[K, V]: HashMapKeys[String, Array[MClass]] */
+&type_core__hash_collection__HashMapValues__core__String__core__Array__nitc__MClass, /* HashMapValues[K, V]: HashMapValues[String, Array[MClass]] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* nullable N: nullable HashMapNode[String, Array[MClass]] */
+&type_core__MapRead__core__String__core__Array__nitc__MClass, /* MapRead[K, V]: MapRead[String, Array[MClass]] */
 NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* N: HashMapNode[String, Array[MProperty]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
-}
-};
-/* runtime type MNullType */
-const struct type type_nitc__MNullType = {
-69,
-"MNullType", /* class_name_string */
-5,
-0,
-NULL, /*NO RESOLUTIONS*/
-6,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-2370, /* MType */
-2377, /* nullable MType */
-69, /* MNullType */
-},
-};
-/* runtime type MBottomType */
-const struct type type_nitc__MBottomType = {
-70,
-"MBottomType", /* class_name_string */
-5,
-0,
-NULL, /*NO RESOLUTIONS*/
-6,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2214, /* MEntity */
-2370, /* MType */
-2377, /* nullable MType */
-70, /* MBottomType */
-},
-};
-/* runtime type ModelBuilder */
-const struct type type_nitc__ModelBuilder = {
--1, /*CAST DEAD*/
-"ModelBuilder", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-NULL, /*NO RESOLUTIONS*/
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-/* runtime type HashMap3[MModule, MType, String, nullable MProperty] */
-const struct type type_more_collections__HashMap3__nitc__MModule__nitc__MType__core__String__nullable__nitc__MProperty = {
--1, /*CAST DEAD*/
-"HashMap3[MModule, MType, String, nullable MProperty]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_more_collections__HashMap3__nitc__MModule__nitc__MType__core__String__nullable__nitc__MProperty,
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-const struct types resolution_table_more_collections__HashMap3__nitc__MModule__nitc__MType__core__String__nullable__nitc__MProperty = {
-0, /* dummy */
-{
-&type_core__HashMap__nitc__MModule__more_collections__HashMap2__nitc__MType__core__String__nullable__nitc__MProperty, /* HashMap[K1, HashMap2[K2, K3, V]]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_nitc__MModule, /* K1: MModule */
-&type_nitc__MType, /* K2: MType */
-&type_core__String, /* K3: String */
-&type_nullable__nitc__MProperty, /* V: nullable MProperty */
-&type_more_collections__HashMap2__nitc__MType__core__String__nullable__nitc__MProperty, /* HashMap2[K2, K3, V]: HashMap2[MType, String, nullable MProperty] */
+&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* N: HashMapNode[String, Array[MClass]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MClass, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[MClass]]] */
 }
 };
-/* runtime type HashMap[String, nullable MModule] */
-const struct type type_core__HashMap__core__String__nullable__nitc__MModule = {
-73,
-"HashMap[String, nullable MModule]", /* class_name_string */
-16,
+/* runtime type MultiHashMap[String, MProperty] */
+const struct type type_more_collections__MultiHashMap__core__String__nitc__MProperty = {
+66,
+"MultiHashMap[String, MProperty]", /* class_name_string */
+170,
 0,
-&resolution_table_core__HashMap__core__String__nullable__nitc__MModule,
-85,
+&resolution_table_more_collections__MultiHashMap__core__String__nitc__MProperty,
+174,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2996, /* MapRead[String, Array[MProperty]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7870,7 +7918,6 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-73, /* HashMap[String, nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7917,7 +7964,11 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7939,38 +7990,6 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__core__String__nullable__nitc__MModule = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__core__String__nullable__nitc__MModule, /* HashMapIterator[K, V]: HashMapIterator[String, nullable MModule] */
-&type_core__String, /* K: String */
-&type_nullable__nitc__MModule, /* V: nullable MModule */
-&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* HashMapNode[K, V]: HashMapNode[String, nullable MModule] */
-&type_core__hash_collection__HashMapKeys__core__String__nullable__nitc__MModule, /* HashMapKeys[K, V]: HashMapKeys[String, nullable MModule] */
-&type_core__hash_collection__HashMapValues__core__String__nullable__nitc__MModule, /* HashMapValues[K, V]: HashMapValues[String, nullable MModule] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* nullable N: nullable HashMapNode[String, nullable MModule] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* N: HashMapNode[String, nullable MModule] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, nullable MModule]] */
-}
-};
-/* runtime type HashMap[String, nullable MGroup] */
-const struct type type_core__HashMap__core__String__nullable__nitc__MGroup = {
-74,
-"HashMap[String, nullable MGroup]", /* class_name_string */
-17,
-0,
-&resolution_table_core__HashMap__core__String__nullable__nitc__MGroup,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -7984,8 +8003,8 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2365, /* HashMap[String, Array[MProperty]] */
 -1, /* empty */
-74, /* HashMap[String, nullable MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8016,6 +8035,8 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8031,7 +8052,6 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8051,132 +8071,123 @@ const struct type type_core__HashMap__core__String__nullable__nitc__MGroup = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+66, /* MultiHashMap[String, MProperty] */
+-1, /* empty */
 -1, /* empty */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__core__String__nullable__nitc__MGroup = {
+const struct types resolution_table_more_collections__MultiHashMap__core__String__nitc__MProperty = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__core__String__nullable__nitc__MGroup, /* HashMapIterator[K, V]: HashMapIterator[String, nullable MGroup] */
 &type_core__String, /* K: String */
-&type_nullable__nitc__MGroup, /* V: nullable MGroup */
-&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* HashMapNode[K, V]: HashMapNode[String, nullable MGroup] */
-&type_core__hash_collection__HashMapKeys__core__String__nullable__nitc__MGroup, /* HashMapKeys[K, V]: HashMapKeys[String, nullable MGroup] */
-&type_core__hash_collection__HashMapValues__core__String__nullable__nitc__MGroup, /* HashMapValues[K, V]: HashMapValues[String, nullable MGroup] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* nullable N: nullable HashMapNode[String, nullable MGroup] */
+&type_nitc__MProperty, /* V: MProperty */
+&type_core__Array__nitc__MProperty, /* Array[V]: Array[MProperty] */
+&type_core__hash_collection__HashMapIterator__core__String__core__Array__nitc__MProperty, /* HashMapIterator[K, V]: HashMapIterator[String, Array[MProperty]] */
+&type_core__String, /* K: String */
+&type_core__Array__nitc__MProperty, /* V: Array[MProperty] */
+&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* HashMapNode[K, V]: HashMapNode[String, Array[MProperty]] */
+&type_core__hash_collection__HashMapKeys__core__String__core__Array__nitc__MProperty, /* HashMapKeys[K, V]: HashMapKeys[String, Array[MProperty]] */
+&type_core__hash_collection__HashMapValues__core__String__core__Array__nitc__MProperty, /* HashMapValues[K, V]: HashMapValues[String, Array[MProperty]] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* nullable N: nullable HashMapNode[String, Array[MProperty]] */
+&type_core__MapRead__core__String__core__Array__nitc__MProperty, /* MapRead[K, V]: MapRead[String, Array[MProperty]] */
 NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* N: HashMapNode[String, nullable MGroup] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, nullable MGroup]] */
+&type_core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* N: HashMapNode[String, Array[MProperty]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__core__Array__nitc__MProperty, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
 }
 };
-/* runtime type Array[SequenceRead[MModule]] */
-const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
-75,
-"Array[SequenceRead[MModule]]", /* class_name_string */
-407,
+/* runtime type MNullType */
+const struct type type_nitc__MNullType = {
+67,
+"MNullType", /* class_name_string */
+5,
 0,
-&resolution_table_core__Array__core__SequenceRead__nitc__MModule,
-510,
+NULL, /*NO RESOLUTIONS*/
+6,
 {
-2371, /* Object */
-2397, /* nullable Object */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2411, /* Collection[SequenceRead[MModule]] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2433, /* Collection[Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+67, /* MNullType */
+},
+};
+/* runtime type MBottomType */
+const struct type type_nitc__MBottomType = {
+68,
+"MBottomType", /* class_name_string */
+5,
+0,
+NULL, /*NO RESOLUTIONS*/
+6,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2219, /* MEntity */
+2379, /* MType */
+2386, /* nullable MType */
+68, /* MBottomType */
+},
+};
+/* runtime type ModelBuilder */
+const struct type type_nitc__ModelBuilder = {
+69,
+"ModelBuilder", /* class_name_string */
+2,
+0,
+NULL, /*NO RESOLUTIONS*/
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+69, /* ModelBuilder */
+},
+};
+/* runtime type HashMap3[MModule, MType, String, nullable MProperty] */
+const struct type type_more_collections__HashMap3__nitc__MModule__nitc__MType__core__String__nullable__nitc__MProperty = {
+70,
+"HashMap3[MModule, MType, String, nullable MProperty]", /* class_name_string */
+2,
+0,
+&resolution_table_more_collections__HashMap3__nitc__MModule__nitc__MType__core__String__nullable__nitc__MProperty,
+3,
+{
+2380, /* Object */
+2401, /* nullable Object */
+70, /* HashMap3[MModule, MType, String, nullable MProperty] */
+},
+};
+const struct types resolution_table_more_collections__HashMap3__nitc__MModule__nitc__MType__core__String__nullable__nitc__MProperty = {
+0, /* dummy */
+{
+&type_core__HashMap__nitc__MModule__more_collections__HashMap2__nitc__MType__core__String__nullable__nitc__MProperty, /* HashMap[K1, HashMap2[K2, K3, V]]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_nitc__MModule, /* K1: MModule */
+&type_nitc__MType, /* K2: MType */
+&type_core__String, /* K3: String */
+&type_nullable__nitc__MProperty, /* V: nullable MProperty */
+&type_more_collections__HashMap2__nitc__MType__core__String__nullable__nitc__MProperty, /* HashMap2[K2, K3, V]: HashMap2[MType, String, nullable MProperty] */
+}
+};
+/* runtime type MultiHashMap[MModule, String] */
+const struct type type_more_collections__MultiHashMap__nitc__MModule__core__String = {
+71,
+"MultiHashMap[MModule, String]", /* class_name_string */
+171,
+0,
+&resolution_table_more_collections__MultiHashMap__nitc__MModule__core__String,
+174,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2997, /* MapRead[MModule, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8196,7 +8207,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8211,8 +8221,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8223,7 +8231,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2535, /* AbstractArrayRead[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8237,6 +8244,8 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3054, /* MapRead[Object, Array[Object]] */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8245,7 +8254,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8276,6 +8284,7 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2366, /* HashMap[MModule, Array[String]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8303,6 +8312,8 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
+1703, /* HashMap[Object, Array[Object]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8325,7 +8336,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8339,8 +8349,42 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+71, /* MultiHashMap[MModule, String] */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_more_collections__MultiHashMap__nitc__MModule__core__String = {
+0, /* dummy */
+{
+&type_nitc__MModule, /* K: MModule */
+&type_core__String, /* V: String */
+&type_core__Array__core__String, /* Array[V]: Array[String] */
+&type_core__hash_collection__HashMapIterator__nitc__MModule__core__Array__core__String, /* HashMapIterator[K, V]: HashMapIterator[MModule, Array[String]] */
+&type_nitc__MModule, /* K: MModule */
+&type_core__Array__core__String, /* V: Array[String] */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Array__core__String, /* HashMapNode[K, V]: HashMapNode[MModule, Array[String]] */
+&type_core__hash_collection__HashMapKeys__nitc__MModule__core__Array__core__String, /* HashMapKeys[K, V]: HashMapKeys[MModule, Array[String]] */
+&type_core__hash_collection__HashMapValues__nitc__MModule__core__Array__core__String, /* HashMapValues[K, V]: HashMapValues[MModule, Array[String]] */
+&type_nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Array__core__String, /* nullable N: nullable HashMapNode[MModule, Array[String]] */
+&type_core__MapRead__nitc__MModule__core__Array__core__String, /* MapRead[K, V]: MapRead[MModule, Array[String]] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__nitc__MModule__core__Array__core__String, /* N: HashMapNode[MModule, Array[String]] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MModule__core__Array__core__String, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MModule, Array[String]]] */
+}
+};
+/* runtime type HashMap[String, nullable MModule] */
+const struct type type_core__HashMap__core__String__nullable__nitc__MModule = {
+72,
+"HashMap[String, nullable MModule]", /* class_name_string */
+107,
+0,
+&resolution_table_core__HashMap__core__String__nullable__nitc__MModule,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8348,8 +8392,8 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2998, /* MapRead[String, nullable MModule] */
 -1, /* empty */
-2859, /* AbstractArray[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8371,7 +8415,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8406,6 +8449,7 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8445,13 +8489,13 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+72, /* HashMap[String, nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8466,13 +8510,13 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8489,7 +8533,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-75, /* Array[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8505,6 +8548,39 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__String__nullable__nitc__MModule = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__String__nullable__nitc__MModule, /* HashMapIterator[K, V]: HashMapIterator[String, nullable MModule] */
+&type_core__String, /* K: String */
+&type_nullable__nitc__MModule, /* V: nullable MModule */
+&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* HashMapNode[K, V]: HashMapNode[String, nullable MModule] */
+&type_core__hash_collection__HashMapKeys__core__String__nullable__nitc__MModule, /* HashMapKeys[K, V]: HashMapKeys[String, nullable MModule] */
+&type_core__hash_collection__HashMapValues__core__String__nullable__nitc__MModule, /* HashMapValues[K, V]: HashMapValues[String, nullable MModule] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* nullable N: nullable HashMapNode[String, nullable MModule] */
+&type_core__MapRead__core__String__nullable__nitc__MModule, /* MapRead[K, V]: MapRead[String, nullable MModule] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* N: HashMapNode[String, nullable MModule] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MModule, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, nullable MModule]] */
+}
+};
+/* runtime type HashMap[String, nullable MGroup] */
+const struct type type_core__HashMap__core__String__nullable__nitc__MGroup = {
+73,
+"HashMap[String, nullable MGroup]", /* class_name_string */
+108,
+0,
+&resolution_table_core__HashMap__core__String__nullable__nitc__MGroup,
+166,
+{
+2380, /* Object */
+2401, /* nullable Object */
+2206, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8513,6 +8589,7 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2999, /* MapRead[String, nullable MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8568,6 +8645,7 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+3055, /* MapRead[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8592,39 +8670,6 @@ const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__core__SequenceRead__nitc__MModule = {
-0, /* dummy */
-{
-&type_core__SequenceRead__nitc__MModule, /* E: SequenceRead[MModule] */
-&type_core__Array__core__SequenceRead__nitc__MModule, /* Array[E]: Array[SequenceRead[MModule]] */
-&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
-&type_core__Array__core__SequenceRead__nitc__MModule, /* Array[E]: Array[SequenceRead[MModule]] */
-&type_core__AbstractArray__core__SequenceRead__nitc__MModule, /* AbstractArray[E]: AbstractArray[SequenceRead[MModule]] */
-&type_core__NativeArray__core__SequenceRead__nitc__MModule, /* NativeArray[E]: NativeArray[SequenceRead[MModule]] */
-&type_core__SequenceRead__nitc__MModule, /* E: SequenceRead[MModule] */
-&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
-&type_core__SequenceRead__nitc__MModule, /* E: SequenceRead[MModule] */
-&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
-&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
-&type_core__Array__core__SequenceRead__nitc__MModule, /* Array[E]: Array[SequenceRead[MModule]] */
-&type_core__AbstractArray__core__SequenceRead__nitc__MModule, /* AbstractArray[E]: AbstractArray[SequenceRead[MModule]] */
-&type_core__array__ArrayIterator__core__SequenceRead__nitc__MModule, /* ArrayIterator[E]: ArrayIterator[SequenceRead[MModule]] */
-&type_core__array__ArrayReverseIterator__core__SequenceRead__nitc__MModule, /* ArrayReverseIterator[E]: ArrayReverseIterator[SequenceRead[MModule]] */
-}
-};
-/* runtime type Array[AModule] */
-const struct type type_core__Array__nitc__AModule = {
-76,
-"Array[AModule]", /* class_name_string */
-408,
-0,
-&resolution_table_core__Array__nitc__AModule,
-510,
-{
-2371, /* Object */
-2397, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8638,10 +8683,10 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2412, /* Collection[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+73, /* HashMap[String, nullable MGroup] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8659,16 +8704,15 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2440, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
+1704, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8686,7 +8730,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2460, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8701,6 +8744,38 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+},
+};
+const struct types resolution_table_core__HashMap__core__String__nullable__nitc__MGroup = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_core__hash_collection__HashMapIterator__core__String__nullable__nitc__MGroup, /* HashMapIterator[K, V]: HashMapIterator[String, nullable MGroup] */
+&type_core__String, /* K: String */
+&type_nullable__nitc__MGroup, /* V: nullable MGroup */
+&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* HashMapNode[K, V]: HashMapNode[String, nullable MGroup] */
+&type_core__hash_collection__HashMapKeys__core__String__nullable__nitc__MGroup, /* HashMapKeys[K, V]: HashMapKeys[String, nullable MGroup] */
+&type_core__hash_collection__HashMapValues__core__String__nullable__nitc__MGroup, /* HashMapValues[K, V]: HashMapValues[String, nullable MGroup] */
+&type_nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* nullable N: nullable HashMapNode[String, nullable MGroup] */
+&type_core__MapRead__core__String__nullable__nitc__MGroup, /* MapRead[K, V]: MapRead[String, nullable MGroup] */
+NULL, /* empty */
+&type_core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* N: HashMapNode[String, nullable MGroup] */
+&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nullable__nitc__MGroup, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, nullable MGroup]] */
+}
+};
+/* runtime type Array[SequenceRead[MModule]] */
+const struct type type_core__Array__core__SequenceRead__nitc__MModule = {
+74,
+"Array[SequenceRead[MModule]]", /* class_name_string */
+407,
+0,
+&resolution_table_core__Array__core__SequenceRead__nitc__MModule,
+510,
+{
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8713,6 +8788,7 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2419, /* Collection[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8735,9 +8811,9 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8752,8 +8828,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2015, /* Array[nullable Object] */
-2202, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8765,7 +8839,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2536, /* AbstractArrayRead[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8786,7 +8859,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2557, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8794,12 +8866,12 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2565, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8815,7 +8887,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8832,6 +8903,8 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8860,13 +8933,13 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2561, /* AbstractArrayRead[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2637, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8891,7 +8964,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2860, /* AbstractArray[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8903,6 +8975,7 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8912,16 +8985,15 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2881, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2888, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8941,7 +9013,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2910, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8970,6 +9041,7 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2865, /* AbstractArray[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -8992,7 +9064,7 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2961, /* AbstractArray[nullable Object] */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9007,7 +9079,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-228, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9031,7 +9102,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-76, /* Array[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9052,10 +9122,10 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-258, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9071,7 +9141,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1327, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9089,6 +9158,7 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9111,6 +9181,7 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+74, /* Array[SequenceRead[MModule]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9133,40 +9204,6 @@ const struct type type_core__Array__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__Array__nitc__AModule = {
-0, /* dummy */
-{
-&type_nitc__AModule, /* E: AModule */
-&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
-&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
-&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
-&type_core__AbstractArray__nitc__AModule, /* AbstractArray[E]: AbstractArray[AModule] */
-&type_core__NativeArray__nitc__AModule, /* NativeArray[E]: NativeArray[AModule] */
-&type_nitc__AModule, /* E: AModule */
-&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
-&type_nitc__AModule, /* E: AModule */
-&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
-&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
-&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
-&type_core__AbstractArray__nitc__AModule, /* AbstractArray[E]: AbstractArray[AModule] */
-&type_core__array__ArrayIterator__nitc__AModule, /* ArrayIterator[E]: ArrayIterator[AModule] */
-&type_core__array__ArrayReverseIterator__nitc__AModule, /* ArrayReverseIterator[E]: ArrayReverseIterator[AModule] */
-}
-};
-/* runtime type HashMap[MModule, AModule] */
-const struct type type_core__HashMap__nitc__MModule__nitc__AModule = {
-77,
-"HashMap[MModule, AModule]", /* class_name_string */
-18,
-0,
-&resolution_table_core__HashMap__nitc__MModule__nitc__AModule,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9182,7 +9219,6 @@ const struct type type_core__HashMap__nitc__MModule__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-77, /* HashMap[MModule, AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9227,7 +9263,6 @@ const struct type type_core__HashMap__nitc__MModule__nitc__AModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9251,41 +9286,38 @@ const struct type type_core__HashMap__nitc__MModule__nitc__AModule = {
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__HashMap__nitc__MModule__nitc__AModule = {
+const struct types resolution_table_core__Array__core__SequenceRead__nitc__MModule = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MModule__nitc__AModule, /* HashMapIterator[K, V]: HashMapIterator[MModule, AModule] */
-&type_nitc__MModule, /* K: MModule */
-&type_nitc__AModule, /* V: AModule */
-&type_core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* HashMapNode[K, V]: HashMapNode[MModule, AModule] */
-&type_core__hash_collection__HashMapKeys__nitc__MModule__nitc__AModule, /* HashMapKeys[K, V]: HashMapKeys[MModule, AModule] */
-&type_core__hash_collection__HashMapValues__nitc__MModule__nitc__AModule, /* HashMapValues[K, V]: HashMapValues[MModule, AModule] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* nullable N: nullable HashMapNode[MModule, AModule] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* N: HashMapNode[MModule, AModule] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MModule__nitc__AModule, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MModule, AModule]] */
+&type_core__SequenceRead__nitc__MModule, /* E: SequenceRead[MModule] */
+&type_core__Array__core__SequenceRead__nitc__MModule, /* SELF: Array[SequenceRead[MModule]] */
+&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
+&type_core__Array__core__SequenceRead__nitc__MModule, /* Array[E]: Array[SequenceRead[MModule]] */
+&type_core__AbstractArray__core__SequenceRead__nitc__MModule, /* AbstractArray[E]: AbstractArray[SequenceRead[MModule]] */
+&type_core__NativeArray__core__SequenceRead__nitc__MModule, /* NativeArray[E]: NativeArray[SequenceRead[MModule]] */
+&type_core__SequenceRead__nitc__MModule, /* E: SequenceRead[MModule] */
+&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
+&type_core__SequenceRead__nitc__MModule, /* E: SequenceRead[MModule] */
+&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
+&type_core__Collection__core__SequenceRead__nitc__MModule, /* Collection[E]: Collection[SequenceRead[MModule]] */
+&type_core__Array__core__SequenceRead__nitc__MModule, /* Array[E]: Array[SequenceRead[MModule]] */
+&type_core__Array__core__SequenceRead__nitc__MModule, /* Array[E]: Array[SequenceRead[MModule]] */
+&type_core__AbstractArray__core__SequenceRead__nitc__MModule, /* AbstractArray[E]: AbstractArray[SequenceRead[MModule]] */
+&type_core__array__ArrayIterator__core__SequenceRead__nitc__MModule, /* ArrayIterator[E]: ArrayIterator[SequenceRead[MModule]] */
+&type_core__array__ArrayReverseIterator__core__SequenceRead__nitc__MModule, /* ArrayReverseIterator[E]: ArrayReverseIterator[SequenceRead[MModule]] */
 }
 };
-/* runtime type HashMap[MClassDef, AClassdef] */
-const struct type type_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
-78,
-"HashMap[MClassDef, AClassdef]", /* class_name_string */
-19,
+/* runtime type Array[AModule] */
+const struct type type_core__Array__nitc__AModule = {
+75,
+"Array[AModule]", /* class_name_string */
+408,
 0,
-&resolution_table_core__HashMap__nitc__MClassDef__nitc__AClassdef,
-85,
+&resolution_table_core__Array__nitc__AModule,
+510,
 {
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2380, /* Object */
+2401, /* nullable Object */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9297,9 +9329,9 @@ const struct type type_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-78, /* HashMap[MClassDef, AClassdef] */
 -1, /* empty */
 -1, /* empty */
+2420, /* Collection[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9321,12 +9353,14 @@ const struct type type_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2442, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2449, /* Collection[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9341,7 +9375,6 @@ const struct type type_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9363,41 +9396,6 @@ const struct type type_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MClassDef__nitc__AClassdef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MClassDef__nitc__AClassdef, /* HashMapIterator[K, V]: HashMapIterator[MClassDef, AClassdef] */
-&type_nitc__MClassDef, /* K: MClassDef */
-&type_nitc__AClassdef, /* V: AClassdef */
-&type_core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* HashMapNode[K, V]: HashMapNode[MClassDef, AClassdef] */
-&type_core__hash_collection__HashMapKeys__nitc__MClassDef__nitc__AClassdef, /* HashMapKeys[K, V]: HashMapKeys[MClassDef, AClassdef] */
-&type_core__hash_collection__HashMapValues__nitc__MClassDef__nitc__AClassdef, /* HashMapValues[K, V]: HashMapValues[MClassDef, AClassdef] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* nullable N: nullable HashMapNode[MClassDef, AClassdef] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* N: HashMapNode[MClassDef, AClassdef] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MClassDef__nitc__AClassdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
-}
-};
-/* runtime type HashMap[String, MModuleData[AAnnotation]] */
-const struct type type_core__HashMap__core__String__nitc__MModuleData__nitc__AAnnotation = {
-79,
-"HashMap[String, MModuleData[AAnnotation]]", /* class_name_string */
-20,
-0,
-&resolution_table_core__HashMap__core__String__nitc__MModuleData__nitc__AAnnotation,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9409,12 +9407,13 @@ const struct type type_core__HashMap__core__String__nitc__MModuleData__nitc__AAn
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2496, /* Collection[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-79, /* HashMap[String, MModuleData[AAnnotation]] */
 -1, /* empty */
 -1, /* empty */
+2502, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9446,6 +9445,8 @@ const struct type type_core__HashMap__core__String__nitc__MModuleData__nitc__AAn
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1715, /* Array[nullable Object] */
+2210, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9455,7 +9456,6 @@ const struct type type_core__HashMap__core__String__nitc__MModuleData__nitc__AAn
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9476,40 +9476,7 @@ const struct type type_core__HashMap__core__String__nitc__MModuleData__nitc__AAn
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
--1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__core__String__nitc__MModuleData__nitc__AAnnotation = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapIterator[K, V]: HashMapIterator[String, MModuleData[AAnnotation]] */
-&type_core__String, /* K: String */
-&type_nitc__MModuleData__nitc__AAnnotation, /* V: MModuleData[AAnnotation] */
-&type_core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapNode[K, V]: HashMapNode[String, MModuleData[AAnnotation]] */
-&type_core__hash_collection__HashMapKeys__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapKeys[K, V]: HashMapKeys[String, MModuleData[AAnnotation]] */
-&type_core__hash_collection__HashMapValues__core__String__nitc__MModuleData__nitc__AAnnotation, /* HashMapValues[K, V]: HashMapValues[String, MModuleData[AAnnotation]] */
-&type_nullable__core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* nullable N: nullable HashMapNode[String, MModuleData[AAnnotation]] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* N: HashMapNode[String, MModuleData[AAnnotation]] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__core__String__nitc__MModuleData__nitc__AAnnotation, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[String, MModuleData[AAnnotation]]] */
-}
-};
-/* runtime type HashMap[MPropDef, APropdef] */
-const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
-80,
-"HashMap[MPropDef, APropdef]", /* class_name_string */
-21,
-0,
-&resolution_table_core__HashMap__nitc__MPropDef__nitc__APropdef,
-85,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2203, /* MapRead[nullable Object, nullable Object] */
--1, /* empty */
+2562, /* AbstractArrayRead[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9527,7 +9494,6 @@ const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-80, /* HashMap[MPropDef, APropdef] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9541,6 +9507,7 @@ const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2593, /* AbstractArrayRead[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9550,6 +9517,7 @@ const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2603, /* AbstractArrayRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9567,9 +9535,9 @@ const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2621, /* AbstractArrayRead[Object] */
 -1, /* empty */
 -1, /* empty */
-1358, /* HashMap[Object, nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9582,6 +9550,7 @@ const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2636, /* AbstractArrayRead[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9591,40 +9560,6 @@ const struct type type_core__HashMap__nitc__MPropDef__nitc__APropdef = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-},
-};
-const struct types resolution_table_core__HashMap__nitc__MPropDef__nitc__APropdef = {
-0, /* dummy */
-{
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__hash_collection__HashMapIterator__nitc__MPropDef__nitc__APropdef, /* HashMapIterator[K, V]: HashMapIterator[MPropDef, APropdef] */
-&type_nitc__MPropDef, /* K: MPropDef */
-&type_nitc__APropdef, /* V: APropdef */
-&type_core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* HashMapNode[K, V]: HashMapNode[MPropDef, APropdef] */
-&type_core__hash_collection__HashMapKeys__nitc__MPropDef__nitc__APropdef, /* HashMapKeys[K, V]: HashMapKeys[MPropDef, APropdef] */
-&type_core__hash_collection__HashMapValues__nitc__MPropDef__nitc__APropdef, /* HashMapValues[K, V]: HashMapValues[MPropDef, APropdef] */
-&type_nullable__core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* nullable N: nullable HashMapNode[MPropDef, APropdef] */
-NULL, /* empty */
-&type_core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* N: HashMapNode[MPropDef, APropdef] */
-&type_core__NativeArray__nullable__core__hash_collection__HashMapNode__nitc__MPropDef__nitc__APropdef, /* NativeArray[nullable N]: NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
-}
-};
-/* runtime type Buffer */
-const struct type type_core__Buffer = {
-81,
-"Buffer", /* class_name_string */
-4,
-0,
-&resolution_table_core__Buffer,
-130,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2833, /* Comparable */
-2205, /* Text */
-81, /* Buffer */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9649,6 +9584,7 @@ const struct type type_core__Buffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2866, /* AbstractArray[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9670,12 +9606,14 @@ const struct type type_core__Buffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2888, /* AbstractArray[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2895, /* AbstractArray[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9723,11 +9661,13 @@ const struct type type_core__Buffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2943, /* AbstractArray[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+2949, /* AbstractArray[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9749,55 +9689,6 @@ const struct type type_core__Buffer = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2375, /* Writable */
-},
-};
-const struct types resolution_table_core__Buffer = {
-0, /* dummy */
-{
-&type_core__Text, /* OTHER: Text */
-&type_core__Buffer, /* SELFTYPE: Buffer */
-&type_core__Array__core__Buffer, /* Array[SELFTYPE]: Array[Buffer] */
-}
-};
-/* runtime type DefaultComparator */
-const struct type type_core__DefaultComparator = {
--1, /*CAST DEAD*/
-"DefaultComparator", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__DefaultComparator,
-2,
-{
-2371, /* Object */
-2397, /* nullable Object */
-},
-};
-const struct types resolution_table_core__DefaultComparator = {
-0, /* dummy */
-{
-&type_core__Comparable, /* COMPARED: Comparable */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__Array__core__Comparable, /* Array[COMPARED]: Array[Comparable] */
-}
-};
-/* runtime type ArraySet[MModule] */
-const struct type type_core__ArraySet__nitc__MModule = {
--1, /*CAST DEAD*/
-"ArraySet[MModule]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_core__ArraySet__nitc__MModule,
-141,
-{
-2371, /* Object */
-2397, /* nullable Object */
-2204, /* Set[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9806,10 +9697,10 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2408, /* Collection[MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+226, /* Array[Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9831,9 +9722,9 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2433, /* Collection[Object] */
 -1, /* empty */
 -1, /* empty */
+75, /* Array[AModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9855,6 +9746,7 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+254, /* Array[Prod] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9880,7 +9772,6 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2482, /* Collection[nullable MModule] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9899,6 +9790,7 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
+1623, /* Array[ANode] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9909,7 +9801,6 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2511, /* Collection[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
@@ -9934,23 +9825,27 @@ const struct type type_core__ArraySet__nitc__MModule = {
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2399, /* Set[MModule] */
 -1, /* empty */
 },
 };
-const struct types resolution_table_core__ArraySet__nitc__MModule = {
+const struct types resolution_table_core__Array__nitc__AModule = {
 0, /* dummy */
 {
-&type_nitc__MModule, /* E: MModule */
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-&type_core__array__ArraySetIterator__nitc__MModule, /* ArraySetIterator[E]: ArraySetIterator[MModule] */
-&type_core__Array__nitc__MModule, /* Array[E]: Array[MModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_core__Collection__nitc__MModule, /* Collection[E]: Collection[MModule] */
+&type_nitc__AModule, /* E: AModule */
+&type_core__Array__nitc__AModule, /* SELF: Array[AModule] */
+&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
+&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
+&type_core__AbstractArray__nitc__AModule, /* AbstractArray[E]: AbstractArray[AModule] */
+&type_core__NativeArray__nitc__AModule, /* NativeArray[E]: NativeArray[AModule] */
+&type_nitc__AModule, /* E: AModule */
+&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
+&type_nitc__AModule, /* E: AModule */
+&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
+&type_core__Collection__nitc__AModule, /* Collection[E]: Collection[AModule] */
+&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
+&type_core__Array__nitc__AModule, /* Array[E]: Array[AModule] */
+&type_core__AbstractArray__nitc__AModule, /* AbstractArray[E]: AbstractArray[AModule] */
+&type_core__array__ArrayIterator__nitc__AModule, /* ArrayIterator[E]: ArrayIterator[AModule] */
+&type_core__array__ArrayReverseIterator__nitc__AModule, /* ArrayReverseIterator[E]: ArrayReverseIterator[AModule] */
 }
 };