c_src: update for kill is
[nit.git] / c_src / nitg.types.4.c
index e874e82..db2a805 100644 (file)
 #include "nitg.types.0.h"
-/* runtime type AKwreadableAtid */
-const struct type type_parser_nodes__AKwreadableAtid = {
-2369,
-"AKwreadableAtid", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__AKwreadableAtid,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-25, /* nullable AAtid */
-225, /* ANode */
-624, /* Prod */
-2024, /* AAtid */
-2369, /* AKwreadableAtid */
-},
-};
-const struct types resolution_table_parser_nodes__AKwreadableAtid = {
+const struct types resolution_table_parser_nodes__TKwthen = {
 0, /* dummy */
 {
 }
 };
-/* runtime type AKwwritableAtid */
-const struct type type_parser_nodes__AKwwritableAtid = {
-2370,
-"AKwwritableAtid", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__AKwwritableAtid,
-7,
+/* runtime type nullable TKwthen */
+const struct type type_nullable_parser_nodes__TKwthen = {
+48,
+"nullable TKwthen", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_parser_nodes__TKwthen,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-25, /* nullable AAtid */
-225, /* ANode */
-624, /* Prod */
-2024, /* AAtid */
-2370, /* AKwwritableAtid */
+-1, /* empty */
+48, /* nullable TKwthen */
 },
 };
-const struct types resolution_table_parser_nodes__AKwwritableAtid = {
+const struct types resolution_table_nullable_parser_nodes__TKwthen = {
 0, /* dummy */
 {
 }
 };
-/* runtime type AKwimportAtid */
-const struct type type_parser_nodes__AKwimportAtid = {
-2371,
-"AKwimportAtid", /* class_name_string */
-6,
+/* runtime type TKwelse */
+const struct type type_parser_nodes__TKwelse = {
+1996,
+"TKwelse", /* class_name_string */
+5,
 0,
-&resolution_table_parser_nodes__AKwimportAtid,
-7,
+&resolution_table_parser_nodes__TKwelse,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-25, /* nullable AAtid */
-225, /* ANode */
-624, /* Prod */
-2024, /* AAtid */
-2371, /* AKwimportAtid */
+49, /* nullable TKwelse */
+223, /* ANode */
+623, /* Token */
+1996, /* TKwelse */
 },
 };
-const struct types resolution_table_parser_nodes__AKwimportAtid = {
+const struct types resolution_table_parser_nodes__TKwelse = {
 0, /* dummy */
 {
 }
 };
-/* runtime type AParExprs */
-const struct type type_parser_nodes__AParExprs = {
-2372,
-"AParExprs", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__AParExprs,
-7,
+/* runtime type nullable TKwelse */
+const struct type type_nullable_parser_nodes__TKwelse = {
+49,
+"nullable TKwelse", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_parser_nodes__TKwelse,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-26, /* nullable AExprs */
-225, /* ANode */
-624, /* Prod */
-2025, /* AExprs */
-2372, /* AParExprs */
+-1, /* empty */
+49, /* nullable TKwelse */
 },
 };
-const struct types resolution_table_parser_nodes__AParExprs = {
+const struct types resolution_table_nullable_parser_nodes__TKwelse = {
 0, /* dummy */
 {
 }
 };
-/* runtime type AExprs */
-const struct type type_parser_nodes__AExprs = {
-2025,
-"AExprs", /* class_name_string */
+/* runtime type TKwwhile */
+const struct type type_parser_nodes__TKwwhile = {
+1997,
+"TKwwhile", /* class_name_string */
 5,
 0,
-NULL,
+&resolution_table_parser_nodes__TKwwhile,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-26, /* nullable AExprs */
-225, /* ANode */
-624, /* Prod */
-2025, /* AExprs */
+50, /* nullable TKwwhile */
+223, /* ANode */
+623, /* Token */
+1997, /* TKwwhile */
 },
 };
-/* runtime type nullable AExprs */
-const struct type type_nullable_parser_nodes__AExprs = {
-26,
-"nullable AExprs", /* class_name_string */
+const struct types resolution_table_parser_nodes__TKwwhile = {
+0, /* dummy */
+{
+}
+};
+/* runtime type nullable TKwwhile */
+const struct type type_nullable_parser_nodes__TKwwhile = {
+50,
+"nullable TKwwhile", /* class_name_string */
 2,
 1,
-NULL,
+&resolution_table_nullable_parser_nodes__TKwwhile,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-26, /* nullable AExprs */
+50, /* nullable TKwwhile */
 },
 };
-/* runtime type AListExprs */
-const struct type type_parser_nodes__AListExprs = {
-2373,
-"AListExprs", /* class_name_string */
-6,
+const struct types resolution_table_nullable_parser_nodes__TKwwhile = {
+0, /* dummy */
+{
+}
+};
+/* runtime type TKwloop */
+const struct type type_parser_nodes__TKwloop = {
+1998,
+"TKwloop", /* class_name_string */
+5,
 0,
-&resolution_table_parser_nodes__AListExprs,
-7,
+&resolution_table_parser_nodes__TKwloop,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-26, /* nullable AExprs */
-225, /* ANode */
-624, /* Prod */
-2025, /* AExprs */
-2373, /* AListExprs */
+51, /* nullable TKwloop */
+223, /* ANode */
+623, /* Token */
+1998, /* TKwloop */
 },
 };
-const struct types resolution_table_parser_nodes__AListExprs = {
+const struct types resolution_table_parser_nodes__TKwloop = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ABraExprs */
-const struct type type_parser_nodes__ABraExprs = {
-2374,
-"ABraExprs", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__ABraExprs,
-7,
+/* runtime type nullable TKwloop */
+const struct type type_nullable_parser_nodes__TKwloop = {
+51,
+"nullable TKwloop", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_parser_nodes__TKwloop,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-26, /* nullable AExprs */
-225, /* ANode */
-624, /* Prod */
-2025, /* AExprs */
-2374, /* ABraExprs */
+-1, /* empty */
+51, /* nullable TKwloop */
 },
 };
-const struct types resolution_table_parser_nodes__ABraExprs = {
+const struct types resolution_table_nullable_parser_nodes__TKwloop = {
 0, /* dummy */
 {
 }
 };
-/* runtime type AModuleName */
-const struct type type_parser_nodes__AModuleName = {
-2026,
-"AModuleName", /* class_name_string */
+/* runtime type TKwfor */
+const struct type type_parser_nodes__TKwfor = {
+1999,
+"TKwfor", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__AModuleName,
+&resolution_table_parser_nodes__TKwfor,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-27, /* nullable AModuleName */
-225, /* ANode */
-624, /* Prod */
-2026, /* AModuleName */
+52, /* nullable TKwfor */
+223, /* ANode */
+623, /* Token */
+1999, /* TKwfor */
 },
 };
-const struct types resolution_table_parser_nodes__AModuleName = {
+const struct types resolution_table_parser_nodes__TKwfor = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable AModuleName */
-const struct type type_nullable_parser_nodes__AModuleName = {
-27,
-"nullable AModuleName", /* class_name_string */
+/* runtime type nullable TKwfor */
+const struct type type_nullable_parser_nodes__TKwfor = {
+52,
+"nullable TKwfor", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__AModuleName,
+&resolution_table_nullable_parser_nodes__TKwfor,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-27, /* nullable AModuleName */
+52, /* nullable TKwfor */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__AModuleName = {
+const struct types resolution_table_nullable_parser_nodes__TKwfor = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ADoc */
-const struct type type_parser_nodes__ADoc = {
-2027,
-"ADoc", /* class_name_string */
+/* runtime type TKwin */
+const struct type type_parser_nodes__TKwin = {
+2000,
+"TKwin", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__ADoc,
+&resolution_table_parser_nodes__TKwin,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-28, /* nullable ADoc */
-225, /* ANode */
-624, /* Prod */
-2027, /* ADoc */
+53, /* nullable TKwin */
+223, /* ANode */
+623, /* Token */
+2000, /* TKwin */
 },
 };
-const struct types resolution_table_parser_nodes__ADoc = {
+const struct types resolution_table_parser_nodes__TKwin = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable ADoc */
-const struct type type_nullable_parser_nodes__ADoc = {
-28,
-"nullable ADoc", /* class_name_string */
+/* runtime type nullable TKwin */
+const struct type type_nullable_parser_nodes__TKwin = {
+53,
+"nullable TKwin", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__ADoc,
+&resolution_table_nullable_parser_nodes__TKwin,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-28, /* nullable ADoc */
+53, /* nullable TKwin */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__ADoc = {
+const struct types resolution_table_nullable_parser_nodes__TKwin = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ANodes[TComment] */
-const struct type type_parser_nodes__ANodesparser_nodes__TComment = {
-2522,
-"ANodes[TComment]", /* class_name_string */
-6,
+/* runtime type TKwand */
+const struct type type_parser_nodes__TKwand = {
+1767,
+"TKwand", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__ANodesparser_nodes__TComment,
-8,
+&resolution_table_parser_nodes__TKwand,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
-2522, /* ANodes[TComment] */
-2028, /* Collection[TComment] */
+1767, /* TKwand */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__TComment = {
+const struct types resolution_table_parser_nodes__TKwand = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__TComment, /* Array[ANodes#0]: Array[TComment] */
-&type_parser_nodes__TComment, /* ANodes#0: TComment */
-&type_parser_nodes__TComment, /* Sequence#0: TComment */
-&type_parser_nodes__TComment, /* SimpleCollection#0: TComment */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__TComment, /* RemovableCollection#0: TComment */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Sequence#0]: Collection[TComment] */
-&type_array__Arrayparser_nodes__TComment, /* Array[Sequence#0]: Array[TComment] */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[SimpleCollection#0]: Collection[TComment] */
-&type_parser_nodes__TComment, /* Collection#0: TComment */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Collection#0]: Collection[TComment] */
-&type_parser_nodes__TComment, /* SequenceRead#0: TComment */
 }
 };
-/* runtime type Collection[TComment] */
-const struct type type_abstract_collection__Collectionparser_nodes__TComment = {
-2028,
-"Collection[TComment]", /* class_name_string */
-7,
+/* runtime type TKwor */
+const struct type type_parser_nodes__TKwor = {
+1768,
+"TKwor", /* class_name_string */
+2,
 0,
-NULL,
-8,
+&resolution_table_parser_nodes__TKwor,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
--1, /* empty */
-2028, /* Collection[TComment] */
+1768, /* TKwor */
+223, /* ANode */
+623, /* Token */
 },
 };
-/* runtime type TEol */
-const struct type type_parser_nodes__TEol = {
-1814,
-"TEol", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__TEol,
+const struct types resolution_table_parser_nodes__TKwor = {
+0, /* dummy */
+{
+}
+};
+/* runtime type TKwnot */
+const struct type type_parser_nodes__TKwnot = {
+2001,
+"TKwnot", /* class_name_string */
 5,
+0,
+&resolution_table_parser_nodes__TKwnot,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1814, /* TEol */
-225, /* ANode */
-625, /* Token */
+54, /* nullable TKwnot */
+223, /* ANode */
+623, /* Token */
+2001, /* TKwnot */
 },
 };
-const struct types resolution_table_parser_nodes__TEol = {
+const struct types resolution_table_parser_nodes__TKwnot = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TComment */
-const struct type type_parser_nodes__TComment = {
-1815,
-"TComment", /* class_name_string */
+/* runtime type nullable TKwnot */
+const struct type type_nullable_parser_nodes__TKwnot = {
+54,
+"nullable TKwnot", /* class_name_string */
 2,
-0,
-&resolution_table_parser_nodes__TComment,
-5,
+1,
+&resolution_table_nullable_parser_nodes__TKwnot,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-1815, /* TComment */
-225, /* ANode */
-625, /* Token */
+-1, /* empty */
+54, /* nullable TKwnot */
 },
 };
-const struct types resolution_table_parser_nodes__TComment = {
+const struct types resolution_table_nullable_parser_nodes__TKwnot = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwpackage */
-const struct type type_parser_nodes__TKwpackage = {
-1816,
-"TKwpackage", /* class_name_string */
+/* runtime type TKwimplies */
+const struct type type_parser_nodes__TKwimplies = {
+1769,
+"TKwimplies", /* class_name_string */
 2,
 0,
-&resolution_table_parser_nodes__TKwpackage,
+&resolution_table_parser_nodes__TKwimplies,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1816, /* TKwpackage */
-225, /* ANode */
-625, /* Token */
+1769, /* TKwimplies */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_parser_nodes__TKwpackage = {
+const struct types resolution_table_parser_nodes__TKwimplies = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwmodule */
-const struct type type_parser_nodes__TKwmodule = {
-2029,
-"TKwmodule", /* class_name_string */
+/* runtime type TKwreturn */
+const struct type type_parser_nodes__TKwreturn = {
+2002,
+"TKwreturn", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwmodule,
+&resolution_table_parser_nodes__TKwreturn,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-29, /* nullable TKwmodule */
-225, /* ANode */
-625, /* Token */
-2029, /* TKwmodule */
+55, /* nullable TKwreturn */
+223, /* ANode */
+623, /* Token */
+2002, /* TKwreturn */
 },
 };
-const struct types resolution_table_parser_nodes__TKwmodule = {
+const struct types resolution_table_parser_nodes__TKwreturn = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwmodule */
-const struct type type_nullable_parser_nodes__TKwmodule = {
-29,
-"nullable TKwmodule", /* class_name_string */
+/* runtime type nullable TKwreturn */
+const struct type type_nullable_parser_nodes__TKwreturn = {
+55,
+"nullable TKwreturn", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwmodule,
+&resolution_table_nullable_parser_nodes__TKwreturn,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-29, /* nullable TKwmodule */
+55, /* nullable TKwreturn */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwmodule = {
+const struct types resolution_table_nullable_parser_nodes__TKwreturn = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwimport */
-const struct type type_parser_nodes__TKwimport = {
-2030,
-"TKwimport", /* class_name_string */
+/* runtime type TKwcontinue */
+const struct type type_parser_nodes__TKwcontinue = {
+2003,
+"TKwcontinue", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwimport,
+&resolution_table_parser_nodes__TKwcontinue,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-30, /* nullable TKwimport */
-225, /* ANode */
-625, /* Token */
-2030, /* TKwimport */
+56, /* nullable TKwcontinue */
+223, /* ANode */
+623, /* Token */
+2003, /* TKwcontinue */
 },
 };
-const struct types resolution_table_parser_nodes__TKwimport = {
+const struct types resolution_table_parser_nodes__TKwcontinue = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwimport */
-const struct type type_nullable_parser_nodes__TKwimport = {
-30,
-"nullable TKwimport", /* class_name_string */
+/* runtime type nullable TKwcontinue */
+const struct type type_nullable_parser_nodes__TKwcontinue = {
+56,
+"nullable TKwcontinue", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwimport,
+&resolution_table_nullable_parser_nodes__TKwcontinue,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-30, /* nullable TKwimport */
+56, /* nullable TKwcontinue */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwimport = {
+const struct types resolution_table_nullable_parser_nodes__TKwcontinue = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwclass */
-const struct type type_parser_nodes__TKwclass = {
-2031,
-"TKwclass", /* class_name_string */
+/* runtime type TKwbreak */
+const struct type type_parser_nodes__TKwbreak = {
+2004,
+"TKwbreak", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwclass,
+&resolution_table_parser_nodes__TKwbreak,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-31, /* nullable TKwclass */
-225, /* ANode */
-625, /* Token */
-2031, /* TKwclass */
+57, /* nullable TKwbreak */
+223, /* ANode */
+623, /* Token */
+2004, /* TKwbreak */
 },
 };
-const struct types resolution_table_parser_nodes__TKwclass = {
+const struct types resolution_table_parser_nodes__TKwbreak = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwclass */
-const struct type type_nullable_parser_nodes__TKwclass = {
-31,
-"nullable TKwclass", /* class_name_string */
+/* runtime type nullable TKwbreak */
+const struct type type_nullable_parser_nodes__TKwbreak = {
+57,
+"nullable TKwbreak", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwclass,
+&resolution_table_nullable_parser_nodes__TKwbreak,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-31, /* nullable TKwclass */
+57, /* nullable TKwbreak */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwclass = {
+const struct types resolution_table_nullable_parser_nodes__TKwbreak = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwabstract */
-const struct type type_parser_nodes__TKwabstract = {
-2032,
-"TKwabstract", /* class_name_string */
+/* runtime type TKwabort */
+const struct type type_parser_nodes__TKwabort = {
+2005,
+"TKwabort", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwabstract,
+&resolution_table_parser_nodes__TKwabort,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-32, /* nullable TKwabstract */
-225, /* ANode */
-625, /* Token */
-2032, /* TKwabstract */
+58, /* nullable TKwabort */
+223, /* ANode */
+623, /* Token */
+2005, /* TKwabort */
 },
 };
-const struct types resolution_table_parser_nodes__TKwabstract = {
+const struct types resolution_table_parser_nodes__TKwabort = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwabstract */
-const struct type type_nullable_parser_nodes__TKwabstract = {
-32,
-"nullable TKwabstract", /* class_name_string */
+/* runtime type nullable TKwabort */
+const struct type type_nullable_parser_nodes__TKwabort = {
+58,
+"nullable TKwabort", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwabstract,
+&resolution_table_nullable_parser_nodes__TKwabort,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-32, /* nullable TKwabstract */
+58, /* nullable TKwabort */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwabstract = {
+const struct types resolution_table_nullable_parser_nodes__TKwabort = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwinterface */
-const struct type type_parser_nodes__TKwinterface = {
-2033,
-"TKwinterface", /* class_name_string */
+/* runtime type TKwassert */
+const struct type type_parser_nodes__TKwassert = {
+2006,
+"TKwassert", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwinterface,
+&resolution_table_parser_nodes__TKwassert,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-33, /* nullable TKwinterface */
-225, /* ANode */
-625, /* Token */
-2033, /* TKwinterface */
+59, /* nullable TKwassert */
+223, /* ANode */
+623, /* Token */
+2006, /* TKwassert */
 },
 };
-const struct types resolution_table_parser_nodes__TKwinterface = {
+const struct types resolution_table_parser_nodes__TKwassert = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwinterface */
-const struct type type_nullable_parser_nodes__TKwinterface = {
-33,
-"nullable TKwinterface", /* class_name_string */
+/* runtime type nullable TKwassert */
+const struct type type_nullable_parser_nodes__TKwassert = {
+59,
+"nullable TKwassert", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwinterface,
+&resolution_table_nullable_parser_nodes__TKwassert,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-33, /* nullable TKwinterface */
+59, /* nullable TKwassert */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwinterface = {
+const struct types resolution_table_nullable_parser_nodes__TKwassert = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwenum */
-const struct type type_parser_nodes__TKwenum = {
-2034,
-"TKwenum", /* class_name_string */
+/* runtime type TKwnew */
+const struct type type_parser_nodes__TKwnew = {
+2007,
+"TKwnew", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwenum,
+&resolution_table_parser_nodes__TKwnew,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-34, /* nullable TKwenum */
-225, /* ANode */
-625, /* Token */
-2034, /* TKwenum */
+60, /* nullable TKwnew */
+223, /* ANode */
+623, /* Token */
+2007, /* TKwnew */
 },
 };
-const struct types resolution_table_parser_nodes__TKwenum = {
+const struct types resolution_table_parser_nodes__TKwnew = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwenum */
-const struct type type_nullable_parser_nodes__TKwenum = {
-34,
-"nullable TKwenum", /* class_name_string */
+/* runtime type nullable TKwnew */
+const struct type type_nullable_parser_nodes__TKwnew = {
+60,
+"nullable TKwnew", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwenum,
+&resolution_table_nullable_parser_nodes__TKwnew,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-34, /* nullable TKwenum */
+60, /* nullable TKwnew */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwenum = {
+const struct types resolution_table_nullable_parser_nodes__TKwnew = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwend */
-const struct type type_parser_nodes__TKwend = {
-2035,
-"TKwend", /* class_name_string */
-5,
+/* runtime type TKwisa */
+const struct type type_parser_nodes__TKwisa = {
+1770,
+"TKwisa", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TKwend,
-6,
+&resolution_table_parser_nodes__TKwisa,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-35, /* nullable TKwend */
-225, /* ANode */
-625, /* Token */
-2035, /* TKwend */
+1770, /* TKwisa */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_parser_nodes__TKwend = {
+const struct types resolution_table_parser_nodes__TKwisa = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwend */
-const struct type type_nullable_parser_nodes__TKwend = {
-35,
-"nullable TKwend", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TKwend,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-35, /* nullable TKwend */
-},
-};
-const struct types resolution_table_nullable_parser_nodes__TKwend = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TKwmeth */
-const struct type type_parser_nodes__TKwmeth = {
-2036,
-"TKwmeth", /* class_name_string */
+/* runtime type TKwonce */
+const struct type type_parser_nodes__TKwonce = {
+2008,
+"TKwonce", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwmeth,
+&resolution_table_parser_nodes__TKwonce,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-36, /* nullable TKwmeth */
-225, /* ANode */
-625, /* Token */
-2036, /* TKwmeth */
+61, /* nullable TKwonce */
+223, /* ANode */
+623, /* Token */
+2008, /* TKwonce */
 },
 };
-const struct types resolution_table_parser_nodes__TKwmeth = {
+const struct types resolution_table_parser_nodes__TKwonce = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwmeth */
-const struct type type_nullable_parser_nodes__TKwmeth = {
-36,
-"nullable TKwmeth", /* class_name_string */
+/* runtime type nullable TKwonce */
+const struct type type_nullable_parser_nodes__TKwonce = {
+61,
+"nullable TKwonce", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwmeth,
+&resolution_table_nullable_parser_nodes__TKwonce,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-36, /* nullable TKwmeth */
+61, /* nullable TKwonce */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwmeth = {
+const struct types resolution_table_nullable_parser_nodes__TKwonce = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwtype */
-const struct type type_parser_nodes__TKwtype = {
-2037,
-"TKwtype", /* class_name_string */
+/* runtime type TKwsuper */
+const struct type type_parser_nodes__TKwsuper = {
+2009,
+"TKwsuper", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwtype,
+&resolution_table_parser_nodes__TKwsuper,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-37, /* nullable TKwtype */
-225, /* ANode */
-625, /* Token */
-2037, /* TKwtype */
+62, /* nullable TKwsuper */
+223, /* ANode */
+623, /* Token */
+2009, /* TKwsuper */
 },
 };
-const struct types resolution_table_parser_nodes__TKwtype = {
+const struct types resolution_table_parser_nodes__TKwsuper = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwtype */
-const struct type type_nullable_parser_nodes__TKwtype = {
-37,
-"nullable TKwtype", /* class_name_string */
+/* runtime type nullable TKwsuper */
+const struct type type_nullable_parser_nodes__TKwsuper = {
+62,
+"nullable TKwsuper", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwtype,
+&resolution_table_nullable_parser_nodes__TKwsuper,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-37, /* nullable TKwtype */
+62, /* nullable TKwsuper */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwtype = {
+const struct types resolution_table_nullable_parser_nodes__TKwsuper = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwinit */
-const struct type type_parser_nodes__TKwinit = {
-2038,
-"TKwinit", /* class_name_string */
+/* runtime type TKwself */
+const struct type type_parser_nodes__TKwself = {
+2010,
+"TKwself", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwinit,
+&resolution_table_parser_nodes__TKwself,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-38, /* nullable TKwinit */
-225, /* ANode */
-625, /* Token */
-2038, /* TKwinit */
+63, /* nullable TKwself */
+223, /* ANode */
+623, /* Token */
+2010, /* TKwself */
 },
 };
-const struct types resolution_table_parser_nodes__TKwinit = {
+const struct types resolution_table_parser_nodes__TKwself = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwinit */
-const struct type type_nullable_parser_nodes__TKwinit = {
-38,
-"nullable TKwinit", /* class_name_string */
+/* runtime type nullable TKwself */
+const struct type type_nullable_parser_nodes__TKwself = {
+63,
+"nullable TKwself", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwinit,
+&resolution_table_nullable_parser_nodes__TKwself,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-38, /* nullable TKwinit */
+63, /* nullable TKwself */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwinit = {
+const struct types resolution_table_nullable_parser_nodes__TKwself = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwredef */
-const struct type type_parser_nodes__TKwredef = {
-2039,
-"TKwredef", /* class_name_string */
+/* runtime type TKwtrue */
+const struct type type_parser_nodes__TKwtrue = {
+2011,
+"TKwtrue", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwredef,
+&resolution_table_parser_nodes__TKwtrue,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-39, /* nullable TKwredef */
-225, /* ANode */
-625, /* Token */
-2039, /* TKwredef */
+64, /* nullable TKwtrue */
+223, /* ANode */
+623, /* Token */
+2011, /* TKwtrue */
 },
 };
-const struct types resolution_table_parser_nodes__TKwredef = {
+const struct types resolution_table_parser_nodes__TKwtrue = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwredef */
-const struct type type_nullable_parser_nodes__TKwredef = {
-39,
-"nullable TKwredef", /* class_name_string */
+/* runtime type nullable TKwtrue */
+const struct type type_nullable_parser_nodes__TKwtrue = {
+64,
+"nullable TKwtrue", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwredef,
+&resolution_table_nullable_parser_nodes__TKwtrue,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-39, /* nullable TKwredef */
-},
-};
-const struct types resolution_table_nullable_parser_nodes__TKwredef = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TKwis */
-const struct type type_parser_nodes__TKwis = {
-1817,
-"TKwis", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__TKwis,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1817, /* TKwis */
-225, /* ANode */
-625, /* Token */
+64, /* nullable TKwtrue */
 },
 };
-const struct types resolution_table_parser_nodes__TKwis = {
+const struct types resolution_table_nullable_parser_nodes__TKwtrue = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwdo */
-const struct type type_parser_nodes__TKwdo = {
-2040,
-"TKwdo", /* class_name_string */
+/* runtime type TKwfalse */
+const struct type type_parser_nodes__TKwfalse = {
+2012,
+"TKwfalse", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwdo,
+&resolution_table_parser_nodes__TKwfalse,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-40, /* nullable TKwdo */
-225, /* ANode */
-625, /* Token */
-2040, /* TKwdo */
+65, /* nullable TKwfalse */
+223, /* ANode */
+623, /* Token */
+2012, /* TKwfalse */
 },
 };
-const struct types resolution_table_parser_nodes__TKwdo = {
+const struct types resolution_table_parser_nodes__TKwfalse = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwdo */
-const struct type type_nullable_parser_nodes__TKwdo = {
-40,
-"nullable TKwdo", /* class_name_string */
+/* runtime type nullable TKwfalse */
+const struct type type_nullable_parser_nodes__TKwfalse = {
+65,
+"nullable TKwfalse", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwdo,
+&resolution_table_nullable_parser_nodes__TKwfalse,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-40, /* nullable TKwdo */
+65, /* nullable TKwfalse */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwdo = {
+const struct types resolution_table_nullable_parser_nodes__TKwfalse = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwreadable */
-const struct type type_parser_nodes__TKwreadable = {
-2041,
-"TKwreadable", /* class_name_string */
+/* runtime type TKwnull */
+const struct type type_parser_nodes__TKwnull = {
+2013,
+"TKwnull", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwreadable,
+&resolution_table_parser_nodes__TKwnull,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-41, /* nullable TKwreadable */
-225, /* ANode */
-625, /* Token */
-2041, /* TKwreadable */
+66, /* nullable TKwnull */
+223, /* ANode */
+623, /* Token */
+2013, /* TKwnull */
 },
 };
-const struct types resolution_table_parser_nodes__TKwreadable = {
+const struct types resolution_table_parser_nodes__TKwnull = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwreadable */
-const struct type type_nullable_parser_nodes__TKwreadable = {
-41,
-"nullable TKwreadable", /* class_name_string */
+/* runtime type nullable TKwnull */
+const struct type type_nullable_parser_nodes__TKwnull = {
+66,
+"nullable TKwnull", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwreadable,
+&resolution_table_nullable_parser_nodes__TKwnull,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-41, /* nullable TKwreadable */
+66, /* nullable TKwnull */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwreadable = {
+const struct types resolution_table_nullable_parser_nodes__TKwnull = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwwritable */
-const struct type type_parser_nodes__TKwwritable = {
-2042,
-"TKwwritable", /* class_name_string */
+/* runtime type TKwas */
+const struct type type_parser_nodes__TKwas = {
+2014,
+"TKwas", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwwritable,
+&resolution_table_parser_nodes__TKwas,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-42, /* nullable TKwwritable */
-225, /* ANode */
-625, /* Token */
-2042, /* TKwwritable */
+67, /* nullable TKwas */
+223, /* ANode */
+623, /* Token */
+2014, /* TKwas */
 },
 };
-const struct types resolution_table_parser_nodes__TKwwritable = {
+const struct types resolution_table_parser_nodes__TKwas = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwwritable */
-const struct type type_nullable_parser_nodes__TKwwritable = {
-42,
-"nullable TKwwritable", /* class_name_string */
+/* runtime type nullable TKwas */
+const struct type type_nullable_parser_nodes__TKwas = {
+67,
+"nullable TKwas", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwwritable,
+&resolution_table_nullable_parser_nodes__TKwas,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-42, /* nullable TKwwritable */
+67, /* nullable TKwas */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwwritable = {
+const struct types resolution_table_nullable_parser_nodes__TKwas = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwvar */
-const struct type type_parser_nodes__TKwvar = {
-2043,
-"TKwvar", /* class_name_string */
+/* runtime type TKwnullable */
+const struct type type_parser_nodes__TKwnullable = {
+2015,
+"TKwnullable", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwvar,
+&resolution_table_parser_nodes__TKwnullable,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-43, /* nullable TKwvar */
-225, /* ANode */
-625, /* Token */
-2043, /* TKwvar */
+68, /* nullable TKwnullable */
+223, /* ANode */
+623, /* Token */
+2015, /* TKwnullable */
 },
 };
-const struct types resolution_table_parser_nodes__TKwvar = {
+const struct types resolution_table_parser_nodes__TKwnullable = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwvar */
-const struct type type_nullable_parser_nodes__TKwvar = {
-43,
-"nullable TKwvar", /* class_name_string */
+/* runtime type nullable TKwnullable */
+const struct type type_nullable_parser_nodes__TKwnullable = {
+68,
+"nullable TKwnullable", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwvar,
+&resolution_table_nullable_parser_nodes__TKwnullable,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-43, /* nullable TKwvar */
-},
-};
-const struct types resolution_table_nullable_parser_nodes__TKwvar = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TKwintern */
-const struct type type_parser_nodes__TKwintern = {
-1818,
-"TKwintern", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__TKwintern,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1818, /* TKwintern */
-225, /* ANode */
-625, /* Token */
+68, /* nullable TKwnullable */
 },
 };
-const struct types resolution_table_parser_nodes__TKwintern = {
+const struct types resolution_table_nullable_parser_nodes__TKwnullable = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwextern */
-const struct type type_parser_nodes__TKwextern = {
-2044,
-"TKwextern", /* class_name_string */
+/* runtime type TKwisset */
+const struct type type_parser_nodes__TKwisset = {
+2016,
+"TKwisset", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwextern,
+&resolution_table_parser_nodes__TKwisset,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-44, /* nullable TKwextern */
-225, /* ANode */
-625, /* Token */
-2044, /* TKwextern */
+69, /* nullable TKwisset */
+223, /* ANode */
+623, /* Token */
+2016, /* TKwisset */
 },
 };
-const struct types resolution_table_parser_nodes__TKwextern = {
+const struct types resolution_table_parser_nodes__TKwisset = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwextern */
-const struct type type_nullable_parser_nodes__TKwextern = {
-44,
-"nullable TKwextern", /* class_name_string */
+/* runtime type nullable TKwisset */
+const struct type type_nullable_parser_nodes__TKwisset = {
+69,
+"nullable TKwisset", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwextern,
+&resolution_table_nullable_parser_nodes__TKwisset,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-44, /* nullable TKwextern */
+69, /* nullable TKwisset */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwextern = {
+const struct types resolution_table_nullable_parser_nodes__TKwisset = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwprotected */
-const struct type type_parser_nodes__TKwprotected = {
-2045,
-"TKwprotected", /* class_name_string */
+/* runtime type TKwlabel */
+const struct type type_parser_nodes__TKwlabel = {
+2017,
+"TKwlabel", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwprotected,
+&resolution_table_parser_nodes__TKwlabel,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-45, /* nullable TKwprotected */
-225, /* ANode */
-625, /* Token */
-2045, /* TKwprotected */
+70, /* nullable TKwlabel */
+223, /* ANode */
+623, /* Token */
+2017, /* TKwlabel */
 },
 };
-const struct types resolution_table_parser_nodes__TKwprotected = {
+const struct types resolution_table_parser_nodes__TKwlabel = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwprotected */
-const struct type type_nullable_parser_nodes__TKwprotected = {
-45,
-"nullable TKwprotected", /* class_name_string */
+/* runtime type nullable TKwlabel */
+const struct type type_nullable_parser_nodes__TKwlabel = {
+70,
+"nullable TKwlabel", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwprotected,
+&resolution_table_nullable_parser_nodes__TKwlabel,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-45, /* nullable TKwprotected */
+70, /* nullable TKwlabel */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwprotected = {
+const struct types resolution_table_nullable_parser_nodes__TKwlabel = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwprivate */
-const struct type type_parser_nodes__TKwprivate = {
-2046,
-"TKwprivate", /* class_name_string */
+/* runtime type TKwdebug */
+const struct type type_parser_nodes__TKwdebug = {
+2018,
+"TKwdebug", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwprivate,
+&resolution_table_parser_nodes__TKwdebug,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-46, /* nullable TKwprivate */
-225, /* ANode */
-625, /* Token */
-2046, /* TKwprivate */
+71, /* nullable TKwdebug */
+223, /* ANode */
+623, /* Token */
+2018, /* TKwdebug */
 },
 };
-const struct types resolution_table_parser_nodes__TKwprivate = {
+const struct types resolution_table_parser_nodes__TKwdebug = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwprivate */
-const struct type type_nullable_parser_nodes__TKwprivate = {
-46,
-"nullable TKwprivate", /* class_name_string */
+/* runtime type nullable TKwdebug */
+const struct type type_nullable_parser_nodes__TKwdebug = {
+71,
+"nullable TKwdebug", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwprivate,
+&resolution_table_nullable_parser_nodes__TKwdebug,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-46, /* nullable TKwprivate */
+71, /* nullable TKwdebug */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwprivate = {
+const struct types resolution_table_nullable_parser_nodes__TKwdebug = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwintrude */
-const struct type type_parser_nodes__TKwintrude = {
-2047,
-"TKwintrude", /* class_name_string */
+/* runtime type TOpar */
+const struct type type_parser_nodes__TOpar = {
+2019,
+"TOpar", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwintrude,
+&resolution_table_parser_nodes__TOpar,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-47, /* nullable TKwintrude */
-225, /* ANode */
-625, /* Token */
-2047, /* TKwintrude */
+72, /* nullable TOpar */
+223, /* ANode */
+623, /* Token */
+2019, /* TOpar */
 },
 };
-const struct types resolution_table_parser_nodes__TKwintrude = {
+const struct types resolution_table_parser_nodes__TOpar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwintrude */
-const struct type type_nullable_parser_nodes__TKwintrude = {
-47,
-"nullable TKwintrude", /* class_name_string */
+/* runtime type nullable TOpar */
+const struct type type_nullable_parser_nodes__TOpar = {
+72,
+"nullable TOpar", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwintrude,
+&resolution_table_nullable_parser_nodes__TOpar,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-47, /* nullable TKwintrude */
+72, /* nullable TOpar */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwintrude = {
+const struct types resolution_table_nullable_parser_nodes__TOpar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwif */
-const struct type type_parser_nodes__TKwif = {
-2048,
-"TKwif", /* class_name_string */
+/* runtime type TCpar */
+const struct type type_parser_nodes__TCpar = {
+2020,
+"TCpar", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwif,
+&resolution_table_parser_nodes__TCpar,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-48, /* nullable TKwif */
-225, /* ANode */
-625, /* Token */
-2048, /* TKwif */
+73, /* nullable TCpar */
+223, /* ANode */
+623, /* Token */
+2020, /* TCpar */
 },
 };
-const struct types resolution_table_parser_nodes__TKwif = {
+const struct types resolution_table_parser_nodes__TCpar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwif */
-const struct type type_nullable_parser_nodes__TKwif = {
-48,
-"nullable TKwif", /* class_name_string */
+/* runtime type nullable TCpar */
+const struct type type_nullable_parser_nodes__TCpar = {
+73,
+"nullable TCpar", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwif,
+&resolution_table_nullable_parser_nodes__TCpar,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-48, /* nullable TKwif */
+73, /* nullable TCpar */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwif = {
+const struct types resolution_table_nullable_parser_nodes__TCpar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwthen */
-const struct type type_parser_nodes__TKwthen = {
-2049,
-"TKwthen", /* class_name_string */
+/* runtime type TObra */
+const struct type type_parser_nodes__TObra = {
+2021,
+"TObra", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwthen,
+&resolution_table_parser_nodes__TObra,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-49, /* nullable TKwthen */
-225, /* ANode */
-625, /* Token */
-2049, /* TKwthen */
+74, /* nullable TObra */
+223, /* ANode */
+623, /* Token */
+2021, /* TObra */
 },
 };
-const struct types resolution_table_parser_nodes__TKwthen = {
+const struct types resolution_table_parser_nodes__TObra = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwthen */
-const struct type type_nullable_parser_nodes__TKwthen = {
-49,
-"nullable TKwthen", /* class_name_string */
+/* runtime type nullable TObra */
+const struct type type_nullable_parser_nodes__TObra = {
+74,
+"nullable TObra", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwthen,
+&resolution_table_nullable_parser_nodes__TObra,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-49, /* nullable TKwthen */
+74, /* nullable TObra */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwthen = {
+const struct types resolution_table_nullable_parser_nodes__TObra = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwelse */
-const struct type type_parser_nodes__TKwelse = {
-2050,
-"TKwelse", /* class_name_string */
+/* runtime type TCbra */
+const struct type type_parser_nodes__TCbra = {
+2022,
+"TCbra", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwelse,
+&resolution_table_parser_nodes__TCbra,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-50, /* nullable TKwelse */
-225, /* ANode */
-625, /* Token */
-2050, /* TKwelse */
+75, /* nullable TCbra */
+223, /* ANode */
+623, /* Token */
+2022, /* TCbra */
 },
 };
-const struct types resolution_table_parser_nodes__TKwelse = {
+const struct types resolution_table_parser_nodes__TCbra = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwelse */
-const struct type type_nullable_parser_nodes__TKwelse = {
-50,
-"nullable TKwelse", /* class_name_string */
+/* runtime type nullable TCbra */
+const struct type type_nullable_parser_nodes__TCbra = {
+75,
+"nullable TCbra", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwelse,
+&resolution_table_nullable_parser_nodes__TCbra,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-50, /* nullable TKwelse */
+75, /* nullable TCbra */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwelse = {
+const struct types resolution_table_nullable_parser_nodes__TCbra = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwwhile */
-const struct type type_parser_nodes__TKwwhile = {
-2051,
-"TKwwhile", /* class_name_string */
-5,
+/* runtime type TComma */
+const struct type type_parser_nodes__TComma = {
+1771,
+"TComma", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TKwwhile,
-6,
+&resolution_table_parser_nodes__TComma,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-51, /* nullable TKwwhile */
-225, /* ANode */
-625, /* Token */
-2051, /* TKwwhile */
+1771, /* TComma */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_parser_nodes__TKwwhile = {
+const struct types resolution_table_parser_nodes__TComma = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwwhile */
-const struct type type_nullable_parser_nodes__TKwwhile = {
-51,
-"nullable TKwwhile", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TKwwhile,
-3,
+/* runtime type TColumn */
+const struct type type_parser_nodes__TColumn = {
+1772,
+"TColumn", /* class_name_string */
+2,
+0,
+&resolution_table_parser_nodes__TColumn,
+5,
 {
 0, /* nullable Object */
--1, /* empty */
-51, /* nullable TKwwhile */
+1, /* Object */
+1772, /* TColumn */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwwhile = {
+const struct types resolution_table_parser_nodes__TColumn = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwloop */
-const struct type type_parser_nodes__TKwloop = {
-2052,
-"TKwloop", /* class_name_string */
+/* runtime type TQuad */
+const struct type type_parser_nodes__TQuad = {
+2023,
+"TQuad", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwloop,
+&resolution_table_parser_nodes__TQuad,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-52, /* nullable TKwloop */
-225, /* ANode */
-625, /* Token */
-2052, /* TKwloop */
+76, /* nullable TQuad */
+223, /* ANode */
+623, /* Token */
+2023, /* TQuad */
 },
 };
-const struct types resolution_table_parser_nodes__TKwloop = {
+const struct types resolution_table_parser_nodes__TQuad = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwloop */
-const struct type type_nullable_parser_nodes__TKwloop = {
-52,
-"nullable TKwloop", /* class_name_string */
+/* runtime type nullable TQuad */
+const struct type type_nullable_parser_nodes__TQuad = {
+76,
+"nullable TQuad", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwloop,
+&resolution_table_nullable_parser_nodes__TQuad,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-52, /* nullable TKwloop */
+76, /* nullable TQuad */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwloop = {
+const struct types resolution_table_nullable_parser_nodes__TQuad = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwfor */
-const struct type type_parser_nodes__TKwfor = {
-2053,
-"TKwfor", /* class_name_string */
+/* runtime type TAssign */
+const struct type type_parser_nodes__TAssign = {
+2024,
+"TAssign", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwfor,
+&resolution_table_parser_nodes__TAssign,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-53, /* nullable TKwfor */
-225, /* ANode */
-625, /* Token */
-2053, /* TKwfor */
+77, /* nullable TAssign */
+223, /* ANode */
+623, /* Token */
+2024, /* TAssign */
 },
 };
-const struct types resolution_table_parser_nodes__TKwfor = {
+const struct types resolution_table_parser_nodes__TAssign = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwfor */
-const struct type type_nullable_parser_nodes__TKwfor = {
-53,
-"nullable TKwfor", /* class_name_string */
+/* runtime type nullable TAssign */
+const struct type type_nullable_parser_nodes__TAssign = {
+77,
+"nullable TAssign", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwfor,
+&resolution_table_nullable_parser_nodes__TAssign,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-53, /* nullable TKwfor */
+77, /* nullable TAssign */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwfor = {
+const struct types resolution_table_nullable_parser_nodes__TAssign = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwin */
-const struct type type_parser_nodes__TKwin = {
-2054,
-"TKwin", /* class_name_string */
+/* runtime type TPluseq */
+const struct type type_parser_nodes__TPluseq = {
+2025,
+"TPluseq", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwin,
+&resolution_table_parser_nodes__TPluseq,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-54, /* nullable TKwin */
-225, /* ANode */
-625, /* Token */
-2054, /* TKwin */
+78, /* nullable TPluseq */
+223, /* ANode */
+623, /* Token */
+2025, /* TPluseq */
 },
 };
-const struct types resolution_table_parser_nodes__TKwin = {
+const struct types resolution_table_parser_nodes__TPluseq = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwin */
-const struct type type_nullable_parser_nodes__TKwin = {
-54,
-"nullable TKwin", /* class_name_string */
+/* runtime type nullable TPluseq */
+const struct type type_nullable_parser_nodes__TPluseq = {
+78,
+"nullable TPluseq", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwin,
+&resolution_table_nullable_parser_nodes__TPluseq,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-54, /* nullable TKwin */
+78, /* nullable TPluseq */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwin = {
+const struct types resolution_table_nullable_parser_nodes__TPluseq = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwand */
-const struct type type_parser_nodes__TKwand = {
-1819,
-"TKwand", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__TKwand,
+/* runtime type TMinuseq */
+const struct type type_parser_nodes__TMinuseq = {
+2026,
+"TMinuseq", /* class_name_string */
 5,
+0,
+&resolution_table_parser_nodes__TMinuseq,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1819, /* TKwand */
-225, /* ANode */
-625, /* Token */
+79, /* nullable TMinuseq */
+223, /* ANode */
+623, /* Token */
+2026, /* TMinuseq */
 },
 };
-const struct types resolution_table_parser_nodes__TKwand = {
+const struct types resolution_table_parser_nodes__TMinuseq = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwor */
-const struct type type_parser_nodes__TKwor = {
-1820,
-"TKwor", /* class_name_string */
+/* runtime type nullable TMinuseq */
+const struct type type_nullable_parser_nodes__TMinuseq = {
+79,
+"nullable TMinuseq", /* class_name_string */
 2,
-0,
-&resolution_table_parser_nodes__TKwor,
-5,
+1,
+&resolution_table_nullable_parser_nodes__TMinuseq,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-1820, /* TKwor */
-225, /* ANode */
-625, /* Token */
+-1, /* empty */
+79, /* nullable TMinuseq */
 },
 };
-const struct types resolution_table_parser_nodes__TKwor = {
+const struct types resolution_table_nullable_parser_nodes__TMinuseq = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwnot */
-const struct type type_parser_nodes__TKwnot = {
-2055,
-"TKwnot", /* class_name_string */
+/* runtime type TDotdotdot */
+const struct type type_parser_nodes__TDotdotdot = {
+2027,
+"TDotdotdot", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwnot,
+&resolution_table_parser_nodes__TDotdotdot,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-55, /* nullable TKwnot */
-225, /* ANode */
-625, /* Token */
-2055, /* TKwnot */
+80, /* nullable TDotdotdot */
+223, /* ANode */
+623, /* Token */
+2027, /* TDotdotdot */
 },
 };
-const struct types resolution_table_parser_nodes__TKwnot = {
+const struct types resolution_table_parser_nodes__TDotdotdot = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwnot */
-const struct type type_nullable_parser_nodes__TKwnot = {
-55,
-"nullable TKwnot", /* class_name_string */
+/* runtime type nullable TDotdotdot */
+const struct type type_nullable_parser_nodes__TDotdotdot = {
+80,
+"nullable TDotdotdot", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwnot,
+&resolution_table_nullable_parser_nodes__TDotdotdot,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-55, /* nullable TKwnot */
+80, /* nullable TDotdotdot */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwnot = {
+const struct types resolution_table_nullable_parser_nodes__TDotdotdot = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwimplies */
-const struct type type_parser_nodes__TKwimplies = {
-1821,
-"TKwimplies", /* class_name_string */
+/* runtime type TDotdot */
+const struct type type_parser_nodes__TDotdot = {
+1773,
+"TDotdot", /* class_name_string */
 2,
 0,
-&resolution_table_parser_nodes__TKwimplies,
+&resolution_table_parser_nodes__TDotdot,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1821, /* TKwimplies */
-225, /* ANode */
-625, /* Token */
+1773, /* TDotdot */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_parser_nodes__TKwimplies = {
+const struct types resolution_table_parser_nodes__TDotdot = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwreturn */
-const struct type type_parser_nodes__TKwreturn = {
-2056,
-"TKwreturn", /* class_name_string */
+/* runtime type TDot */
+const struct type type_parser_nodes__TDot = {
+1774,
+"TDot", /* class_name_string */
+2,
+0,
+&resolution_table_parser_nodes__TDot,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1774, /* TDot */
+223, /* ANode */
+623, /* Token */
+},
+};
+const struct types resolution_table_parser_nodes__TDot = {
+0, /* dummy */
+{
+}
+};
+/* runtime type TPlus */
+const struct type type_parser_nodes__TPlus = {
+2028,
+"TPlus", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwreturn,
+&resolution_table_parser_nodes__TPlus,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-56, /* nullable TKwreturn */
-225, /* ANode */
-625, /* Token */
-2056, /* TKwreturn */
+81, /* nullable TPlus */
+223, /* ANode */
+623, /* Token */
+2028, /* TPlus */
 },
 };
-const struct types resolution_table_parser_nodes__TKwreturn = {
+const struct types resolution_table_parser_nodes__TPlus = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwreturn */
-const struct type type_nullable_parser_nodes__TKwreturn = {
-56,
-"nullable TKwreturn", /* class_name_string */
+/* runtime type nullable TPlus */
+const struct type type_nullable_parser_nodes__TPlus = {
+81,
+"nullable TPlus", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwreturn,
+&resolution_table_nullable_parser_nodes__TPlus,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-56, /* nullable TKwreturn */
+81, /* nullable TPlus */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwreturn = {
+const struct types resolution_table_nullable_parser_nodes__TPlus = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwcontinue */
-const struct type type_parser_nodes__TKwcontinue = {
-2057,
-"TKwcontinue", /* class_name_string */
+/* runtime type TMinus */
+const struct type type_parser_nodes__TMinus = {
+2029,
+"TMinus", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwcontinue,
+&resolution_table_parser_nodes__TMinus,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-57, /* nullable TKwcontinue */
-225, /* ANode */
-625, /* Token */
-2057, /* TKwcontinue */
+82, /* nullable TMinus */
+223, /* ANode */
+623, /* Token */
+2029, /* TMinus */
 },
 };
-const struct types resolution_table_parser_nodes__TKwcontinue = {
+const struct types resolution_table_parser_nodes__TMinus = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwcontinue */
-const struct type type_nullable_parser_nodes__TKwcontinue = {
-57,
-"nullable TKwcontinue", /* class_name_string */
+/* runtime type nullable TMinus */
+const struct type type_nullable_parser_nodes__TMinus = {
+82,
+"nullable TMinus", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwcontinue,
+&resolution_table_nullable_parser_nodes__TMinus,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-57, /* nullable TKwcontinue */
+82, /* nullable TMinus */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwcontinue = {
+const struct types resolution_table_nullable_parser_nodes__TMinus = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwbreak */
-const struct type type_parser_nodes__TKwbreak = {
-2058,
-"TKwbreak", /* class_name_string */
+/* runtime type TStar */
+const struct type type_parser_nodes__TStar = {
+2030,
+"TStar", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwbreak,
+&resolution_table_parser_nodes__TStar,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-58, /* nullable TKwbreak */
-225, /* ANode */
-625, /* Token */
-2058, /* TKwbreak */
+83, /* nullable TStar */
+223, /* ANode */
+623, /* Token */
+2030, /* TStar */
 },
 };
-const struct types resolution_table_parser_nodes__TKwbreak = {
+const struct types resolution_table_parser_nodes__TStar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwbreak */
-const struct type type_nullable_parser_nodes__TKwbreak = {
-58,
-"nullable TKwbreak", /* class_name_string */
+/* runtime type nullable TStar */
+const struct type type_nullable_parser_nodes__TStar = {
+83,
+"nullable TStar", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwbreak,
+&resolution_table_nullable_parser_nodes__TStar,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-58, /* nullable TKwbreak */
+83, /* nullable TStar */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwbreak = {
+const struct types resolution_table_nullable_parser_nodes__TStar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwabort */
-const struct type type_parser_nodes__TKwabort = {
-2059,
-"TKwabort", /* class_name_string */
+/* runtime type TSlash */
+const struct type type_parser_nodes__TSlash = {
+2031,
+"TSlash", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwabort,
+&resolution_table_parser_nodes__TSlash,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-59, /* nullable TKwabort */
-225, /* ANode */
-625, /* Token */
-2059, /* TKwabort */
+84, /* nullable TSlash */
+223, /* ANode */
+623, /* Token */
+2031, /* TSlash */
 },
 };
-const struct types resolution_table_parser_nodes__TKwabort = {
+const struct types resolution_table_parser_nodes__TSlash = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwabort */
-const struct type type_nullable_parser_nodes__TKwabort = {
-59,
-"nullable TKwabort", /* class_name_string */
-2,
+/* runtime type nullable TSlash */
+const struct type type_nullable_parser_nodes__TSlash = {
+84,
+"nullable TSlash", /* class_name_string */
+2,
 1,
-&resolution_table_nullable_parser_nodes__TKwabort,
+&resolution_table_nullable_parser_nodes__TSlash,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-59, /* nullable TKwabort */
+84, /* nullable TSlash */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwabort = {
+const struct types resolution_table_nullable_parser_nodes__TSlash = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwassert */
-const struct type type_parser_nodes__TKwassert = {
-2060,
-"TKwassert", /* class_name_string */
+/* runtime type TPercent */
+const struct type type_parser_nodes__TPercent = {
+2032,
+"TPercent", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwassert,
+&resolution_table_parser_nodes__TPercent,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-60, /* nullable TKwassert */
-225, /* ANode */
-625, /* Token */
-2060, /* TKwassert */
+85, /* nullable TPercent */
+223, /* ANode */
+623, /* Token */
+2032, /* TPercent */
 },
 };
-const struct types resolution_table_parser_nodes__TKwassert = {
+const struct types resolution_table_parser_nodes__TPercent = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwassert */
-const struct type type_nullable_parser_nodes__TKwassert = {
-60,
-"nullable TKwassert", /* class_name_string */
+/* runtime type nullable TPercent */
+const struct type type_nullable_parser_nodes__TPercent = {
+85,
+"nullable TPercent", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwassert,
+&resolution_table_nullable_parser_nodes__TPercent,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-60, /* nullable TKwassert */
+85, /* nullable TPercent */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwassert = {
+const struct types resolution_table_nullable_parser_nodes__TPercent = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwnew */
-const struct type type_parser_nodes__TKwnew = {
-2061,
-"TKwnew", /* class_name_string */
+/* runtime type TEq */
+const struct type type_parser_nodes__TEq = {
+2033,
+"TEq", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwnew,
+&resolution_table_parser_nodes__TEq,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-61, /* nullable TKwnew */
-225, /* ANode */
-625, /* Token */
-2061, /* TKwnew */
+86, /* nullable TEq */
+223, /* ANode */
+623, /* Token */
+2033, /* TEq */
 },
 };
-const struct types resolution_table_parser_nodes__TKwnew = {
+const struct types resolution_table_parser_nodes__TEq = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwnew */
-const struct type type_nullable_parser_nodes__TKwnew = {
-61,
-"nullable TKwnew", /* class_name_string */
+/* runtime type nullable TEq */
+const struct type type_nullable_parser_nodes__TEq = {
+86,
+"nullable TEq", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwnew,
+&resolution_table_nullable_parser_nodes__TEq,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-61, /* nullable TKwnew */
-},
-};
-const struct types resolution_table_nullable_parser_nodes__TKwnew = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TKwisa */
-const struct type type_parser_nodes__TKwisa = {
-1822,
-"TKwisa", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__TKwisa,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1822, /* TKwisa */
-225, /* ANode */
-625, /* Token */
+86, /* nullable TEq */
 },
 };
-const struct types resolution_table_parser_nodes__TKwisa = {
+const struct types resolution_table_nullable_parser_nodes__TEq = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwonce */
-const struct type type_parser_nodes__TKwonce = {
-2062,
-"TKwonce", /* class_name_string */
+/* runtime type TNe */
+const struct type type_parser_nodes__TNe = {
+2034,
+"TNe", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwonce,
+&resolution_table_parser_nodes__TNe,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-62, /* nullable TKwonce */
-225, /* ANode */
-625, /* Token */
-2062, /* TKwonce */
+87, /* nullable TNe */
+223, /* ANode */
+623, /* Token */
+2034, /* TNe */
 },
 };
-const struct types resolution_table_parser_nodes__TKwonce = {
+const struct types resolution_table_parser_nodes__TNe = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwonce */
-const struct type type_nullable_parser_nodes__TKwonce = {
-62,
-"nullable TKwonce", /* class_name_string */
+/* runtime type nullable TNe */
+const struct type type_nullable_parser_nodes__TNe = {
+87,
+"nullable TNe", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwonce,
+&resolution_table_nullable_parser_nodes__TNe,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-62, /* nullable TKwonce */
+87, /* nullable TNe */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwonce = {
+const struct types resolution_table_nullable_parser_nodes__TNe = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwsuper */
-const struct type type_parser_nodes__TKwsuper = {
-2063,
-"TKwsuper", /* class_name_string */
+/* runtime type TLt */
+const struct type type_parser_nodes__TLt = {
+2035,
+"TLt", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwsuper,
+&resolution_table_parser_nodes__TLt,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-63, /* nullable TKwsuper */
-225, /* ANode */
-625, /* Token */
-2063, /* TKwsuper */
+88, /* nullable TLt */
+223, /* ANode */
+623, /* Token */
+2035, /* TLt */
 },
 };
-const struct types resolution_table_parser_nodes__TKwsuper = {
+const struct types resolution_table_parser_nodes__TLt = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwsuper */
-const struct type type_nullable_parser_nodes__TKwsuper = {
-63,
-"nullable TKwsuper", /* class_name_string */
+/* runtime type nullable TLt */
+const struct type type_nullable_parser_nodes__TLt = {
+88,
+"nullable TLt", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwsuper,
+&resolution_table_nullable_parser_nodes__TLt,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-63, /* nullable TKwsuper */
+88, /* nullable TLt */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwsuper = {
+const struct types resolution_table_nullable_parser_nodes__TLt = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwself */
-const struct type type_parser_nodes__TKwself = {
-2064,
-"TKwself", /* class_name_string */
+/* runtime type TLe */
+const struct type type_parser_nodes__TLe = {
+2036,
+"TLe", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwself,
+&resolution_table_parser_nodes__TLe,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-64, /* nullable TKwself */
-225, /* ANode */
-625, /* Token */
-2064, /* TKwself */
+89, /* nullable TLe */
+223, /* ANode */
+623, /* Token */
+2036, /* TLe */
 },
 };
-const struct types resolution_table_parser_nodes__TKwself = {
+const struct types resolution_table_parser_nodes__TLe = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwself */
-const struct type type_nullable_parser_nodes__TKwself = {
-64,
-"nullable TKwself", /* class_name_string */
+/* runtime type nullable TLe */
+const struct type type_nullable_parser_nodes__TLe = {
+89,
+"nullable TLe", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwself,
+&resolution_table_nullable_parser_nodes__TLe,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-64, /* nullable TKwself */
+89, /* nullable TLe */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwself = {
+const struct types resolution_table_nullable_parser_nodes__TLe = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwtrue */
-const struct type type_parser_nodes__TKwtrue = {
-2065,
-"TKwtrue", /* class_name_string */
+/* runtime type TLl */
+const struct type type_parser_nodes__TLl = {
+2037,
+"TLl", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwtrue,
+&resolution_table_parser_nodes__TLl,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-65, /* nullable TKwtrue */
-225, /* ANode */
-625, /* Token */
-2065, /* TKwtrue */
+90, /* nullable TLl */
+223, /* ANode */
+623, /* Token */
+2037, /* TLl */
 },
 };
-const struct types resolution_table_parser_nodes__TKwtrue = {
+const struct types resolution_table_parser_nodes__TLl = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwtrue */
-const struct type type_nullable_parser_nodes__TKwtrue = {
-65,
-"nullable TKwtrue", /* class_name_string */
+/* runtime type nullable TLl */
+const struct type type_nullable_parser_nodes__TLl = {
+90,
+"nullable TLl", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwtrue,
+&resolution_table_nullable_parser_nodes__TLl,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-65, /* nullable TKwtrue */
+90, /* nullable TLl */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwtrue = {
+const struct types resolution_table_nullable_parser_nodes__TLl = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwfalse */
-const struct type type_parser_nodes__TKwfalse = {
-2066,
-"TKwfalse", /* class_name_string */
+/* runtime type TGt */
+const struct type type_parser_nodes__TGt = {
+2038,
+"TGt", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwfalse,
+&resolution_table_parser_nodes__TGt,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-66, /* nullable TKwfalse */
-225, /* ANode */
-625, /* Token */
-2066, /* TKwfalse */
+91, /* nullable TGt */
+223, /* ANode */
+623, /* Token */
+2038, /* TGt */
 },
 };
-const struct types resolution_table_parser_nodes__TKwfalse = {
+const struct types resolution_table_parser_nodes__TGt = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwfalse */
-const struct type type_nullable_parser_nodes__TKwfalse = {
-66,
-"nullable TKwfalse", /* class_name_string */
+/* runtime type nullable TGt */
+const struct type type_nullable_parser_nodes__TGt = {
+91,
+"nullable TGt", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwfalse,
+&resolution_table_nullable_parser_nodes__TGt,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-66, /* nullable TKwfalse */
+91, /* nullable TGt */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwfalse = {
+const struct types resolution_table_nullable_parser_nodes__TGt = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwnull */
-const struct type type_parser_nodes__TKwnull = {
-2067,
-"TKwnull", /* class_name_string */
+/* runtime type TGe */
+const struct type type_parser_nodes__TGe = {
+2039,
+"TGe", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwnull,
+&resolution_table_parser_nodes__TGe,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-67, /* nullable TKwnull */
-225, /* ANode */
-625, /* Token */
-2067, /* TKwnull */
+92, /* nullable TGe */
+223, /* ANode */
+623, /* Token */
+2039, /* TGe */
 },
 };
-const struct types resolution_table_parser_nodes__TKwnull = {
+const struct types resolution_table_parser_nodes__TGe = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwnull */
-const struct type type_nullable_parser_nodes__TKwnull = {
-67,
-"nullable TKwnull", /* class_name_string */
+/* runtime type nullable TGe */
+const struct type type_nullable_parser_nodes__TGe = {
+92,
+"nullable TGe", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwnull,
+&resolution_table_nullable_parser_nodes__TGe,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-67, /* nullable TKwnull */
+92, /* nullable TGe */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwnull = {
+const struct types resolution_table_nullable_parser_nodes__TGe = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwas */
-const struct type type_parser_nodes__TKwas = {
-2068,
-"TKwas", /* class_name_string */
+/* runtime type TGg */
+const struct type type_parser_nodes__TGg = {
+2040,
+"TGg", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwas,
+&resolution_table_parser_nodes__TGg,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-68, /* nullable TKwas */
-225, /* ANode */
-625, /* Token */
-2068, /* TKwas */
+93, /* nullable TGg */
+223, /* ANode */
+623, /* Token */
+2040, /* TGg */
 },
 };
-const struct types resolution_table_parser_nodes__TKwas = {
+const struct types resolution_table_parser_nodes__TGg = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwas */
-const struct type type_nullable_parser_nodes__TKwas = {
-68,
-"nullable TKwas", /* class_name_string */
+/* runtime type nullable TGg */
+const struct type type_nullable_parser_nodes__TGg = {
+93,
+"nullable TGg", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwas,
+&resolution_table_nullable_parser_nodes__TGg,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-68, /* nullable TKwas */
+93, /* nullable TGg */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwas = {
+const struct types resolution_table_nullable_parser_nodes__TGg = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwnullable */
-const struct type type_parser_nodes__TKwnullable = {
-2069,
-"TKwnullable", /* class_name_string */
+/* runtime type TStarship */
+const struct type type_parser_nodes__TStarship = {
+2041,
+"TStarship", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwnullable,
+&resolution_table_parser_nodes__TStarship,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-69, /* nullable TKwnullable */
-225, /* ANode */
-625, /* Token */
-2069, /* TKwnullable */
+94, /* nullable TStarship */
+223, /* ANode */
+623, /* Token */
+2041, /* TStarship */
 },
 };
-const struct types resolution_table_parser_nodes__TKwnullable = {
+const struct types resolution_table_parser_nodes__TStarship = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwnullable */
-const struct type type_nullable_parser_nodes__TKwnullable = {
-69,
-"nullable TKwnullable", /* class_name_string */
+/* runtime type nullable TStarship */
+const struct type type_nullable_parser_nodes__TStarship = {
+94,
+"nullable TStarship", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwnullable,
+&resolution_table_nullable_parser_nodes__TStarship,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-69, /* nullable TKwnullable */
+94, /* nullable TStarship */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwnullable = {
+const struct types resolution_table_nullable_parser_nodes__TStarship = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwisset */
-const struct type type_parser_nodes__TKwisset = {
-2070,
-"TKwisset", /* class_name_string */
+/* runtime type TBang */
+const struct type type_parser_nodes__TBang = {
+1775,
+"TBang", /* class_name_string */
+2,
+0,
+&resolution_table_parser_nodes__TBang,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1775, /* TBang */
+223, /* ANode */
+623, /* Token */
+},
+};
+const struct types resolution_table_parser_nodes__TBang = {
+0, /* dummy */
+{
+}
+};
+/* runtime type TAt */
+const struct type type_parser_nodes__TAt = {
+2042,
+"TAt", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwisset,
+&resolution_table_parser_nodes__TAt,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-70, /* nullable TKwisset */
-225, /* ANode */
-625, /* Token */
-2070, /* TKwisset */
+95, /* nullable TAt */
+223, /* ANode */
+623, /* Token */
+2042, /* TAt */
 },
 };
-const struct types resolution_table_parser_nodes__TKwisset = {
+const struct types resolution_table_parser_nodes__TAt = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwisset */
-const struct type type_nullable_parser_nodes__TKwisset = {
-70,
-"nullable TKwisset", /* class_name_string */
+/* runtime type nullable TAt */
+const struct type type_nullable_parser_nodes__TAt = {
+95,
+"nullable TAt", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwisset,
+&resolution_table_nullable_parser_nodes__TAt,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-70, /* nullable TKwisset */
+95, /* nullable TAt */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwisset = {
+const struct types resolution_table_nullable_parser_nodes__TAt = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwlabel */
-const struct type type_parser_nodes__TKwlabel = {
-2071,
-"TKwlabel", /* class_name_string */
+/* runtime type TClassid */
+const struct type type_parser_nodes__TClassid = {
+2043,
+"TClassid", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwlabel,
+&resolution_table_parser_nodes__TClassid,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-71, /* nullable TKwlabel */
-225, /* ANode */
-625, /* Token */
-2071, /* TKwlabel */
+96, /* nullable TClassid */
+223, /* ANode */
+623, /* Token */
+2043, /* TClassid */
 },
 };
-const struct types resolution_table_parser_nodes__TKwlabel = {
+const struct types resolution_table_parser_nodes__TClassid = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwlabel */
-const struct type type_nullable_parser_nodes__TKwlabel = {
-71,
-"nullable TKwlabel", /* class_name_string */
+/* runtime type nullable TClassid */
+const struct type type_nullable_parser_nodes__TClassid = {
+96,
+"nullable TClassid", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwlabel,
+&resolution_table_nullable_parser_nodes__TClassid,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-71, /* nullable TKwlabel */
+96, /* nullable TClassid */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwlabel = {
+const struct types resolution_table_nullable_parser_nodes__TClassid = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TKwdebug */
-const struct type type_parser_nodes__TKwdebug = {
-2072,
-"TKwdebug", /* class_name_string */
+/* runtime type TId */
+const struct type type_parser_nodes__TId = {
+2044,
+"TId", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TKwdebug,
+&resolution_table_parser_nodes__TId,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-72, /* nullable TKwdebug */
-225, /* ANode */
-625, /* Token */
-2072, /* TKwdebug */
+97, /* nullable TId */
+223, /* ANode */
+623, /* Token */
+2044, /* TId */
 },
 };
-const struct types resolution_table_parser_nodes__TKwdebug = {
+const struct types resolution_table_parser_nodes__TId = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TKwdebug */
-const struct type type_nullable_parser_nodes__TKwdebug = {
-72,
-"nullable TKwdebug", /* class_name_string */
+/* runtime type nullable TId */
+const struct type type_nullable_parser_nodes__TId = {
+97,
+"nullable TId", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TKwdebug,
+&resolution_table_nullable_parser_nodes__TId,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-72, /* nullable TKwdebug */
+97, /* nullable TId */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TKwdebug = {
+const struct types resolution_table_nullable_parser_nodes__TId = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TOpar */
-const struct type type_parser_nodes__TOpar = {
-2073,
-"TOpar", /* class_name_string */
+/* runtime type TAttrid */
+const struct type type_parser_nodes__TAttrid = {
+2045,
+"TAttrid", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TOpar,
+&resolution_table_parser_nodes__TAttrid,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-73, /* nullable TOpar */
-225, /* ANode */
-625, /* Token */
-2073, /* TOpar */
+98, /* nullable TAttrid */
+223, /* ANode */
+623, /* Token */
+2045, /* TAttrid */
 },
 };
-const struct types resolution_table_parser_nodes__TOpar = {
+const struct types resolution_table_parser_nodes__TAttrid = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TOpar */
-const struct type type_nullable_parser_nodes__TOpar = {
-73,
-"nullable TOpar", /* class_name_string */
+/* runtime type nullable TAttrid */
+const struct type type_nullable_parser_nodes__TAttrid = {
+98,
+"nullable TAttrid", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TOpar,
+&resolution_table_nullable_parser_nodes__TAttrid,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-73, /* nullable TOpar */
+98, /* nullable TAttrid */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TOpar = {
+const struct types resolution_table_nullable_parser_nodes__TAttrid = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TCpar */
-const struct type type_parser_nodes__TCpar = {
-2074,
-"TCpar", /* class_name_string */
+/* runtime type TNumber */
+const struct type type_parser_nodes__TNumber = {
+2046,
+"TNumber", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TCpar,
+&resolution_table_parser_nodes__TNumber,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-74, /* nullable TCpar */
-225, /* ANode */
-625, /* Token */
-2074, /* TCpar */
+99, /* nullable TNumber */
+223, /* ANode */
+623, /* Token */
+2046, /* TNumber */
 },
 };
-const struct types resolution_table_parser_nodes__TCpar = {
+const struct types resolution_table_parser_nodes__TNumber = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TCpar */
-const struct type type_nullable_parser_nodes__TCpar = {
-74,
-"nullable TCpar", /* class_name_string */
+/* runtime type nullable TNumber */
+const struct type type_nullable_parser_nodes__TNumber = {
+99,
+"nullable TNumber", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TCpar,
+&resolution_table_nullable_parser_nodes__TNumber,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-74, /* nullable TCpar */
+99, /* nullable TNumber */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TCpar = {
+const struct types resolution_table_nullable_parser_nodes__TNumber = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TObra */
-const struct type type_parser_nodes__TObra = {
-2075,
-"TObra", /* class_name_string */
+/* runtime type TFloat */
+const struct type type_parser_nodes__TFloat = {
+2047,
+"TFloat", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TObra,
+&resolution_table_parser_nodes__TFloat,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-75, /* nullable TObra */
-225, /* ANode */
-625, /* Token */
-2075, /* TObra */
+100, /* nullable TFloat */
+223, /* ANode */
+623, /* Token */
+2047, /* TFloat */
 },
 };
-const struct types resolution_table_parser_nodes__TObra = {
+const struct types resolution_table_parser_nodes__TFloat = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TObra */
-const struct type type_nullable_parser_nodes__TObra = {
-75,
-"nullable TObra", /* class_name_string */
+/* runtime type nullable TFloat */
+const struct type type_nullable_parser_nodes__TFloat = {
+100,
+"nullable TFloat", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TObra,
+&resolution_table_nullable_parser_nodes__TFloat,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-75, /* nullable TObra */
+100, /* nullable TFloat */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TObra = {
+const struct types resolution_table_nullable_parser_nodes__TFloat = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TCbra */
-const struct type type_parser_nodes__TCbra = {
-2076,
-"TCbra", /* class_name_string */
+/* runtime type TString */
+const struct type type_parser_nodes__TString = {
+2048,
+"TString", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TCbra,
+&resolution_table_parser_nodes__TString,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-76, /* nullable TCbra */
-225, /* ANode */
-625, /* Token */
-2076, /* TCbra */
+101, /* nullable TString */
+223, /* ANode */
+623, /* Token */
+2048, /* TString */
 },
 };
-const struct types resolution_table_parser_nodes__TCbra = {
+const struct types resolution_table_parser_nodes__TString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TCbra */
-const struct type type_nullable_parser_nodes__TCbra = {
-76,
-"nullable TCbra", /* class_name_string */
+/* runtime type nullable TString */
+const struct type type_nullable_parser_nodes__TString = {
+101,
+"nullable TString", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TCbra,
+&resolution_table_nullable_parser_nodes__TString,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-76, /* nullable TCbra */
+101, /* nullable TString */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TCbra = {
+const struct types resolution_table_nullable_parser_nodes__TString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TComma */
-const struct type type_parser_nodes__TComma = {
-1823,
-"TComma", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__TComma,
+/* runtime type TStartString */
+const struct type type_parser_nodes__TStartString = {
+2049,
+"TStartString", /* class_name_string */
 5,
+0,
+&resolution_table_parser_nodes__TStartString,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1823, /* TComma */
-225, /* ANode */
-625, /* Token */
+102, /* nullable TStartString */
+223, /* ANode */
+623, /* Token */
+2049, /* TStartString */
 },
 };
-const struct types resolution_table_parser_nodes__TComma = {
+const struct types resolution_table_parser_nodes__TStartString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TColumn */
-const struct type type_parser_nodes__TColumn = {
-1824,
-"TColumn", /* class_name_string */
+/* runtime type nullable TStartString */
+const struct type type_nullable_parser_nodes__TStartString = {
+102,
+"nullable TStartString", /* class_name_string */
 2,
-0,
-&resolution_table_parser_nodes__TColumn,
-5,
+1,
+&resolution_table_nullable_parser_nodes__TStartString,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-1824, /* TColumn */
-225, /* ANode */
-625, /* Token */
+-1, /* empty */
+102, /* nullable TStartString */
 },
 };
-const struct types resolution_table_parser_nodes__TColumn = {
+const struct types resolution_table_nullable_parser_nodes__TStartString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TQuad */
-const struct type type_parser_nodes__TQuad = {
-2077,
-"TQuad", /* class_name_string */
+/* runtime type TMidString */
+const struct type type_parser_nodes__TMidString = {
+2050,
+"TMidString", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TQuad,
+&resolution_table_parser_nodes__TMidString,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-77, /* nullable TQuad */
-225, /* ANode */
-625, /* Token */
-2077, /* TQuad */
+103, /* nullable TMidString */
+223, /* ANode */
+623, /* Token */
+2050, /* TMidString */
 },
 };
-const struct types resolution_table_parser_nodes__TQuad = {
+const struct types resolution_table_parser_nodes__TMidString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TQuad */
-const struct type type_nullable_parser_nodes__TQuad = {
-77,
-"nullable TQuad", /* class_name_string */
+/* runtime type nullable TMidString */
+const struct type type_nullable_parser_nodes__TMidString = {
+103,
+"nullable TMidString", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TQuad,
+&resolution_table_nullable_parser_nodes__TMidString,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-77, /* nullable TQuad */
+103, /* nullable TMidString */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TQuad = {
+const struct types resolution_table_nullable_parser_nodes__TMidString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TAssign */
-const struct type type_parser_nodes__TAssign = {
-2078,
-"TAssign", /* class_name_string */
-5,
+/* runtime type TEndString */
+const struct type type_parser_nodes__TEndString = {
+2051,
+"TEndString", /* class_name_string */
+5,
 0,
-&resolution_table_parser_nodes__TAssign,
+&resolution_table_parser_nodes__TEndString,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-78, /* nullable TAssign */
-225, /* ANode */
-625, /* Token */
-2078, /* TAssign */
+104, /* nullable TEndString */
+223, /* ANode */
+623, /* Token */
+2051, /* TEndString */
 },
 };
-const struct types resolution_table_parser_nodes__TAssign = {
+const struct types resolution_table_parser_nodes__TEndString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TAssign */
-const struct type type_nullable_parser_nodes__TAssign = {
-78,
-"nullable TAssign", /* class_name_string */
+/* runtime type nullable TEndString */
+const struct type type_nullable_parser_nodes__TEndString = {
+104,
+"nullable TEndString", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TAssign,
+&resolution_table_nullable_parser_nodes__TEndString,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-78, /* nullable TAssign */
+104, /* nullable TEndString */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TAssign = {
+const struct types resolution_table_nullable_parser_nodes__TEndString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TPluseq */
-const struct type type_parser_nodes__TPluseq = {
-2079,
-"TPluseq", /* class_name_string */
+/* runtime type TChar */
+const struct type type_parser_nodes__TChar = {
+2052,
+"TChar", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TPluseq,
+&resolution_table_parser_nodes__TChar,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-79, /* nullable TPluseq */
-225, /* ANode */
-625, /* Token */
-2079, /* TPluseq */
+105, /* nullable TChar */
+223, /* ANode */
+623, /* Token */
+2052, /* TChar */
 },
 };
-const struct types resolution_table_parser_nodes__TPluseq = {
+const struct types resolution_table_parser_nodes__TChar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TPluseq */
-const struct type type_nullable_parser_nodes__TPluseq = {
-79,
-"nullable TPluseq", /* class_name_string */
+/* runtime type nullable TChar */
+const struct type type_nullable_parser_nodes__TChar = {
+105,
+"nullable TChar", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TPluseq,
+&resolution_table_nullable_parser_nodes__TChar,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-79, /* nullable TPluseq */
+105, /* nullable TChar */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TPluseq = {
+const struct types resolution_table_nullable_parser_nodes__TChar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TMinuseq */
-const struct type type_parser_nodes__TMinuseq = {
-2080,
-"TMinuseq", /* class_name_string */
-5,
+/* runtime type TBadString */
+const struct type type_parser_nodes__TBadString = {
+1776,
+"TBadString", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TMinuseq,
-6,
+&resolution_table_parser_nodes__TBadString,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-80, /* nullable TMinuseq */
-225, /* ANode */
-625, /* Token */
-2080, /* TMinuseq */
+1776, /* TBadString */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_parser_nodes__TMinuseq = {
+const struct types resolution_table_parser_nodes__TBadString = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TMinuseq */
-const struct type type_nullable_parser_nodes__TMinuseq = {
-80,
-"nullable TMinuseq", /* class_name_string */
+/* runtime type TBadChar */
+const struct type type_parser_nodes__TBadChar = {
+1777,
+"TBadChar", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TMinuseq,
-3,
+0,
+&resolution_table_parser_nodes__TBadChar,
+5,
 {
 0, /* nullable Object */
--1, /* empty */
-80, /* nullable TMinuseq */
+1, /* Object */
+1777, /* TBadChar */
+223, /* ANode */
+623, /* Token */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TMinuseq = {
+const struct types resolution_table_parser_nodes__TBadChar = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TDotdotdot */
-const struct type type_parser_nodes__TDotdotdot = {
-2081,
-"TDotdotdot", /* class_name_string */
+/* runtime type TExternCodeSegment */
+const struct type type_parser_nodes__TExternCodeSegment = {
+2053,
+"TExternCodeSegment", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TDotdotdot,
+&resolution_table_parser_nodes__TExternCodeSegment,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-81, /* nullable TDotdotdot */
-225, /* ANode */
-625, /* Token */
-2081, /* TDotdotdot */
+106, /* nullable TExternCodeSegment */
+223, /* ANode */
+623, /* Token */
+2053, /* TExternCodeSegment */
 },
 };
-const struct types resolution_table_parser_nodes__TDotdotdot = {
+const struct types resolution_table_parser_nodes__TExternCodeSegment = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TDotdotdot */
-const struct type type_nullable_parser_nodes__TDotdotdot = {
-81,
-"nullable TDotdotdot", /* class_name_string */
+/* runtime type nullable TExternCodeSegment */
+const struct type type_nullable_parser_nodes__TExternCodeSegment = {
+106,
+"nullable TExternCodeSegment", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TDotdotdot,
+&resolution_table_nullable_parser_nodes__TExternCodeSegment,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-81, /* nullable TDotdotdot */
+106, /* nullable TExternCodeSegment */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TDotdotdot = {
+const struct types resolution_table_nullable_parser_nodes__TExternCodeSegment = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TDotdot */
-const struct type type_parser_nodes__TDotdot = {
-1825,
-"TDotdot", /* class_name_string */
-2,
+/* runtime type ALexerError */
+const struct type type_parser_nodes__ALexerError = {
+2335,
+"ALexerError", /* class_name_string */
+6,
 0,
-&resolution_table_parser_nodes__TDotdot,
-5,
+&resolution_table_parser_nodes__ALexerError,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-1825, /* TDotdot */
-225, /* ANode */
-625, /* Token */
+1747, /* EOF */
+223, /* ANode */
+623, /* Token */
+1925, /* AError */
+2335, /* ALexerError */
 },
 };
-const struct types resolution_table_parser_nodes__TDotdot = {
+const struct types resolution_table_parser_nodes__ALexerError = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TDot */
-const struct type type_parser_nodes__TDot = {
-1826,
-"TDot", /* class_name_string */
-2,
+/* runtime type MMethod */
+const struct type type_model__MMethod = {
+2336,
+"MMethod", /* class_name_string */
+6,
 0,
-&resolution_table_parser_nodes__TDot,
-5,
+&resolution_table_model__MMethod,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-1826, /* TDot */
-225, /* ANode */
-625, /* Token */
+107, /* nullable MProperty */
+262, /* PropertyLayoutElement */
+263, /* nullable MMethod */
+1778, /* MProperty */
+2336, /* MMethod */
 },
 };
-const struct types resolution_table_parser_nodes__TDot = {
+const struct types resolution_table_model__MMethod = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
+&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
 }
 };
-/* runtime type TPlus */
-const struct type type_parser_nodes__TPlus = {
-2082,
-"TPlus", /* class_name_string */
+/* runtime type MProperty */
+const struct type type_model__MProperty = {
+1778,
+"MProperty", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TPlus,
+NULL,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-82, /* nullable TPlus */
-225, /* ANode */
-625, /* Token */
-2082, /* TPlus */
+107, /* nullable MProperty */
+262, /* PropertyLayoutElement */
+-1, /* empty */
+1778, /* MProperty */
 },
 };
-const struct types resolution_table_parser_nodes__TPlus = {
-0, /* dummy */
-{
-}
-};
-/* runtime type nullable TPlus */
-const struct type type_nullable_parser_nodes__TPlus = {
-82,
-"nullable TPlus", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TPlus,
+/* runtime type PropertyLayoutElement */
+const struct type type_layout_builders__PropertyLayoutElement = {
+262,
+"PropertyLayoutElement", /* class_name_string */
 3,
+0,
+NULL,
+4,
 {
 0, /* nullable Object */
+1, /* Object */
 -1, /* empty */
-82, /* nullable TPlus */
+262, /* PropertyLayoutElement */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TPlus = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TMinus */
-const struct type type_parser_nodes__TMinus = {
-2083,
-"TMinus", /* class_name_string */
+/* runtime type nullable MMethod */
+const struct type type_nullable_model__MMethod = {
+263,
+"nullable MMethod", /* class_name_string */
+4,
+1,
+&resolution_table_nullable_model__MMethod,
 5,
-0,
-&resolution_table_parser_nodes__TMinus,
-6,
 {
 0, /* nullable Object */
-1, /* Object */
-83, /* nullable TMinus */
-225, /* ANode */
-625, /* Token */
-2083, /* TMinus */
+-1, /* empty */
+107, /* nullable MProperty */
+-1, /* empty */
+263, /* nullable MMethod */
 },
 };
-const struct types resolution_table_parser_nodes__TMinus = {
+const struct types resolution_table_nullable_model__MMethod = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
+&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
 }
 };
-/* runtime type nullable TMinus */
-const struct type type_nullable_parser_nodes__TMinus = {
-83,
-"nullable TMinus", /* class_name_string */
+/* runtime type nullable MProperty */
+const struct type type_nullable_model__MProperty = {
+107,
+"nullable MProperty", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TMinus,
+NULL,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-83, /* nullable TMinus */
+107, /* nullable MProperty */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TMinus = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TStar */
-const struct type type_parser_nodes__TStar = {
-2084,
-"TStar", /* class_name_string */
+/* runtime type MMethodDef */
+const struct type type_model__MMethodDef = {
+2054,
+"MMethodDef", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TStar,
+&resolution_table_model__MMethodDef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-84, /* nullable TStar */
-225, /* ANode */
-625, /* Token */
-2084, /* TStar */
+108, /* nullable MPropDef */
+262, /* PropertyLayoutElement */
+1779, /* MPropDef */
+2054, /* MMethodDef */
 },
 };
-const struct types resolution_table_parser_nodes__TStar = {
+const struct types resolution_table_model__MMethodDef = {
 0, /* dummy */
 {
+&type_model__MMethod, /* MPROPERTY: MMethod */
+&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
+&type_model__MMethodDef, /* MPROPDEF: MMethodDef */
 }
 };
-/* runtime type nullable TStar */
-const struct type type_nullable_parser_nodes__TStar = {
-84,
-"nullable TStar", /* class_name_string */
+/* runtime type MPropDef */
+const struct type type_model__MPropDef = {
+1779,
+"MPropDef", /* class_name_string */
+4,
+0,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+108, /* nullable MPropDef */
+262, /* PropertyLayoutElement */
+1779, /* MPropDef */
+},
+};
+/* runtime type nullable MPropDef */
+const struct type type_nullable_model__MPropDef = {
+108,
+"nullable MPropDef", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_parser_nodes__TStar,
+NULL,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-84, /* nullable TStar */
+108, /* nullable MPropDef */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TStar = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TSlash */
-const struct type type_parser_nodes__TSlash = {
-2085,
-"TSlash", /* class_name_string */
-5,
+/* runtime type Array[MParameter] */
+const struct type type_array__Arraymodel__MParameter = {
+2503,
+"Array[MParameter]", /* class_name_string */
+7,
 0,
-&resolution_table_parser_nodes__TSlash,
-6,
+&resolution_table_array__Arraymodel__MParameter,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-85, /* nullable TSlash */
-225, /* ANode */
-625, /* Token */
-2085, /* TSlash */
+1424, /* Collection[MParameter] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+2337, /* AbstractArrayRead[MParameter] */
+1728, /* AbstractArrayRead[Object] */
+2503, /* Array[MParameter] */
+-1, /* empty */
+1911, /* Array[Object] */
 },
 };
-const struct types resolution_table_parser_nodes__TSlash = {
+const struct types resolution_table_array__Arraymodel__MParameter = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MParameter, /* Array[Array#0]: Array[MParameter] */
+&type_array__NativeArraymodel__MParameter, /* NativeArray[Array#0]: NativeArray[MParameter] */
+&type_model__MParameter, /* Sequence#0: MParameter */
+&type_model__MParameter, /* SimpleCollection#0: MParameter */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Array#0]: Collection[MParameter] */
+&type_model__MParameter, /* Array#0: MParameter */
+&type_array__NativeArraymodel__MParameter, /* NativeArray[ArrayCapable#0]: NativeArray[MParameter] */
+&type_model__MParameter, /* AbstractArray#0: MParameter */
+&type_model__MParameter, /* RemovableCollection#0: MParameter */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Sequence#0]: Collection[MParameter] */
+&type_array__Arraymodel__MParameter, /* Array[Sequence#0]: Array[MParameter] */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[SimpleCollection#0]: Collection[MParameter] */
+&type_model__MParameter, /* Collection#0: MParameter */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Collection#0]: Collection[MParameter] */
+&type_model__MParameter, /* SequenceRead#0: MParameter */
+&type_model__MParameter, /* AbstractArrayRead#0: MParameter */
+&type_array__Arraymodel__MParameter, /* Array[AbstractArrayRead#0]: Array[MParameter] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MParameter] not a live type) */
+&type_array__ArrayIteratormodel__MParameter, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MParameter] */
 }
 };
-/* runtime type nullable TSlash */
-const struct type type_nullable_parser_nodes__TSlash = {
-85,
-"nullable TSlash", /* class_name_string */
+/* runtime type Collection[MParameter] */
+const struct type type_abstract_collection__Collectionmodel__MParameter = {
+1424,
+"Collection[MParameter]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TSlash,
-3,
+0,
+NULL,
+5,
 {
 0, /* nullable Object */
+1, /* Object */
+1424, /* Collection[MParameter] */
 -1, /* empty */
-85, /* nullable TSlash */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TSlash = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TPercent */
-const struct type type_parser_nodes__TPercent = {
-2086,
-"TPercent", /* class_name_string */
+/* runtime type AbstractArrayRead[MParameter] */
+const struct type type_array__AbstractArrayReadmodel__MParameter = {
+2337,
+"AbstractArrayRead[MParameter]", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TPercent,
-6,
+NULL,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-86, /* nullable TPercent */
-225, /* ANode */
-625, /* Token */
-2086, /* TPercent */
+1424, /* Collection[MParameter] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+2337, /* AbstractArrayRead[MParameter] */
+1728, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_parser_nodes__TPercent = {
-0, /* dummy */
-{
-}
-};
-/* runtime type nullable TPercent */
-const struct type type_nullable_parser_nodes__TPercent = {
-86,
-"nullable TPercent", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TPercent,
-3,
+/* runtime type MSignature */
+const struct type type_model__MSignature = {
+1780,
+"MSignature", /* class_name_string */
+4,
+0,
+&resolution_table_model__MSignature,
+5,
 {
 0, /* nullable Object */
--1, /* empty */
-86, /* nullable TPercent */
+1, /* Object */
+2, /* nullable MType */
+594, /* MType */
+1780, /* MSignature */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TPercent = {
+const struct types resolution_table_model__MSignature = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TEq */
-const struct type type_parser_nodes__TEq = {
-2087,
-"TEq", /* class_name_string */
-5,
+/* runtime type MParameter */
+const struct type type_model__MParameter = {
+264,
+"MParameter", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TEq,
-6,
+&resolution_table_model__MParameter,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-87, /* nullable TEq */
-225, /* ANode */
-625, /* Token */
-2087, /* TEq */
+264, /* MParameter */
 },
 };
-const struct types resolution_table_parser_nodes__TEq = {
+const struct types resolution_table_model__MParameter = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TEq */
-const struct type type_nullable_parser_nodes__TEq = {
-87,
-"nullable TEq", /* class_name_string */
+/* runtime type Scope */
+const struct type type_scope__Scope = {
+265,
+"Scope", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TEq,
+0,
+&resolution_table_scope__Scope,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-87, /* nullable TEq */
+1, /* Object */
+265, /* Scope */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TEq = {
+const struct types resolution_table_scope__Scope = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TNe */
-const struct type type_parser_nodes__TNe = {
-2088,
-"TNe", /* class_name_string */
-5,
+/* runtime type HashMap[String, Variable] */
+const struct type type_hash_collection__HashMapstring__Stringscope__Variable = {
+266,
+"HashMap[String, Variable]", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TNe,
-6,
+&resolution_table_hash_collection__HashMapstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-88, /* nullable TNe */
-225, /* ANode */
-625, /* Token */
-2088, /* TNe */
+266, /* HashMap[String, Variable] */
 },
 };
-const struct types resolution_table_parser_nodes__TNe = {
+const struct types resolution_table_hash_collection__HashMapstring__Stringscope__Variable = {
 0, /* dummy */
 {
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysstring__Stringscope__Variable, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Variable] */
+&type_hash_collection__HashMapValuesstring__Stringscope__Variable, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Variable] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Variable]] */
+&type_string__String, /* MapRead#0: String */
+&type_hash_collection__HashMapIteratorstring__Stringscope__Variable, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Variable] */
+&type_string__String, /* Map#0: String */
+&type_scope__Variable, /* Map#1: Variable */
+&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Variable] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[String, Variable] not a live type) */
+&type_scope__Variable, /* MapRead#1: Variable */
+&type_string__String, /* HashCollection#0: String */
+&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* HashCollection#1: HashMapNode[String, Variable] */
 }
 };
-/* runtime type nullable TNe */
-const struct type type_nullable_parser_nodes__TNe = {
-88,
-"nullable TNe", /* class_name_string */
+/* runtime type FlowContext */
+const struct type type_flow__FlowContext = {
+267,
+"FlowContext", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TNe,
+0,
+&resolution_table_flow__FlowContext,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-88, /* nullable TNe */
+1, /* Object */
+267, /* FlowContext */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TNe = {
+const struct types resolution_table_flow__FlowContext = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TLt */
-const struct type type_parser_nodes__TLt = {
-2089,
-"TLt", /* class_name_string */
-5,
+/* runtime type HashMap[Variable, nullable MType] */
+const struct type type_hash_collection__HashMapscope__Variablenullable_model__MType = {
+268,
+"HashMap[Variable, nullable MType]", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TLt,
-6,
+&resolution_table_hash_collection__HashMapscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-89, /* nullable TLt */
-225, /* ANode */
-625, /* Token */
-2089, /* TLt */
+268, /* HashMap[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_parser_nodes__TLt = {
+const struct types resolution_table_hash_collection__HashMapscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysscope__Variablenullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, nullable MType] */
+&type_hash_collection__HashMapValuesscope__Variablenullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, nullable MType] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+&type_scope__Variable, /* MapRead#0: Variable */
+&type_hash_collection__HashMapIteratorscope__Variablenullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, nullable MType] */
+&type_scope__Variable, /* Map#0: Variable */
+&type_nullable_model__MType, /* Map#1: nullable MType */
+&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, nullable MType] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, nullable MType] not a live type) */
+&type_nullable_model__MType, /* MapRead#1: nullable MType */
+&type_scope__Variable, /* HashCollection#0: Variable */
+&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* HashCollection#1: HashMapNode[Variable, nullable MType] */
 }
 };
-/* runtime type nullable TLt */
-const struct type type_nullable_parser_nodes__TLt = {
-89,
-"nullable TLt", /* class_name_string */
+/* runtime type HashMap[Variable, nullable Array[nullable MType]] */
+const struct type type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType = {
+269,
+"HashMap[Variable, nullable Array[nullable MType]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TLt,
+0,
+&resolution_table_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-89, /* nullable TLt */
+1, /* Object */
+269, /* HashMap[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TLt = {
+const struct types resolution_table_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, nullable Array[nullable MType]] */
+&type_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, nullable Array[nullable MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
+&type_scope__Variable, /* MapRead#0: Variable */
+&type_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, nullable Array[nullable MType]] */
+&type_scope__Variable, /* Map#0: Variable */
+&type_nullable_array__Arraynullable_model__MType, /* Map#1: nullable Array[nullable MType] */
+&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, nullable Array[nullable MType]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, nullable Array[nullable MType]] not a live type) */
+&type_nullable_array__Arraynullable_model__MType, /* MapRead#1: nullable Array[nullable MType] */
+&type_scope__Variable, /* HashCollection#0: Variable */
+&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[Variable, nullable Array[nullable MType]] */
 }
 };
-/* runtime type TLe */
-const struct type type_parser_nodes__TLe = {
-2090,
-"TLe", /* class_name_string */
+/* runtime type MAttributeDef */
+const struct type type_model__MAttributeDef = {
+2055,
+"MAttributeDef", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TLe,
+&resolution_table_model__MAttributeDef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-90, /* nullable TLe */
-225, /* ANode */
-625, /* Token */
-2090, /* TLe */
+108, /* nullable MPropDef */
+262, /* PropertyLayoutElement */
+1779, /* MPropDef */
+2055, /* MAttributeDef */
 },
 };
-const struct types resolution_table_parser_nodes__TLe = {
+const struct types resolution_table_model__MAttributeDef = {
 0, /* dummy */
 {
+&type_model__MAttribute, /* MPROPERTY: MAttribute */
+NULL, /* empty */
+&type_model__MAttributeDef, /* MPROPDEF: MAttributeDef */
 }
 };
-/* runtime type nullable TLe */
-const struct type type_nullable_parser_nodes__TLe = {
-90,
-"nullable TLe", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TLe,
-3,
+/* runtime type MAttribute */
+const struct type type_model__MAttribute = {
+2056,
+"MAttribute", /* class_name_string */
+4,
+0,
+&resolution_table_model__MAttribute,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-90, /* nullable TLe */
+1, /* Object */
+107, /* nullable MProperty */
+262, /* PropertyLayoutElement */
+2056, /* MAttribute */
+1778, /* MProperty */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TLe = {
+const struct types resolution_table_model__MAttribute = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MAttributeDef, /* Array[MPROPDEF]: Array[MAttributeDef] */
+&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MAttributeDef]] */
 }
 };
-/* runtime type TLl */
-const struct type type_parser_nodes__TLl = {
-2091,
-"TLl", /* class_name_string */
+/* runtime type List[Int] */
+const struct type type_list__Listkernel__Int = {
+2057,
+"List[Int]", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TLl,
+&resolution_table_list__Listkernel__Int,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-91, /* nullable TLl */
-225, /* ANode */
-625, /* Token */
-2091, /* TLl */
+612, /* Collection[Int] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+2057, /* List[Int] */
 },
 };
-const struct types resolution_table_parser_nodes__TLl = {
+const struct types resolution_table_list__Listkernel__Int = {
 0, /* dummy */
 {
+&type_list__Listkernel__Int, /* List[List#0]: List[Int] */
+&type_list__ListNodekernel__Int, /* ListNode[List#0]: ListNode[Int] */
+&type_kernel__Int, /* Sequence#0: Int */
+&type_kernel__Int, /* SimpleCollection#0: Int */
+&type_list__ListIteratorkernel__Int, /* ListIterator[List#0]: ListIterator[Int] */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[List#0]: Collection[Int] */
+&type_kernel__Int, /* List#0: Int */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Sequence#0]: Collection[Int] */
+&type_array__Arraykernel__Int, /* Array[Sequence#0]: Array[Int] */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[SimpleCollection#0]: Collection[Int] */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_kernel__Int, /* SequenceRead#0: Int */
 }
 };
-/* runtime type nullable TLl */
-const struct type type_nullable_parser_nodes__TLl = {
-91,
-"nullable TLl", /* class_name_string */
+/* runtime type TypeVisitor */
+const struct type type_typing__TypeVisitor = {
+270,
+"TypeVisitor", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TLl,
+0,
+&resolution_table_typing__TypeVisitor,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-91, /* nullable TLl */
+1, /* Object */
+270, /* TypeVisitor */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TLl = {
+const struct types resolution_table_typing__TypeVisitor = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TGt */
-const struct type type_parser_nodes__TGt = {
-2092,
-"TGt", /* class_name_string */
-5,
-0,
-&resolution_table_parser_nodes__TGt,
+/* runtime type MVirtualTypeProp */
+const struct type type_model__MVirtualTypeProp = {
+2338,
+"MVirtualTypeProp", /* class_name_string */
 6,
+0,
+&resolution_table_model__MVirtualTypeProp,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-92, /* nullable TGt */
-225, /* ANode */
-625, /* Token */
-2092, /* TGt */
+107, /* nullable MProperty */
+262, /* PropertyLayoutElement */
+271, /* nullable MVirtualTypeProp */
+1778, /* MProperty */
+2338, /* MVirtualTypeProp */
 },
 };
-const struct types resolution_table_parser_nodes__TGt = {
+const struct types resolution_table_model__MVirtualTypeProp = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[MPROPDEF]: Array[MVirtualTypeDef] */
+&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
 }
 };
-/* runtime type nullable TGt */
-const struct type type_nullable_parser_nodes__TGt = {
-92,
-"nullable TGt", /* class_name_string */
-2,
+/* runtime type nullable MVirtualTypeProp */
+const struct type type_nullable_model__MVirtualTypeProp = {
+271,
+"nullable MVirtualTypeProp", /* class_name_string */
+4,
 1,
-&resolution_table_nullable_parser_nodes__TGt,
-3,
+&resolution_table_nullable_model__MVirtualTypeProp,
+5,
 {
 0, /* nullable Object */
 -1, /* empty */
-92, /* nullable TGt */
+107, /* nullable MProperty */
+-1, /* empty */
+271, /* nullable MVirtualTypeProp */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TGt = {
+const struct types resolution_table_nullable_model__MVirtualTypeProp = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[MPROPDEF]: Array[MVirtualTypeDef] */
+&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
 }
 };
-/* runtime type TGe */
-const struct type type_parser_nodes__TGe = {
-2093,
-"TGe", /* class_name_string */
+/* runtime type MVirtualTypeDef */
+const struct type type_model__MVirtualTypeDef = {
+2058,
+"MVirtualTypeDef", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TGe,
+&resolution_table_model__MVirtualTypeDef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-93, /* nullable TGe */
-225, /* ANode */
-625, /* Token */
-2093, /* TGe */
+108, /* nullable MPropDef */
+262, /* PropertyLayoutElement */
+1779, /* MPropDef */
+2058, /* MVirtualTypeDef */
 },
 };
-const struct types resolution_table_parser_nodes__TGe = {
+const struct types resolution_table_model__MVirtualTypeDef = {
 0, /* dummy */
 {
+&type_model__MVirtualTypeProp, /* MPROPERTY: MVirtualTypeProp */
+NULL, /* empty */
+&type_model__MVirtualTypeDef, /* MPROPDEF: MVirtualTypeDef */
 }
 };
-/* runtime type nullable TGe */
-const struct type type_nullable_parser_nodes__TGe = {
-93,
-"nullable TGe", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TGe,
-3,
+/* runtime type Array[MVirtualType] */
+const struct type type_array__Arraymodel__MVirtualType = {
+2631,
+"Array[MVirtualType]", /* class_name_string */
+14,
+0,
+&resolution_table_array__Arraymodel__MVirtualType,
+16,
 {
 0, /* nullable Object */
--1, /* empty */
-93, /* nullable TGe */
+1, /* Object */
+4, /* nullable Array[nullable MType] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+1728, /* AbstractArrayRead[Object] */
+1737, /* Collection[MType] */
+1744, /* AbstractArrayRead[nullable MType] */
+1911, /* Array[Object] */
+2059, /* Collection[MVirtualType] */
+2207, /* Array[nullable MType] */
+2560, /* AbstractArrayRead[MVirtualType] */
+2495, /* AbstractArrayRead[MType] */
+2631, /* Array[MVirtualType] */
+2594, /* Array[MType] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TGe = {
+const struct types resolution_table_array__Arraymodel__MVirtualType = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MVirtualType, /* Array[Array#0]: Array[MVirtualType] */
+&type_array__NativeArraymodel__MVirtualType, /* NativeArray[Array#0]: NativeArray[MVirtualType] */
+&type_model__MVirtualType, /* Sequence#0: MVirtualType */
+&type_model__MVirtualType, /* SimpleCollection#0: MVirtualType */
+&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[Array#0]: Collection[MVirtualType] */
+&type_model__MVirtualType, /* Array#0: MVirtualType */
+&type_array__NativeArraymodel__MVirtualType, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualType] */
+&type_model__MVirtualType, /* AbstractArray#0: MVirtualType */
+&type_model__MVirtualType, /* RemovableCollection#0: MVirtualType */
+&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[Sequence#0]: Collection[MVirtualType] */
+&type_array__Arraymodel__MVirtualType, /* Array[Sequence#0]: Array[MVirtualType] */
+&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[SimpleCollection#0]: Collection[MVirtualType] */
+&type_model__MVirtualType, /* Collection#0: MVirtualType */
+&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[Collection#0]: Collection[MVirtualType] */
+&type_model__MVirtualType, /* SequenceRead#0: MVirtualType */
+&type_model__MVirtualType, /* AbstractArrayRead#0: MVirtualType */
+&type_array__Arraymodel__MVirtualType, /* Array[AbstractArrayRead#0]: Array[MVirtualType] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualType] not a live type) */
+&type_array__ArrayIteratormodel__MVirtualType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualType] */
 }
 };
-/* runtime type TGg */
-const struct type type_parser_nodes__TGg = {
-2094,
-"TGg", /* class_name_string */
-5,
+/* runtime type Collection[MVirtualType] */
+const struct type type_abstract_collection__Collectionmodel__MVirtualType = {
+2059,
+"Collection[MVirtualType]", /* class_name_string */
+10,
 0,
-&resolution_table_parser_nodes__TGg,
-6,
+NULL,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-94, /* nullable TGg */
-225, /* ANode */
-625, /* Token */
-2094, /* TGg */
+-1, /* empty */
+-1, /* empty */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+-1, /* empty */
+1737, /* Collection[MType] */
+-1, /* empty */
+-1, /* empty */
+2059, /* Collection[MVirtualType] */
 },
 };
-const struct types resolution_table_parser_nodes__TGg = {
-0, /* dummy */
-{
-}
-};
-/* runtime type nullable TGg */
-const struct type type_nullable_parser_nodes__TGg = {
-94,
-"nullable TGg", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TGg,
-3,
+/* runtime type AbstractArrayRead[MVirtualType] */
+const struct type type_array__AbstractArrayReadmodel__MVirtualType = {
+2560,
+"AbstractArrayRead[MVirtualType]", /* class_name_string */
+12,
+0,
+NULL,
+14,
 {
 0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+1728, /* AbstractArrayRead[Object] */
+1737, /* Collection[MType] */
+1744, /* AbstractArrayRead[nullable MType] */
+-1, /* empty */
+2059, /* Collection[MVirtualType] */
 -1, /* empty */
-94, /* nullable TGg */
+2560, /* AbstractArrayRead[MVirtualType] */
+2495, /* AbstractArrayRead[MType] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TGg = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TStarship */
-const struct type type_parser_nodes__TStarship = {
-2095,
-"TStarship", /* class_name_string */
-5,
+/* runtime type Array[AExpr] */
+const struct type type_array__Arrayparser_nodes__AExpr = {
+2612,
+"Array[AExpr]", /* class_name_string */
+16,
 0,
-&resolution_table_parser_nodes__TStarship,
-6,
+&resolution_table_array__Arrayparser_nodes__AExpr,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-95, /* nullable TStarship */
-225, /* ANode */
-625, /* Token */
-2095, /* TStarship */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+1911, /* Array[Object] */
+-1, /* empty */
+2483, /* Array[ANode] */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
+2579, /* Array[Prod] */
+-1, /* empty */
+2612, /* Array[AExpr] */
 },
 };
-const struct types resolution_table_parser_nodes__TStarship = {
+const struct types resolution_table_array__Arrayparser_nodes__AExpr = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__AExpr, /* Array[Array#0]: Array[AExpr] */
+&type_array__NativeArrayparser_nodes__AExpr, /* NativeArray[Array#0]: NativeArray[AExpr] */
+&type_parser_nodes__AExpr, /* Sequence#0: AExpr */
+&type_parser_nodes__AExpr, /* SimpleCollection#0: AExpr */
+&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[Array#0]: Collection[AExpr] */
+&type_parser_nodes__AExpr, /* Array#0: AExpr */
+&type_array__NativeArrayparser_nodes__AExpr, /* NativeArray[ArrayCapable#0]: NativeArray[AExpr] */
+&type_parser_nodes__AExpr, /* AbstractArray#0: AExpr */
+&type_parser_nodes__AExpr, /* RemovableCollection#0: AExpr */
+&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[Sequence#0]: Collection[AExpr] */
+&type_array__Arrayparser_nodes__AExpr, /* Array[Sequence#0]: Array[AExpr] */
+&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[SimpleCollection#0]: Collection[AExpr] */
+&type_parser_nodes__AExpr, /* Collection#0: AExpr */
+&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[Collection#0]: Collection[AExpr] */
+&type_parser_nodes__AExpr, /* SequenceRead#0: AExpr */
+&type_parser_nodes__AExpr, /* AbstractArrayRead#0: AExpr */
+&type_array__Arrayparser_nodes__AExpr, /* Array[AbstractArrayRead#0]: Array[AExpr] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AExpr] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AExpr] */
 }
 };
-/* runtime type nullable TStarship */
-const struct type type_nullable_parser_nodes__TStarship = {
-95,
-"nullable TStarship", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TStarship,
-3,
+/* runtime type AbstractArrayRead[AExpr] */
+const struct type type_array__AbstractArrayReadparser_nodes__AExpr = {
+2561,
+"AbstractArrayRead[AExpr]", /* class_name_string */
+13,
+0,
+NULL,
+14,
 {
 0, /* nullable Object */
+1, /* Object */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
 -1, /* empty */
-95, /* nullable TStarship */
+-1, /* empty */
+-1, /* empty */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TStarship = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TBang */
-const struct type type_parser_nodes__TBang = {
-2096,
-"TBang", /* class_name_string */
-5,
+/* runtime type Array[AIntExpr] */
+const struct type type_array__Arrayparser_nodes__AIntExpr = {
+2633,
+"Array[AIntExpr]", /* class_name_string */
+17,
 0,
-&resolution_table_parser_nodes__TBang,
-6,
+&resolution_table_array__Arrayparser_nodes__AIntExpr,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-96, /* nullable TBang */
-225, /* ANode */
-625, /* Token */
-2096, /* TBang */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+1911, /* Array[Object] */
+2339, /* Collection[AIntExpr] */
+2483, /* Array[ANode] */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
+2579, /* Array[Prod] */
+2597, /* AbstractArrayRead[AIntExpr] */
+2612, /* Array[AExpr] */
+2633, /* Array[AIntExpr] */
 },
 };
-const struct types resolution_table_parser_nodes__TBang = {
+const struct types resolution_table_array__Arrayparser_nodes__AIntExpr = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__AIntExpr, /* Array[Array#0]: Array[AIntExpr] */
+&type_array__NativeArrayparser_nodes__AIntExpr, /* NativeArray[Array#0]: NativeArray[AIntExpr] */
+&type_parser_nodes__AIntExpr, /* Sequence#0: AIntExpr */
+&type_parser_nodes__AIntExpr, /* SimpleCollection#0: AIntExpr */
+&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[Array#0]: Collection[AIntExpr] */
+&type_parser_nodes__AIntExpr, /* Array#0: AIntExpr */
+&type_array__NativeArrayparser_nodes__AIntExpr, /* NativeArray[ArrayCapable#0]: NativeArray[AIntExpr] */
+&type_parser_nodes__AIntExpr, /* AbstractArray#0: AIntExpr */
+&type_parser_nodes__AIntExpr, /* RemovableCollection#0: AIntExpr */
+&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[Sequence#0]: Collection[AIntExpr] */
+&type_array__Arrayparser_nodes__AIntExpr, /* Array[Sequence#0]: Array[AIntExpr] */
+&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[SimpleCollection#0]: Collection[AIntExpr] */
+&type_parser_nodes__AIntExpr, /* Collection#0: AIntExpr */
+&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[Collection#0]: Collection[AIntExpr] */
+&type_parser_nodes__AIntExpr, /* SequenceRead#0: AIntExpr */
+&type_parser_nodes__AIntExpr, /* AbstractArrayRead#0: AIntExpr */
+&type_array__Arrayparser_nodes__AIntExpr, /* Array[AbstractArrayRead#0]: Array[AIntExpr] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AIntExpr] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AIntExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AIntExpr] */
 }
 };
-/* runtime type nullable TBang */
-const struct type type_nullable_parser_nodes__TBang = {
-96,
-"nullable TBang", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TBang,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-96, /* nullable TBang */
-},
-};
-const struct types resolution_table_nullable_parser_nodes__TBang = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TAt */
-const struct type type_parser_nodes__TAt = {
-2097,
-"TAt", /* class_name_string */
-5,
+/* runtime type Collection[AIntExpr] */
+const struct type type_abstract_collection__Collectionparser_nodes__AIntExpr = {
+2339,
+"Collection[AIntExpr]", /* class_name_string */
+10,
 0,
-&resolution_table_parser_nodes__TAt,
-6,
+NULL,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-97, /* nullable TAt */
-225, /* ANode */
-625, /* Token */
-2097, /* TAt */
+596, /* Collection[ANode] */
+-1, /* empty */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+-1, /* empty */
+1961, /* Collection[AExpr] */
+-1, /* empty */
+-1, /* empty */
+2339, /* Collection[AIntExpr] */
 },
 };
-const struct types resolution_table_parser_nodes__TAt = {
-0, /* dummy */
-{
-}
-};
-/* runtime type nullable TAt */
-const struct type type_nullable_parser_nodes__TAt = {
-97,
-"nullable TAt", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TAt,
-3,
+/* runtime type AbstractArrayRead[AIntExpr] */
+const struct type type_array__AbstractArrayReadparser_nodes__AIntExpr = {
+2597,
+"AbstractArrayRead[AIntExpr]", /* class_name_string */
+15,
+0,
+NULL,
+16,
 {
 0, /* nullable Object */
+1, /* Object */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+-1, /* empty */
+2339, /* Collection[AIntExpr] */
+-1, /* empty */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
 -1, /* empty */
-97, /* nullable TAt */
+2597, /* AbstractArrayRead[AIntExpr] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TAt = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TClassid */
-const struct type type_parser_nodes__TClassid = {
-2098,
-"TClassid", /* class_name_string */
-5,
+/* runtime type MNullableType */
+const struct type type_model__MNullableType = {
+1781,
+"MNullableType", /* class_name_string */
+4,
 0,
-&resolution_table_parser_nodes__TClassid,
-6,
+&resolution_table_model__MNullableType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-98, /* nullable TClassid */
-225, /* ANode */
-625, /* Token */
-2098, /* TClassid */
+2, /* nullable MType */
+594, /* MType */
+1781, /* MNullableType */
 },
 };
-const struct types resolution_table_parser_nodes__TClassid = {
+const struct types resolution_table_model__MNullableType = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TClassid */
-const struct type type_nullable_parser_nodes__TClassid = {
-98,
-"nullable TClassid", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TClassid,
-3,
+/* runtime type Array[Variable] */
+const struct type type_array__Arrayscope__Variable = {
+2504,
+"Array[Variable]", /* class_name_string */
+7,
+0,
+&resolution_table_array__Arrayscope__Variable,
+10,
 {
 0, /* nullable Object */
+1, /* Object */
+1422, /* Collection[Variable] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+2340, /* AbstractArrayRead[Variable] */
+1728, /* AbstractArrayRead[Object] */
+2504, /* Array[Variable] */
 -1, /* empty */
-98, /* nullable TClassid */
+1911, /* Array[Object] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TClassid = {
+const struct types resolution_table_array__Arrayscope__Variable = {
 0, /* dummy */
 {
+&type_array__Arrayscope__Variable, /* Array[Array#0]: Array[Variable] */
+&type_array__NativeArrayscope__Variable, /* NativeArray[Array#0]: NativeArray[Variable] */
+&type_scope__Variable, /* Sequence#0: Variable */
+&type_scope__Variable, /* SimpleCollection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Array#0]: Collection[Variable] */
+&type_scope__Variable, /* Array#0: Variable */
+&type_array__NativeArrayscope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[Variable] */
+&type_scope__Variable, /* AbstractArray#0: Variable */
+&type_scope__Variable, /* RemovableCollection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Sequence#0]: Collection[Variable] */
+&type_array__Arrayscope__Variable, /* Array[Sequence#0]: Array[Variable] */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[SimpleCollection#0]: Collection[Variable] */
+&type_scope__Variable, /* Collection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
+&type_scope__Variable, /* SequenceRead#0: Variable */
+&type_scope__Variable, /* AbstractArrayRead#0: Variable */
+&type_array__Arrayscope__Variable, /* Array[AbstractArrayRead#0]: Array[Variable] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Variable] not a live type) */
+&type_array__ArrayIteratorscope__Variable, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Variable] */
 }
 };
-/* runtime type TId */
-const struct type type_parser_nodes__TId = {
-2099,
-"TId", /* class_name_string */
+/* runtime type AbstractArrayRead[Variable] */
+const struct type type_array__AbstractArrayReadscope__Variable = {
+2340,
+"AbstractArrayRead[Variable]", /* class_name_string */
 5,
 0,
-&resolution_table_parser_nodes__TId,
-6,
+NULL,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-99, /* nullable TId */
-225, /* ANode */
-625, /* Token */
-2099, /* TId */
+1422, /* Collection[Variable] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+2340, /* AbstractArrayRead[Variable] */
+1728, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_parser_nodes__TId = {
-0, /* dummy */
-{
-}
-};
-/* runtime type nullable TId */
-const struct type type_nullable_parser_nodes__TId = {
-99,
-"nullable TId", /* class_name_string */
+/* runtime type CollectTokensByTextVisitor */
+const struct type type_parser_util__CollectTokensByTextVisitor = {
+272,
+"CollectTokensByTextVisitor", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TId,
+0,
+&resolution_table_parser_util__CollectTokensByTextVisitor,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-99, /* nullable TId */
+1, /* Object */
+272, /* CollectTokensByTextVisitor */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TId = {
+const struct types resolution_table_parser_util__CollectTokensByTextVisitor = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TAttrid */
-const struct type type_parser_nodes__TAttrid = {
-2100,
-"TAttrid", /* class_name_string */
-5,
+/* runtime type Array[Token] */
+const struct type type_array__Arrayparser_nodes__Token = {
+2583,
+"Array[Token]", /* class_name_string */
+13,
 0,
-&resolution_table_parser_nodes__TAttrid,
-6,
+&resolution_table_array__Arrayparser_nodes__Token,
+14,
 {
 0, /* nullable Object */
 1, /* Object */
-100, /* nullable TAttrid */
-225, /* ANode */
-625, /* Token */
-2100, /* TAttrid */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1760, /* Collection[Token] */
+1728, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2196, /* AbstractArrayRead[ANode] */
+1911, /* Array[Object] */
+2505, /* AbstractArrayRead[Token] */
+2483, /* Array[ANode] */
+-1, /* empty */
+2583, /* Array[Token] */
 },
 };
-const struct types resolution_table_parser_nodes__TAttrid = {
+const struct types resolution_table_array__Arrayparser_nodes__Token = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__Token, /* Array[Array#0]: Array[Token] */
+&type_array__NativeArrayparser_nodes__Token, /* NativeArray[Array#0]: NativeArray[Token] */
+&type_parser_nodes__Token, /* Sequence#0: Token */
+&type_parser_nodes__Token, /* SimpleCollection#0: Token */
+&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[Array#0]: Collection[Token] */
+&type_parser_nodes__Token, /* Array#0: Token */
+&type_array__NativeArrayparser_nodes__Token, /* NativeArray[ArrayCapable#0]: NativeArray[Token] */
+&type_parser_nodes__Token, /* AbstractArray#0: Token */
+&type_parser_nodes__Token, /* RemovableCollection#0: Token */
+&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[Sequence#0]: Collection[Token] */
+&type_array__Arrayparser_nodes__Token, /* Array[Sequence#0]: Array[Token] */
+&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[SimpleCollection#0]: Collection[Token] */
+&type_parser_nodes__Token, /* Collection#0: Token */
+&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[Collection#0]: Collection[Token] */
+&type_parser_nodes__Token, /* SequenceRead#0: Token */
+&type_parser_nodes__Token, /* AbstractArrayRead#0: Token */
+&type_array__Arrayparser_nodes__Token, /* Array[AbstractArrayRead#0]: Array[Token] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Token] not a live type) */
+&type_array__ArrayIteratorparser_nodes__Token, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Token] */
 }
 };
-/* runtime type nullable TAttrid */
-const struct type type_nullable_parser_nodes__TAttrid = {
-100,
-"nullable TAttrid", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TAttrid,
-3,
+/* runtime type AbstractArrayRead[Token] */
+const struct type type_array__AbstractArrayReadparser_nodes__Token = {
+2505,
+"AbstractArrayRead[Token]", /* class_name_string */
+10,
+0,
+NULL,
+11,
 {
 0, /* nullable Object */
+1, /* Object */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1760, /* Collection[Token] */
+1728, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2196, /* AbstractArrayRead[ANode] */
 -1, /* empty */
-100, /* nullable TAttrid */
+2505, /* AbstractArrayRead[Token] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TAttrid = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TNumber */
-const struct type type_parser_nodes__TNumber = {
-2101,
-"TNumber", /* class_name_string */
-5,
+/* runtime type MPropDefSorter */
+const struct type type_model__MPropDefSorter = {
+273,
+"MPropDefSorter", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TNumber,
-6,
+&resolution_table_model__MPropDefSorter,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-101, /* nullable TNumber */
-225, /* ANode */
-625, /* Token */
-2101, /* TNumber */
+273, /* MPropDefSorter */
 },
 };
-const struct types resolution_table_parser_nodes__TNumber = {
+const struct types resolution_table_model__MPropDefSorter = {
 0, /* dummy */
 {
+&type_model__MPropDef, /* AbstractSorter#0: MPropDef */
+&type_array__Arraymodel__MPropDef, /* Array[AbstractSorter#0]: Array[MPropDef] */
 }
 };
-/* runtime type nullable TNumber */
-const struct type type_nullable_parser_nodes__TNumber = {
-101,
-"nullable TNumber", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TNumber,
+/* runtime type CustomizedRuntimeFunction */
+const struct type type_global_compiler__CustomizedRuntimeFunction = {
+1425,
+"CustomizedRuntimeFunction", /* class_name_string */
 3,
+0,
+&resolution_table_global_compiler__CustomizedRuntimeFunction,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-101, /* nullable TNumber */
+1, /* Object */
+235, /* AbstractRuntimeFunction */
+1425, /* CustomizedRuntimeFunction */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TNumber = {
+const struct types resolution_table_global_compiler__CustomizedRuntimeFunction = {
 0, /* dummy */
 {
+&type_global_compiler__GlobalCompiler, /* COMPILER: GlobalCompiler */
+&type_global_compiler__GlobalCompilerVisitor, /* VISITOR: GlobalCompilerVisitor */
 }
 };
-/* runtime type TFloat */
-const struct type type_parser_nodes__TFloat = {
-2102,
-"TFloat", /* class_name_string */
-5,
+/* runtime type TextCollectorVisitor */
+const struct type type_modelize_property__TextCollectorVisitor = {
+274,
+"TextCollectorVisitor", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__TFloat,
-6,
+&resolution_table_modelize_property__TextCollectorVisitor,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-102, /* nullable TFloat */
-225, /* ANode */
-625, /* Token */
-2102, /* TFloat */
+274, /* TextCollectorVisitor */
 },
 };
-const struct types resolution_table_parser_nodes__TFloat = {
+const struct types resolution_table_modelize_property__TextCollectorVisitor = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TFloat */
-const struct type type_nullable_parser_nodes__TFloat = {
-102,
-"nullable TFloat", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TFloat,
-3,
+/* runtime type AVarAssignExpr */
+const struct type type_parser_nodes__AVarAssignExpr = {
+2341,
+"AVarAssignExpr", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__AVarAssignExpr,
+7,
 {
 0, /* nullable Object */
--1, /* empty */
-102, /* nullable TFloat */
+1, /* Object */
+15, /* nullable AExpr */
+223, /* ANode */
+622, /* Prod */
+1953, /* AExpr */
+2341, /* AVarAssignExpr */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TFloat = {
+const struct types resolution_table_parser_nodes__AVarAssignExpr = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TString */
-const struct type type_parser_nodes__TString = {
-2103,
-"TString", /* class_name_string */
-5,
-0,
-&resolution_table_parser_nodes__TString,
+/* runtime type AVarExpr */
+const struct type type_parser_nodes__AVarExpr = {
+2342,
+"AVarExpr", /* class_name_string */
 6,
+0,
+&resolution_table_parser_nodes__AVarExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* nullable TString */
-225, /* ANode */
-625, /* Token */
-2103, /* TString */
+15, /* nullable AExpr */
+223, /* ANode */
+622, /* Prod */
+1953, /* AExpr */
+2342, /* AVarExpr */
 },
 };
-const struct types resolution_table_parser_nodes__TString = {
+const struct types resolution_table_parser_nodes__AVarExpr = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TString */
-const struct type type_nullable_parser_nodes__TString = {
-103,
-"nullable TString", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TString,
-3,
+/* runtime type Array[ABreakExpr] */
+const struct type type_array__Arrayparser_nodes__ABreakExpr = {
+2634,
+"Array[ABreakExpr]", /* class_name_string */
+17,
+0,
+&resolution_table_array__Arrayparser_nodes__ABreakExpr,
+18,
 {
 0, /* nullable Object */
--1, /* empty */
-103, /* nullable TString */
+1, /* Object */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+1911, /* Array[Object] */
+2343, /* Collection[ABreakExpr] */
+2483, /* Array[ANode] */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
+2579, /* Array[Prod] */
+2598, /* AbstractArrayRead[ABreakExpr] */
+2612, /* Array[AExpr] */
+2634, /* Array[ABreakExpr] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TString = {
+const struct types resolution_table_array__Arrayparser_nodes__ABreakExpr = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__ABreakExpr, /* Array[Array#0]: Array[ABreakExpr] */
+&type_array__NativeArrayparser_nodes__ABreakExpr, /* NativeArray[Array#0]: NativeArray[ABreakExpr] */
+&type_parser_nodes__ABreakExpr, /* Sequence#0: ABreakExpr */
+&type_parser_nodes__ABreakExpr, /* SimpleCollection#0: ABreakExpr */
+&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[Array#0]: Collection[ABreakExpr] */
+&type_parser_nodes__ABreakExpr, /* Array#0: ABreakExpr */
+&type_array__NativeArrayparser_nodes__ABreakExpr, /* NativeArray[ArrayCapable#0]: NativeArray[ABreakExpr] */
+&type_parser_nodes__ABreakExpr, /* AbstractArray#0: ABreakExpr */
+&type_parser_nodes__ABreakExpr, /* RemovableCollection#0: ABreakExpr */
+&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[Sequence#0]: Collection[ABreakExpr] */
+&type_array__Arrayparser_nodes__ABreakExpr, /* Array[Sequence#0]: Array[ABreakExpr] */
+&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[SimpleCollection#0]: Collection[ABreakExpr] */
+&type_parser_nodes__ABreakExpr, /* Collection#0: ABreakExpr */
+&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[Collection#0]: Collection[ABreakExpr] */
+&type_parser_nodes__ABreakExpr, /* SequenceRead#0: ABreakExpr */
+&type_parser_nodes__ABreakExpr, /* AbstractArrayRead#0: ABreakExpr */
+&type_array__Arrayparser_nodes__ABreakExpr, /* Array[AbstractArrayRead#0]: Array[ABreakExpr] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ABreakExpr] not a live type) */
+&type_array__ArrayIteratorparser_nodes__ABreakExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ABreakExpr] */
 }
 };
-/* runtime type TStartString */
-const struct type type_parser_nodes__TStartString = {
-2104,
-"TStartString", /* class_name_string */
-5,
+/* runtime type Collection[ABreakExpr] */
+const struct type type_abstract_collection__Collectionparser_nodes__ABreakExpr = {
+2343,
+"Collection[ABreakExpr]", /* class_name_string */
+10,
 0,
-&resolution_table_parser_nodes__TStartString,
-6,
+NULL,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-104, /* nullable TStartString */
-225, /* ANode */
-625, /* Token */
-2104, /* TStartString */
+596, /* Collection[ANode] */
+-1, /* empty */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+-1, /* empty */
+1961, /* Collection[AExpr] */
+-1, /* empty */
+-1, /* empty */
+2343, /* Collection[ABreakExpr] */
 },
 };
-const struct types resolution_table_parser_nodes__TStartString = {
-0, /* dummy */
-{
-}
-};
-/* runtime type nullable TStartString */
-const struct type type_nullable_parser_nodes__TStartString = {
-104,
-"nullable TStartString", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TStartString,
-3,
+/* runtime type AbstractArrayRead[ABreakExpr] */
+const struct type type_array__AbstractArrayReadparser_nodes__ABreakExpr = {
+2598,
+"AbstractArrayRead[ABreakExpr]", /* class_name_string */
+15,
+0,
+NULL,
+16,
 {
 0, /* nullable Object */
+1, /* Object */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+-1, /* empty */
+2343, /* Collection[ABreakExpr] */
+-1, /* empty */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
 -1, /* empty */
-104, /* nullable TStartString */
+2598, /* AbstractArrayRead[ABreakExpr] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TStartString = {
-0, /* dummy */
-{
-}
-};
-/* runtime type TMidString */
-const struct type type_parser_nodes__TMidString = {
-2105,
-"TMidString", /* class_name_string */
-5,
+/* runtime type Array[AContinueExpr] */
+const struct type type_array__Arrayparser_nodes__AContinueExpr = {
+2635,
+"Array[AContinueExpr]", /* class_name_string */
+17,
 0,
-&resolution_table_parser_nodes__TMidString,
-6,
+&resolution_table_array__Arrayparser_nodes__AContinueExpr,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-105, /* nullable TMidString */
-225, /* ANode */
-625, /* Token */
-2105, /* TMidString */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+1911, /* Array[Object] */
+2344, /* Collection[AContinueExpr] */
+2483, /* Array[ANode] */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
+2579, /* Array[Prod] */
+2599, /* AbstractArrayRead[AContinueExpr] */
+2612, /* Array[AExpr] */
+2635, /* Array[AContinueExpr] */
 },
 };
-const struct types resolution_table_parser_nodes__TMidString = {
+const struct types resolution_table_array__Arrayparser_nodes__AContinueExpr = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__AContinueExpr, /* Array[Array#0]: Array[AContinueExpr] */
+&type_array__NativeArrayparser_nodes__AContinueExpr, /* NativeArray[Array#0]: NativeArray[AContinueExpr] */
+&type_parser_nodes__AContinueExpr, /* Sequence#0: AContinueExpr */
+&type_parser_nodes__AContinueExpr, /* SimpleCollection#0: AContinueExpr */
+&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[Array#0]: Collection[AContinueExpr] */
+&type_parser_nodes__AContinueExpr, /* Array#0: AContinueExpr */
+&type_array__NativeArrayparser_nodes__AContinueExpr, /* NativeArray[ArrayCapable#0]: NativeArray[AContinueExpr] */
+&type_parser_nodes__AContinueExpr, /* AbstractArray#0: AContinueExpr */
+&type_parser_nodes__AContinueExpr, /* RemovableCollection#0: AContinueExpr */
+&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[Sequence#0]: Collection[AContinueExpr] */
+&type_array__Arrayparser_nodes__AContinueExpr, /* Array[Sequence#0]: Array[AContinueExpr] */
+&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[SimpleCollection#0]: Collection[AContinueExpr] */
+&type_parser_nodes__AContinueExpr, /* Collection#0: AContinueExpr */
+&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[Collection#0]: Collection[AContinueExpr] */
+&type_parser_nodes__AContinueExpr, /* SequenceRead#0: AContinueExpr */
+&type_parser_nodes__AContinueExpr, /* AbstractArrayRead#0: AContinueExpr */
+&type_array__Arrayparser_nodes__AContinueExpr, /* Array[AbstractArrayRead#0]: Array[AContinueExpr] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AContinueExpr] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AContinueExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AContinueExpr] */
 }
 };
-/* runtime type nullable TMidString */
-const struct type type_nullable_parser_nodes__TMidString = {
-105,
-"nullable TMidString", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_parser_nodes__TMidString,
-3,
+/* runtime type Collection[AContinueExpr] */
+const struct type type_abstract_collection__Collectionparser_nodes__AContinueExpr = {
+2344,
+"Collection[AContinueExpr]", /* class_name_string */
+10,
+0,
+NULL,
+11,
 {
 0, /* nullable Object */
+1, /* Object */
+596, /* Collection[ANode] */
+-1, /* empty */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+-1, /* empty */
+1961, /* Collection[AExpr] */
 -1, /* empty */
-105, /* nullable TMidString */
+-1, /* empty */
+2344, /* Collection[AContinueExpr] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TMidString = {
-0, /* dummy */
+/* runtime type AbstractArrayRead[AContinueExpr] */
+const struct type type_array__AbstractArrayReadparser_nodes__AContinueExpr = {
+2599,
+"AbstractArrayRead[AContinueExpr]", /* class_name_string */
+15,
+0,
+NULL,
+16,
 {
-}
+0, /* nullable Object */
+1, /* Object */
+596, /* Collection[ANode] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+1728, /* AbstractArrayRead[Object] */
+1961, /* Collection[AExpr] */
+2196, /* AbstractArrayRead[ANode] */
+-1, /* empty */
+2344, /* Collection[AContinueExpr] */
+-1, /* empty */
+2484, /* AbstractArrayRead[Prod] */
+2561, /* AbstractArrayRead[AExpr] */
+-1, /* empty */
+2599, /* AbstractArrayRead[AContinueExpr] */
+},
 };
-/* runtime type TEndString */
-const struct type type_parser_nodes__TEndString = {
-2106,
-"TEndString", /* class_name_string */
-5,
-0,
-&resolution_table_parser_nodes__TEndString,
+/* runtime type AVarReassignExpr */
+const struct type type_parser_nodes__AVarReassignExpr = {
+2345,
+"AVarReassignExpr", /* class_name_string */
 6,
+0,
+&resolution_table_parser_nodes__AVarReassignExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-106, /* nullable TEndString */
-225, /* ANode */
-625, /* Token */
-2106, /* TEndString */
+15, /* nullable AExpr */
+223, /* ANode */
+622, /* Prod */
+1953, /* AExpr */
+2345, /* AVarReassignExpr */
 },
 };
-const struct types resolution_table_parser_nodes__TEndString = {
+const struct types resolution_table_parser_nodes__AVarReassignExpr = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TEndString */
-const struct type type_nullable_parser_nodes__TEndString = {
-106,
-"nullable TEndString", /* class_name_string */
+/* runtime type EscapeMark */
+const struct type type_scope__EscapeMark = {
+275,
+"EscapeMark", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TEndString,
+0,
+&resolution_table_scope__EscapeMark,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-106, /* nullable TEndString */
+1, /* Object */
+275, /* EscapeMark */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TEndString = {
+const struct types resolution_table_scope__EscapeMark = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TChar */
-const struct type type_parser_nodes__TChar = {
-2107,
-"TChar", /* class_name_string */
-5,
-0,
-&resolution_table_parser_nodes__TChar,
+/* runtime type APlaceholderExpr */
+const struct type type_astbuilder__APlaceholderExpr = {
+2346,
+"APlaceholderExpr", /* class_name_string */
 6,
+0,
+&resolution_table_astbuilder__APlaceholderExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-107, /* nullable TChar */
-225, /* ANode */
-625, /* Token */
-2107, /* TChar */
+15, /* nullable AExpr */
+223, /* ANode */
+622, /* Prod */
+1953, /* AExpr */
+2346, /* APlaceholderExpr */
 },
 };
-const struct types resolution_table_parser_nodes__TChar = {
+const struct types resolution_table_astbuilder__APlaceholderExpr = {
 0, /* dummy */
 {
 }
 };
-/* runtime type nullable TChar */
-const struct type type_nullable_parser_nodes__TChar = {
-107,
-"nullable TChar", /* class_name_string */
+/* runtime type CallSite */
+const struct type type_typing__CallSite = {
+276,
+"CallSite", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TChar,
+0,
+&resolution_table_typing__CallSite,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-107, /* nullable TChar */
+1, /* Object */
+276, /* CallSite */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TChar = {
+const struct types resolution_table_typing__CallSite = {
 0, /* dummy */
 {
 }
 };
-/* runtime type TBadString */
-const struct type type_parser_nodes__TBadString = {
-1827,
-"TBadString", /* class_name_string */
-2,
+/* runtime type ArrayIterator[Message] */
+const struct type type_array__ArrayIteratortoolcontext__Message = {
+1426,
+"ArrayIterator[Message]", /* class_name_string */
+3,
 0,
-&resolution_table_parser_nodes__TBadString,
-5,
+&resolution_table_array__ArrayIteratortoolcontext__Message,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1827, /* TBadString */
-225, /* ANode */
-625, /* Token */
+277, /* ArrayIterator[Object] */
+1426, /* ArrayIterator[Message] */
 },
 };
-const struct types resolution_table_parser_nodes__TBadString = {
+const struct types resolution_table_array__ArrayIteratortoolcontext__Message = {
 0, /* dummy */
 {
+&type_array__AbstractArrayReadtoolcontext__Message, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Message] */
+&type_array__Arraytoolcontext__Message, /* Array[Iterator#0]: Array[Message] */
 }
 };
-/* runtime type TBadChar */
-const struct type type_parser_nodes__TBadChar = {
-1828,
-"TBadChar", /* class_name_string */
+/* runtime type ArrayIterator[Object] */
+const struct type type_array__ArrayIteratorkernel__Object = {
+277,
+"ArrayIterator[Object]", /* class_name_string */
 2,
 0,
-&resolution_table_parser_nodes__TBadChar,
-5,
+&resolution_table_array__ArrayIteratorkernel__Object,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1828, /* TBadChar */
-225, /* ANode */
-625, /* Token */
+277, /* ArrayIterator[Object] */
 },
 };
-const struct types resolution_table_parser_nodes__TBadChar = {
+const struct types resolution_table_array__ArrayIteratorkernel__Object = {
 0, /* dummy */
 {
+&type_array__AbstractArrayReadkernel__Object, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Object] */
+&type_array__Arraykernel__Object, /* Array[Iterator#0]: Array[Object] */
 }
 };
-/* runtime type TExternCodeSegment */
-const struct type type_parser_nodes__TExternCodeSegment = {
-2108,
-"TExternCodeSegment", /* class_name_string */
-5,
+/* runtime type NativeArray[Message] */
+const struct type type_array__NativeArraytoolcontext__Message = {
+1427,
+"NativeArray[Message]", /* class_name_string */
+3,
 0,
-&resolution_table_parser_nodes__TExternCodeSegment,
-6,
+&resolution_table_array__NativeArraytoolcontext__Message,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-108, /* nullable TExternCodeSegment */
-225, /* ANode */
-625, /* Token */
-2108, /* TExternCodeSegment */
+185, /* NativeArray[Object] */
+1427, /* NativeArray[Message] */
 },
 };
-const struct types resolution_table_parser_nodes__TExternCodeSegment = {
+const struct types resolution_table_array__NativeArraytoolcontext__Message = {
 0, /* dummy */
 {
+&type_toolcontext__Message, /* NativeArray#0: Message */
+&type_array__NativeArraytoolcontext__Message, /* NativeArray[NativeArray#0]: NativeArray[Message] */
 }
 };
-/* runtime type nullable TExternCodeSegment */
-const struct type type_nullable_parser_nodes__TExternCodeSegment = {
-108,
-"nullable TExternCodeSegment", /* class_name_string */
+/* runtime type HashMap[Phase, POSetElement[Phase]] */
+const struct type type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase = {
+278,
+"HashMap[Phase, POSetElement[Phase]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_parser_nodes__TExternCodeSegment,
+0,
+&resolution_table_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-108, /* nullable TExternCodeSegment */
+1, /* Object */
+278, /* HashMap[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_nullable_parser_nodes__TExternCodeSegment = {
+const struct types resolution_table_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Phase, POSetElement[Phase]] */
+&type_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Phase, POSetElement[Phase]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
+&type_phase__Phase, /* MapRead#0: Phase */
+&type_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Phase, POSetElement[Phase]] */
+&type_phase__Phase, /* Map#0: Phase */
+&type_poset__POSetElementphase__Phase, /* Map#1: POSetElement[Phase] */
+&type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Phase, POSetElement[Phase]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[Phase, POSetElement[Phase]] not a live type) */
+&type_poset__POSetElementphase__Phase, /* MapRead#1: POSetElement[Phase] */
+&type_phase__Phase, /* HashCollection#0: Phase */
+&type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* HashCollection#1: HashMapNode[Phase, POSetElement[Phase]] */
 }
 };
-/* runtime type ALexerError */
-const struct type type_parser_nodes__ALexerError = {
-2375,
-"ALexerError", /* class_name_string */
-6,
+/* runtime type POSetElement[Phase] */
+const struct type type_poset__POSetElementphase__Phase = {
+279,
+"POSetElement[Phase]", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__ALexerError,
-7,
+&resolution_table_poset__POSetElementphase__Phase,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1797, /* EOF */
-225, /* ANode */
-625, /* Token */
-1976, /* AError */
-2375, /* ALexerError */
+279, /* POSetElement[Phase] */
 },
 };
-const struct types resolution_table_parser_nodes__ALexerError = {
+const struct types resolution_table_poset__POSetElementphase__Phase = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetphase__Phase, /* HashSet[POSetElement#0]: HashSet[Phase] */
+&type_poset__POSetphase__Phase, /* POSet[POSetElement#0]: POSet[Phase] */
+&type_phase__Phase, /* POSetElement#0: Phase */
 }
 };
-/* runtime type MMethod */
-const struct type type_model__MMethod = {
-2376,
-"MMethod", /* class_name_string */
-6,
+/* runtime type ArrayIterator[Phase] */
+const struct type type_array__ArrayIteratorphase__Phase = {
+1428,
+"ArrayIterator[Phase]", /* class_name_string */
+3,
 0,
-&resolution_table_model__MMethod,
-7,
+&resolution_table_array__ArrayIteratorphase__Phase,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-109, /* nullable MProperty */
-264, /* PropertyLayoutElement */
-265, /* nullable MMethod */
-1829, /* MProperty */
-2376, /* MMethod */
+277, /* ArrayIterator[Object] */
+1428, /* ArrayIterator[Phase] */
 },
 };
-const struct types resolution_table_model__MMethod = {
+const struct types resolution_table_array__ArrayIteratorphase__Phase = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
-&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
+&type_array__AbstractArrayReadphase__Phase, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Phase] */
+&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
 }
 };
-/* runtime type MProperty */
-const struct type type_model__MProperty = {
-1829,
-"MProperty", /* class_name_string */
-5,
+/* runtime type NativeArray[Phase] */
+const struct type type_array__NativeArrayphase__Phase = {
+1429,
+"NativeArray[Phase]", /* class_name_string */
+3,
 0,
-NULL,
-6,
+&resolution_table_array__NativeArrayphase__Phase,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-109, /* nullable MProperty */
-264, /* PropertyLayoutElement */
--1, /* empty */
-1829, /* MProperty */
+185, /* NativeArray[Object] */
+1429, /* NativeArray[Phase] */
 },
 };
-/* runtime type PropertyLayoutElement */
-const struct type type_layout_builders__PropertyLayoutElement = {
-264,
-"PropertyLayoutElement", /* class_name_string */
+const struct types resolution_table_array__NativeArrayphase__Phase = {
+0, /* dummy */
+{
+&type_phase__Phase, /* NativeArray#0: Phase */
+&type_array__NativeArrayphase__Phase, /* NativeArray[NativeArray#0]: NativeArray[Phase] */
+}
+};
+/* runtime type ArrayIterator[MModule] */
+const struct type type_array__ArrayIteratormodel_base__MModule = {
+1430,
+"ArrayIterator[MModule]", /* class_name_string */
 3,
 0,
-NULL,
+&resolution_table_array__ArrayIteratormodel_base__MModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-264, /* PropertyLayoutElement */
+277, /* ArrayIterator[Object] */
+1430, /* ArrayIterator[MModule] */
 },
 };
-/* runtime type nullable MMethod */
-const struct type type_nullable_model__MMethod = {
-265,
-"nullable MMethod", /* class_name_string */
+const struct types resolution_table_array__ArrayIteratormodel_base__MModule = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadmodel_base__MModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MModule] */
+&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+}
+};
+/* runtime type NativeArray[MModule] */
+const struct type type_array__NativeArraymodel_base__MModule = {
+1431,
+"NativeArray[MModule]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArraymodel_base__MModule,
 4,
-1,
-&resolution_table_nullable_model__MMethod,
-5,
 {
 0, /* nullable Object */
--1, /* empty */
-109, /* nullable MProperty */
--1, /* empty */
-265, /* nullable MMethod */
+1, /* Object */
+185, /* NativeArray[Object] */
+1431, /* NativeArray[MModule] */
 },
 };
-const struct types resolution_table_nullable_model__MMethod = {
+const struct types resolution_table_array__NativeArraymodel_base__MModule = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
-&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
+&type_model_base__MModule, /* NativeArray#0: MModule */
+&type_array__NativeArraymodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[MModule] */
 }
 };
-/* runtime type nullable MProperty */
-const struct type type_nullable_model__MProperty = {
-109,
-"nullable MProperty", /* class_name_string */
+/* runtime type HashMap[MModule, POSetElement[MModule]] */
+const struct type type_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+280,
+"HashMap[MModule, POSetElement[MModule]]", /* class_name_string */
 2,
-1,
-NULL,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-109, /* nullable MProperty */
-},
-};
-/* runtime type MMethodDef */
-const struct type type_model__MMethodDef = {
-2109,
-"MMethodDef", /* class_name_string */
-5,
 0,
-&resolution_table_model__MMethodDef,
-6,
+&resolution_table_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-110, /* nullable MPropDef */
-264, /* PropertyLayoutElement */
-1830, /* MPropDef */
-2109, /* MMethodDef */
+280, /* HashMap[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_model__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
 0, /* dummy */
 {
-&type_model__MMethod, /* MPROPERTY: MMethod */
-&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
-&type_model__MMethodDef, /* MPROPDEF: MMethodDef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, POSetElement[MModule]] */
+&type_hash_collection__HashMapValuesmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, POSetElement[MModule]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
+&type_model_base__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, POSetElement[MModule]] */
+&type_model_base__MModule, /* Map#0: MModule */
+&type_poset__POSetElementmodel_base__MModule, /* Map#1: POSetElement[MModule] */
+&type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, POSetElement[MModule]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, POSetElement[MModule]] not a live type) */
+&type_poset__POSetElementmodel_base__MModule, /* MapRead#1: POSetElement[MModule] */
+&type_model_base__MModule, /* HashCollection#0: MModule */
+&type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashCollection#1: HashMapNode[MModule, POSetElement[MModule]] */
 }
 };
-/* runtime type MPropDef */
-const struct type type_model__MPropDef = {
-1830,
-"MPropDef", /* class_name_string */
-4,
+/* runtime type POSetElement[MModule] */
+const struct type type_poset__POSetElementmodel_base__MModule = {
+281,
+"POSetElement[MModule]", /* class_name_string */
+2,
 0,
-NULL,
-5,
+&resolution_table_poset__POSetElementmodel_base__MModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-110, /* nullable MPropDef */
-264, /* PropertyLayoutElement */
-1830, /* MPropDef */
+281, /* POSetElement[MModule] */
 },
 };
-/* runtime type nullable MPropDef */
-const struct type type_nullable_model__MPropDef = {
-110,
-"nullable MPropDef", /* class_name_string */
-2,
-1,
-NULL,
-3,
+const struct types resolution_table_poset__POSetElementmodel_base__MModule = {
+0, /* dummy */
 {
-0, /* nullable Object */
--1, /* empty */
-110, /* nullable MPropDef */
-},
+&type_hash_collection__HashSetmodel_base__MModule, /* HashSet[POSetElement#0]: HashSet[MModule] */
+&type_poset__POSetmodel_base__MModule, /* POSet[POSetElement#0]: POSet[MModule] */
+&type_model_base__MModule, /* POSetElement#0: MModule */
+}
 };
-/* runtime type Array[MParameter] */
-const struct type type_array__Arraymodel__MParameter = {
-2569,
-"Array[MParameter]", /* class_name_string */
-7,
+/* runtime type HashMapKeys[String, Array[MModule]] */
+const struct type type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel_base__MModule = {
+1782,
+"HashMapKeys[String, Array[MModule]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arraymodel__MParameter,
-10,
+&resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel_base__MModule,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1473, /* Collection[MParameter] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2377, /* AbstractArrayRead[MParameter] */
-1778, /* AbstractArrayRead[Object] */
-2569, /* Array[MParameter] */
--1, /* empty */
-1962, /* Array[Object] */
+595, /* Collection[String] */
+1782, /* HashMapKeys[String, Array[MModule]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__Arraymodel__MParameter = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel_base__MModule = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MParameter, /* Array[Array#0]: Array[MParameter] */
-&type_array__NativeArraymodel__MParameter, /* NativeArray[Array#0]: NativeArray[MParameter] */
-&type_model__MParameter, /* Sequence#0: MParameter */
-&type_model__MParameter, /* SimpleCollection#0: MParameter */
-&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Array#0]: Collection[MParameter] */
-&type_model__MParameter, /* Array#0: MParameter */
-&type_array__NativeArraymodel__MParameter, /* NativeArray[ArrayCapable#0]: NativeArray[MParameter] */
-&type_model__MParameter, /* AbstractArray#0: MParameter */
-&type_model__MParameter, /* RemovableCollection#0: MParameter */
-&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Sequence#0]: Collection[MParameter] */
-&type_array__Arraymodel__MParameter, /* Array[Sequence#0]: Array[MParameter] */
-&type_abstract_collection__Collectionmodel__MParameter, /* Collection[SimpleCollection#0]: Collection[MParameter] */
-&type_model__MParameter, /* Collection#0: MParameter */
-&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Collection#0]: Collection[MParameter] */
-&type_model__MParameter, /* SequenceRead#0: MParameter */
-&type_model__MParameter, /* AbstractArrayRead#0: MParameter */
-&type_array__Arraymodel__MParameter, /* Array[AbstractArrayRead#0]: Array[MParameter] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MParameter] not a live type) */
-&type_array__ArrayIteratormodel__MParameter, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MParameter] */
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel_base__MModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Array[MModule]] */
+&type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel_base__MModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Array[MModule]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type Collection[MParameter] */
-const struct type type_abstract_collection__Collectionmodel__MParameter = {
-1473,
-"Collection[MParameter]", /* class_name_string */
+/* runtime type HashMapValues[String, Array[MModule]] */
+const struct type type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel_base__MModule = {
+1783,
+"HashMapValues[String, Array[MModule]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel_base__MModule,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1432, /* Collection[Array[MModule]] */
+1783, /* HashMapValues[String, Array[MModule]] */
+164, /* Collection[Object] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel_base__MModule = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel_base__MModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Array[MModule]] */
+&type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel_base__MModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Array[MModule]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel_base__MModule, /* RemovableCollection#0: Array[MModule] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel_base__MModule, /* Collection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymodel_base__MModule, /* Collection[Collection#0]: Collection[Array[MModule]] */
+}
+};
+/* runtime type Collection[Array[MModule]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel_base__MModule = {
+1432,
+"Collection[Array[MModule]]", /* class_name_string */
 2,
 0,
 NULL,
@@ -4131,1726 +4439,1472 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1473, /* Collection[MParameter] */
+1432, /* Collection[Array[MModule]] */
 -1, /* empty */
-166, /* Collection[Object] */
+164, /* Collection[Object] */
 },
 };
-/* runtime type AbstractArrayRead[MParameter] */
-const struct type type_array__AbstractArrayReadmodel__MParameter = {
-2377,
-"AbstractArrayRead[MParameter]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[String, Array[MModule]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+282,
+"NativeArray[nullable HashMapNode[String, Array[MModule]]]", /* class_name_string */
+2,
 0,
-NULL,
-7,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1473, /* Collection[MParameter] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2377, /* AbstractArrayRead[MParameter] */
-1778, /* AbstractArrayRead[Object] */
+282, /* NativeArray[nullable HashMapNode[String, Array[MModule]]] */
 },
 };
-/* runtime type MSignature */
-const struct type type_model__MSignature = {
-1831,
-"MSignature", /* class_name_string */
-4,
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* NativeArray#0: nullable HashMapNode[String, Array[MModule]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Array[MModule]]] */
+}
+};
+/* runtime type HashMapNode[String, Array[MModule]] */
+const struct type type_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+1433,
+"HashMapNode[String, Array[MModule]]", /* class_name_string */
+3,
 0,
-&resolution_table_model__MSignature,
-5,
+&resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2, /* nullable MType */
-596, /* MType */
-1831, /* MSignature */
+109, /* nullable HashMapNode[String, Array[MModule]] */
+1433, /* HashMapNode[String, Array[MModule]] */
 },
 };
-const struct types resolution_table_model__MSignature = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
 0, /* dummy */
 {
+&type_string__String, /* HashMapNode#0: String */
+&type_array__Arraymodel_base__MModule, /* HashMapNode#1: Array[MModule] */
+&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* N: HashMapNode[String, Array[MModule]] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type MParameter */
-const struct type type_model__MParameter = {
-266,
-"MParameter", /* class_name_string */
+/* runtime type nullable HashMapNode[String, Array[MModule]] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+109,
+"nullable HashMapNode[String, Array[MModule]]", /* class_name_string */
 2,
-0,
-&resolution_table_model__MParameter,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-266, /* MParameter */
+-1, /* empty */
+109, /* nullable HashMapNode[String, Array[MModule]] */
 },
 };
-const struct types resolution_table_model__MParameter = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
 0, /* dummy */
 {
+&type_string__String, /* HashMapNode#0: String */
+&type_array__Arraymodel_base__MModule, /* HashMapNode#1: Array[MModule] */
+&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* N: HashMapNode[String, Array[MModule]] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type Scope */
-const struct type type_scope__Scope = {
-267,
-"Scope", /* class_name_string */
-2,
-0,
-&resolution_table_scope__Scope,
+/* runtime type HashMapIterator[String, Array[MModule]] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel_base__MModule = {
+1434,
+"HashMapIterator[String, Array[MModule]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel_base__MModule,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-267, /* Scope */
+283, /* MapIterator[String, Array[MModule]] */
+1434, /* HashMapIterator[String, Array[MModule]] */
 },
 };
-const struct types resolution_table_scope__Scope = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel_base__MModule = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel_base__MModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Array[MModule]] */
 }
 };
-/* runtime type HashMap[String, Variable] */
-const struct type type_hash_collection__HashMapstring__Stringscope__Variable = {
-268,
-"HashMap[String, Variable]", /* class_name_string */
+/* runtime type MapIterator[String, Array[MModule]] */
+const struct type type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel_base__MModule = {
+283,
+"MapIterator[String, Array[MModule]]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapstring__Stringscope__Variable,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-268, /* HashMap[String, Variable] */
+283, /* MapIterator[String, Array[MModule]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapstring__Stringscope__Variable = {
+/* runtime type ArrayIterator[MClass] */
+const struct type type_array__ArrayIteratormodel__MClass = {
+1784,
+"ArrayIterator[MClass]", /* class_name_string */
+4,
+0,
+&resolution_table_array__ArrayIteratormodel__MClass,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+277, /* ArrayIterator[Object] */
+284, /* ArrayIterator[nullable MClass] */
+1784, /* ArrayIterator[MClass] */
+},
+};
+const struct types resolution_table_array__ArrayIteratormodel__MClass = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysstring__Stringscope__Variable, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Variable] */
-&type_hash_collection__HashMapValuesstring__Stringscope__Variable, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Variable] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Variable]] */
-&type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapIteratorstring__Stringscope__Variable, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Variable] */
-&type_string__String, /* Map#0: String */
-&type_scope__Variable, /* Map#1: Variable */
-&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Variable] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, Variable] not a live type) */
-&type_scope__Variable, /* MapRead#1: Variable */
-&type_string__String, /* HashCollection#0: String */
-&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* HashCollection#1: HashMapNode[String, Variable] */
+&type_array__AbstractArrayReadmodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MClass] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type FlowContext */
-const struct type type_flow__FlowContext = {
-269,
-"FlowContext", /* class_name_string */
-2,
-0,
-&resolution_table_flow__FlowContext,
+/* runtime type ArrayIterator[nullable MClass] */
+const struct type type_array__ArrayIteratornullable_model__MClass = {
+284,
+"ArrayIterator[nullable MClass]", /* class_name_string */
 3,
+0,
+&resolution_table_array__ArrayIteratornullable_model__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-269, /* FlowContext */
+-1, /* empty */
+284, /* ArrayIterator[nullable MClass] */
 },
 };
-const struct types resolution_table_flow__FlowContext = {
+const struct types resolution_table_array__ArrayIteratornullable_model__MClass = {
 0, /* dummy */
 {
+&type_array__AbstractArrayReadnullable_model__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[nullable MClass] */
 }
 };
-/* runtime type HashMap[Variable, nullable MType] */
-const struct type type_hash_collection__HashMapscope__Variablenullable_model__MType = {
-270,
-"HashMap[Variable, nullable MType]", /* class_name_string */
-2,
+/* runtime type NativeArray[MClass] */
+const struct type type_array__NativeArraymodel__MClass = {
+1785,
+"NativeArray[MClass]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapscope__Variablenullable_model__MType,
-3,
+&resolution_table_array__NativeArraymodel__MClass,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-270, /* HashMap[Variable, nullable MType] */
+185, /* NativeArray[Object] */
+285, /* NativeArray[nullable MClass] */
+1785, /* NativeArray[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapscope__Variablenullable_model__MType = {
+const struct types resolution_table_array__NativeArraymodel__MClass = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysscope__Variablenullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, nullable MType] */
-&type_hash_collection__HashMapValuesscope__Variablenullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, nullable MType] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
-&type_scope__Variable, /* MapRead#0: Variable */
-&type_hash_collection__HashMapIteratorscope__Variablenullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, nullable MType] */
-&type_scope__Variable, /* Map#0: Variable */
-&type_nullable_model__MType, /* Map#1: nullable MType */
-&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, nullable MType] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, nullable MType] not a live type) */
-&type_nullable_model__MType, /* MapRead#1: nullable MType */
-&type_scope__Variable, /* HashCollection#0: Variable */
-&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* HashCollection#1: HashMapNode[Variable, nullable MType] */
+&type_model__MClass, /* NativeArray#0: MClass */
+&type_array__NativeArraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[MClass] */
 }
 };
-/* runtime type HashMap[Variable, nullable Array[nullable MType]] */
-const struct type type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType = {
-271,
-"HashMap[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType,
+/* runtime type NativeArray[nullable MClass] */
+const struct type type_array__NativeArraynullable_model__MClass = {
+285,
+"NativeArray[nullable MClass]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_model__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-271, /* HashMap[Variable, nullable Array[nullable MType]] */
+-1, /* empty */
+285, /* NativeArray[nullable MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArraynullable_model__MClass = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, nullable Array[nullable MType]] */
-&type_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, nullable Array[nullable MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
-&type_scope__Variable, /* MapRead#0: Variable */
-&type_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, nullable Array[nullable MType]] */
-&type_scope__Variable, /* Map#0: Variable */
-&type_nullable_array__Arraynullable_model__MType, /* Map#1: nullable Array[nullable MType] */
-&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, nullable Array[nullable MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, nullable Array[nullable MType]] not a live type) */
-&type_nullable_array__Arraynullable_model__MType, /* MapRead#1: nullable Array[nullable MType] */
-&type_scope__Variable, /* HashCollection#0: Variable */
-&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[Variable, nullable Array[nullable MType]] */
+&type_nullable_model__MClass, /* NativeArray#0: nullable MClass */
+&type_array__NativeArraynullable_model__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable MClass] */
 }
 };
-/* runtime type MAttributeDef */
-const struct type type_model__MAttributeDef = {
-2110,
-"MAttributeDef", /* class_name_string */
+/* runtime type ArrayIterator[MProperty] */
+const struct type type_array__ArrayIteratormodel__MProperty = {
+2060,
+"ArrayIterator[MProperty]", /* class_name_string */
 5,
 0,
-&resolution_table_model__MAttributeDef,
+&resolution_table_array__ArrayIteratormodel__MProperty,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-110, /* nullable MPropDef */
-264, /* PropertyLayoutElement */
-1830, /* MPropDef */
-2110, /* MAttributeDef */
+277, /* ArrayIterator[Object] */
+286, /* ArrayIterator[nullable MProperty] */
+1435, /* ArrayIterator[PropertyLayoutElement] */
+2060, /* ArrayIterator[MProperty] */
 },
 };
-const struct types resolution_table_model__MAttributeDef = {
+const struct types resolution_table_array__ArrayIteratormodel__MProperty = {
 0, /* dummy */
 {
-&type_model__MAttribute, /* MPROPERTY: MAttribute */
-NULL, /* empty */
-&type_model__MAttributeDef, /* MPROPDEF: MAttributeDef */
+&type_array__AbstractArrayReadmodel__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MProperty] */
+&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
 }
 };
-/* runtime type MAttribute */
-const struct type type_model__MAttribute = {
-2111,
-"MAttribute", /* class_name_string */
+/* runtime type ArrayIterator[PropertyLayoutElement] */
+const struct type type_array__ArrayIteratorlayout_builders__PropertyLayoutElement = {
+1435,
+"ArrayIterator[PropertyLayoutElement]", /* class_name_string */
 4,
 0,
-&resolution_table_model__MAttribute,
-6,
+&resolution_table_array__ArrayIteratorlayout_builders__PropertyLayoutElement,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-109, /* nullable MProperty */
-264, /* PropertyLayoutElement */
-2111, /* MAttribute */
-1829, /* MProperty */
+277, /* ArrayIterator[Object] */
+-1, /* empty */
+1435, /* ArrayIterator[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_model__MAttribute = {
+const struct types resolution_table_array__ArrayIteratorlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MAttributeDef, /* Array[MPROPDEF]: Array[MAttributeDef] */
-&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MAttributeDef]] */
+&type_array__AbstractArrayReadlayout_builders__PropertyLayoutElement, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[PropertyLayoutElement] */
+&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[PropertyLayoutElement] */
 }
 };
-/* runtime type List[Int] */
-const struct type type_list__Listkernel__Int = {
-2112,
-"List[Int]", /* class_name_string */
-5,
+/* runtime type ArrayIterator[nullable MProperty] */
+const struct type type_array__ArrayIteratornullable_model__MProperty = {
+286,
+"ArrayIterator[nullable MProperty]", /* class_name_string */
+3,
 0,
-&resolution_table_list__Listkernel__Int,
-6,
+&resolution_table_array__ArrayIteratornullable_model__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-614, /* Collection[Int] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2112, /* List[Int] */
+-1, /* empty */
+286, /* ArrayIterator[nullable MProperty] */
 },
 };
-const struct types resolution_table_list__Listkernel__Int = {
+const struct types resolution_table_array__ArrayIteratornullable_model__MProperty = {
 0, /* dummy */
 {
-&type_list__Listkernel__Int, /* List[List#0]: List[Int] */
-&type_list__ListNodekernel__Int, /* ListNode[List#0]: ListNode[Int] */
-&type_kernel__Int, /* Sequence#0: Int */
-&type_kernel__Int, /* SimpleCollection#0: Int */
-&type_list__ListIteratorkernel__Int, /* ListIterator[List#0]: ListIterator[Int] */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[List#0]: Collection[Int] */
-&type_kernel__Int, /* List#0: Int */
-NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Sequence#0]: Collection[Int] */
-&type_array__Arraykernel__Int, /* Array[Sequence#0]: Array[Int] */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[SimpleCollection#0]: Collection[Int] */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
-&type_kernel__Int, /* SequenceRead#0: Int */
+&type_array__AbstractArrayReadnullable_model__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MProperty] */
+&type_array__Arraynullable_model__MProperty, /* Array[Iterator#0]: Array[nullable MProperty] */
 }
 };
-/* runtime type TypeVisitor */
-const struct type type_typing__TypeVisitor = {
-272,
-"TypeVisitor", /* class_name_string */
-2,
+/* runtime type NativeArray[MProperty] */
+const struct type type_array__NativeArraymodel__MProperty = {
+2061,
+"NativeArray[MProperty]", /* class_name_string */
+5,
 0,
-&resolution_table_typing__TypeVisitor,
-3,
+&resolution_table_array__NativeArraymodel__MProperty,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-272, /* TypeVisitor */
+185, /* NativeArray[Object] */
+287, /* NativeArray[nullable MProperty] */
+1436, /* NativeArray[PropertyLayoutElement] */
+2061, /* NativeArray[MProperty] */
 },
 };
-const struct types resolution_table_typing__TypeVisitor = {
+const struct types resolution_table_array__NativeArraymodel__MProperty = {
 0, /* dummy */
 {
+&type_model__MProperty, /* NativeArray#0: MProperty */
+&type_array__NativeArraymodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[MProperty] */
 }
 };
-/* runtime type MVirtualTypeProp */
-const struct type type_model__MVirtualTypeProp = {
-2378,
-"MVirtualTypeProp", /* class_name_string */
-6,
+/* runtime type NativeArray[PropertyLayoutElement] */
+const struct type type_array__NativeArraylayout_builders__PropertyLayoutElement = {
+1436,
+"NativeArray[PropertyLayoutElement]", /* class_name_string */
+4,
 0,
-&resolution_table_model__MVirtualTypeProp,
-7,
+&resolution_table_array__NativeArraylayout_builders__PropertyLayoutElement,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-109, /* nullable MProperty */
-264, /* PropertyLayoutElement */
-273, /* nullable MVirtualTypeProp */
-1829, /* MProperty */
-2378, /* MVirtualTypeProp */
+185, /* NativeArray[Object] */
+-1, /* empty */
+1436, /* NativeArray[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_model__MVirtualTypeProp = {
+const struct types resolution_table_array__NativeArraylayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualTypeDef, /* Array[MPROPDEF]: Array[MVirtualTypeDef] */
-&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
+&type_layout_builders__PropertyLayoutElement, /* NativeArray#0: PropertyLayoutElement */
+&type_array__NativeArraylayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[PropertyLayoutElement] */
 }
 };
-/* runtime type nullable MVirtualTypeProp */
-const struct type type_nullable_model__MVirtualTypeProp = {
-273,
-"nullable MVirtualTypeProp", /* class_name_string */
+/* runtime type NativeArray[nullable MProperty] */
+const struct type type_array__NativeArraynullable_model__MProperty = {
+287,
+"NativeArray[nullable MProperty]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArraynullable_model__MProperty,
 4,
-1,
-&resolution_table_nullable_model__MVirtualTypeProp,
-5,
 {
 0, /* nullable Object */
+1, /* Object */
 -1, /* empty */
-109, /* nullable MProperty */
--1, /* empty */
-273, /* nullable MVirtualTypeProp */
+287, /* NativeArray[nullable MProperty] */
 },
 };
-const struct types resolution_table_nullable_model__MVirtualTypeProp = {
+const struct types resolution_table_array__NativeArraynullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualTypeDef, /* Array[MPROPDEF]: Array[MVirtualTypeDef] */
-&type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
+&type_nullable_model__MProperty, /* NativeArray#0: nullable MProperty */
+&type_array__NativeArraynullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable MProperty] */
 }
 };
-/* runtime type MVirtualTypeDef */
-const struct type type_model__MVirtualTypeDef = {
-2113,
-"MVirtualTypeDef", /* class_name_string */
-5,
+/* runtime type HashMap[MClassDef, POSetElement[MClassDef]] */
+const struct type type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef = {
+288,
+"HashMap[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_model__MVirtualTypeDef,
-6,
+&resolution_table_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-110, /* nullable MPropDef */
-264, /* PropertyLayoutElement */
-1830, /* MPropDef */
-2113, /* MVirtualTypeDef */
+288, /* HashMap[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_model__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_model__MVirtualTypeProp, /* MPROPERTY: MVirtualTypeProp */
 NULL, /* empty */
-&type_model__MVirtualTypeDef, /* MPROPDEF: MVirtualTypeDef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassDef, POSetElement[MClassDef]] */
+&type_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassDef, POSetElement[MClassDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
+&type_model__MClassDef, /* MapRead#0: MClassDef */
+&type_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassDef, POSetElement[MClassDef]] */
+&type_model__MClassDef, /* Map#0: MClassDef */
+&type_poset__POSetElementmodel__MClassDef, /* Map#1: POSetElement[MClassDef] */
+&type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassDef, POSetElement[MClassDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MClassDef, POSetElement[MClassDef]] not a live type) */
+&type_poset__POSetElementmodel__MClassDef, /* MapRead#1: POSetElement[MClassDef] */
+&type_model__MClassDef, /* HashCollection#0: MClassDef */
+&type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashCollection#1: HashMapNode[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type Array[MVirtualType] */
-const struct type type_array__Arraymodel__MVirtualType = {
-2701,
-"Array[MVirtualType]", /* class_name_string */
-14,
+/* runtime type POSetElement[MClassDef] */
+const struct type type_poset__POSetElementmodel__MClassDef = {
+289,
+"POSetElement[MClassDef]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arraymodel__MVirtualType,
-16,
+&resolution_table_poset__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Array[nullable MType] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
-1778, /* AbstractArrayRead[Object] */
-1787, /* Collection[MType] */
-1794, /* AbstractArrayRead[nullable MType] */
-1962, /* Array[Object] */
-2114, /* Collection[MVirtualType] */
-2266, /* Array[nullable MType] */
-2626, /* AbstractArrayRead[MVirtualType] */
-2561, /* AbstractArrayRead[MType] */
-2701, /* Array[MVirtualType] */
-2662, /* Array[MType] */
+289, /* POSetElement[MClassDef] */
 },
 };
-const struct types resolution_table_array__Arraymodel__MVirtualType = {
+const struct types resolution_table_poset__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualType, /* Array[Array#0]: Array[MVirtualType] */
-&type_array__NativeArraymodel__MVirtualType, /* NativeArray[Array#0]: NativeArray[MVirtualType] */
-&type_model__MVirtualType, /* Sequence#0: MVirtualType */
-&type_model__MVirtualType, /* SimpleCollection#0: MVirtualType */
-&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[Array#0]: Collection[MVirtualType] */
-&type_model__MVirtualType, /* Array#0: MVirtualType */
-&type_array__NativeArraymodel__MVirtualType, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualType] */
-&type_model__MVirtualType, /* AbstractArray#0: MVirtualType */
-&type_model__MVirtualType, /* RemovableCollection#0: MVirtualType */
-&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[Sequence#0]: Collection[MVirtualType] */
-&type_array__Arraymodel__MVirtualType, /* Array[Sequence#0]: Array[MVirtualType] */
-&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[SimpleCollection#0]: Collection[MVirtualType] */
-&type_model__MVirtualType, /* Collection#0: MVirtualType */
-&type_abstract_collection__Collectionmodel__MVirtualType, /* Collection[Collection#0]: Collection[MVirtualType] */
-&type_model__MVirtualType, /* SequenceRead#0: MVirtualType */
-&type_model__MVirtualType, /* AbstractArrayRead#0: MVirtualType */
-&type_array__Arraymodel__MVirtualType, /* Array[AbstractArrayRead#0]: Array[MVirtualType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualType] not a live type) */
-&type_array__ArrayIteratormodel__MVirtualType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualType] */
+&type_hash_collection__HashSetmodel__MClassDef, /* HashSet[POSetElement#0]: HashSet[MClassDef] */
+&type_poset__POSetmodel__MClassDef, /* POSet[POSetElement#0]: POSet[MClassDef] */
+&type_model__MClassDef, /* POSetElement#0: MClassDef */
 }
 };
-/* runtime type Collection[MVirtualType] */
-const struct type type_abstract_collection__Collectionmodel__MVirtualType = {
-2114,
-"Collection[MVirtualType]", /* class_name_string */
-10,
-0,
-NULL,
-11,
-{
-0, /* nullable Object */
-1, /* Object */
--1, /* empty */
--1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
--1, /* empty */
-1787, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-2114, /* Collection[MVirtualType] */
-},
-};
-/* runtime type AbstractArrayRead[MVirtualType] */
-const struct type type_array__AbstractArrayReadmodel__MVirtualType = {
-2626,
-"AbstractArrayRead[MVirtualType]", /* class_name_string */
-12,
+/* runtime type HashMap[MClassType, POSetElement[MClassType]] */
+const struct type type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+1437,
+"HashMap[MClassType, POSetElement[MClassType]]", /* class_name_string */
+3,
 0,
-NULL,
-14,
+&resolution_table_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
-1778, /* AbstractArrayRead[Object] */
-1787, /* Collection[MType] */
-1794, /* AbstractArrayRead[nullable MType] */
--1, /* empty */
-2114, /* Collection[MVirtualType] */
--1, /* empty */
-2626, /* AbstractArrayRead[MVirtualType] */
-2561, /* AbstractArrayRead[MType] */
+290, /* HashMap[MType, POSetElement[MType]] */
+1437, /* HashMap[MClassType, POSetElement[MClassType]] */
 },
 };
-/* runtime type Array[AExpr] */
-const struct type type_array__Arrayparser_nodes__AExpr = {
-2680,
-"Array[AExpr]", /* class_name_string */
-16,
-0,
-&resolution_table_array__Arrayparser_nodes__AExpr,
-17,
+const struct types resolution_table_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+0, /* dummy */
 {
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
-1962, /* Array[Object] */
--1, /* empty */
-2549, /* Array[ANode] */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
-2647, /* Array[Prod] */
--1, /* empty */
-2680, /* Array[AExpr] */
-},
-};
-const struct types resolution_table_array__Arrayparser_nodes__AExpr = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AExpr, /* Array[Array#0]: Array[AExpr] */
-&type_array__NativeArrayparser_nodes__AExpr, /* NativeArray[Array#0]: NativeArray[AExpr] */
-&type_parser_nodes__AExpr, /* Sequence#0: AExpr */
-&type_parser_nodes__AExpr, /* SimpleCollection#0: AExpr */
-&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[Array#0]: Collection[AExpr] */
-&type_parser_nodes__AExpr, /* Array#0: AExpr */
-&type_array__NativeArrayparser_nodes__AExpr, /* NativeArray[ArrayCapable#0]: NativeArray[AExpr] */
-&type_parser_nodes__AExpr, /* AbstractArray#0: AExpr */
-&type_parser_nodes__AExpr, /* RemovableCollection#0: AExpr */
-&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[Sequence#0]: Collection[AExpr] */
-&type_array__Arrayparser_nodes__AExpr, /* Array[Sequence#0]: Array[AExpr] */
-&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[SimpleCollection#0]: Collection[AExpr] */
-&type_parser_nodes__AExpr, /* Collection#0: AExpr */
-&type_abstract_collection__Collectionparser_nodes__AExpr, /* Collection[Collection#0]: Collection[AExpr] */
-&type_parser_nodes__AExpr, /* SequenceRead#0: AExpr */
-&type_parser_nodes__AExpr, /* AbstractArrayRead#0: AExpr */
-&type_array__Arrayparser_nodes__AExpr, /* Array[AbstractArrayRead#0]: Array[AExpr] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AExpr] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AExpr] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, POSetElement[MClassType]] */
+&type_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, POSetElement[MClassType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
+&type_model__MClassType, /* MapRead#0: MClassType */
+&type_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, POSetElement[MClassType]] */
+&type_model__MClassType, /* Map#0: MClassType */
+&type_poset__POSetElementmodel__MClassType, /* Map#1: POSetElement[MClassType] */
+&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, POSetElement[MClassType]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MClassType, POSetElement[MClassType]] not a live type) */
+&type_poset__POSetElementmodel__MClassType, /* MapRead#1: POSetElement[MClassType] */
+&type_model__MClassType, /* HashCollection#0: MClassType */
+&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashCollection#1: HashMapNode[MClassType, POSetElement[MClassType]] */
 }
 };
-/* runtime type AbstractArrayRead[AExpr] */
-const struct type type_array__AbstractArrayReadparser_nodes__AExpr = {
-2627,
-"AbstractArrayRead[AExpr]", /* class_name_string */
-13,
-0,
-NULL,
-14,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
-},
-};
-/* runtime type Array[AIntExpr] */
-const struct type type_array__Arrayparser_nodes__AIntExpr = {
-2703,
-"Array[AIntExpr]", /* class_name_string */
-17,
+/* runtime type HashMap[MType, POSetElement[MType]] */
+const struct type type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType = {
+290,
+"HashMap[MType, POSetElement[MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arrayparser_nodes__AIntExpr,
-18,
+&resolution_table_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
-1962, /* Array[Object] */
-2379, /* Collection[AIntExpr] */
-2549, /* Array[ANode] */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
-2647, /* Array[Prod] */
-2665, /* AbstractArrayRead[AIntExpr] */
-2680, /* Array[AExpr] */
-2703, /* Array[AIntExpr] */
+290, /* HashMap[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AIntExpr = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AIntExpr, /* Array[Array#0]: Array[AIntExpr] */
-&type_array__NativeArrayparser_nodes__AIntExpr, /* NativeArray[Array#0]: NativeArray[AIntExpr] */
-&type_parser_nodes__AIntExpr, /* Sequence#0: AIntExpr */
-&type_parser_nodes__AIntExpr, /* SimpleCollection#0: AIntExpr */
-&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[Array#0]: Collection[AIntExpr] */
-&type_parser_nodes__AIntExpr, /* Array#0: AIntExpr */
-&type_array__NativeArrayparser_nodes__AIntExpr, /* NativeArray[ArrayCapable#0]: NativeArray[AIntExpr] */
-&type_parser_nodes__AIntExpr, /* AbstractArray#0: AIntExpr */
-&type_parser_nodes__AIntExpr, /* RemovableCollection#0: AIntExpr */
-&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[Sequence#0]: Collection[AIntExpr] */
-&type_array__Arrayparser_nodes__AIntExpr, /* Array[Sequence#0]: Array[AIntExpr] */
-&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[SimpleCollection#0]: Collection[AIntExpr] */
-&type_parser_nodes__AIntExpr, /* Collection#0: AIntExpr */
-&type_abstract_collection__Collectionparser_nodes__AIntExpr, /* Collection[Collection#0]: Collection[AIntExpr] */
-&type_parser_nodes__AIntExpr, /* SequenceRead#0: AIntExpr */
-&type_parser_nodes__AIntExpr, /* AbstractArrayRead#0: AIntExpr */
-&type_array__Arrayparser_nodes__AIntExpr, /* Array[AbstractArrayRead#0]: Array[AIntExpr] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AIntExpr] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AIntExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AIntExpr] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, POSetElement[MType]] */
+&type_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, POSetElement[MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, POSetElement[MType]] */
+&type_model__MType, /* Map#0: MType */
+&type_poset__POSetElementmodel__MType, /* Map#1: POSetElement[MType] */
+&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, POSetElement[MType]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, POSetElement[MType]] not a live type) */
+&type_poset__POSetElementmodel__MType, /* MapRead#1: POSetElement[MType] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* HashCollection#1: HashMapNode[MType, POSetElement[MType]] */
 }
 };
-/* runtime type Collection[AIntExpr] */
-const struct type type_abstract_collection__Collectionparser_nodes__AIntExpr = {
-2379,
-"Collection[AIntExpr]", /* class_name_string */
-10,
-0,
-NULL,
-11,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-2013, /* Collection[AExpr] */
--1, /* empty */
--1, /* empty */
-2379, /* Collection[AIntExpr] */
-},
-};
-/* runtime type AbstractArrayRead[AIntExpr] */
-const struct type type_array__AbstractArrayReadparser_nodes__AIntExpr = {
-2665,
-"AbstractArrayRead[AIntExpr]", /* class_name_string */
-15,
+/* runtime type POSetElement[MClassType] */
+const struct type type_poset__POSetElementmodel__MClassType = {
+1438,
+"POSetElement[MClassType]", /* class_name_string */
+3,
 0,
-NULL,
-16,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2379, /* Collection[AIntExpr] */
--1, /* empty */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
--1, /* empty */
-2665, /* AbstractArrayRead[AIntExpr] */
-},
-};
-/* runtime type MNullableType */
-const struct type type_model__MNullableType = {
-1832,
-"MNullableType", /* class_name_string */
+&resolution_table_poset__POSetElementmodel__MClassType,
 4,
-0,
-&resolution_table_model__MNullableType,
-5,
 {
 0, /* nullable Object */
 1, /* Object */
-2, /* nullable MType */
-596, /* MType */
-1832, /* MNullableType */
+291, /* POSetElement[MType] */
+1438, /* POSetElement[MClassType] */
 },
 };
-const struct types resolution_table_model__MNullableType = {
+const struct types resolution_table_poset__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetmodel__MClassType, /* HashSet[POSetElement#0]: HashSet[MClassType] */
+&type_poset__POSetmodel__MClassType, /* POSet[POSetElement#0]: POSet[MClassType] */
+&type_model__MClassType, /* POSetElement#0: MClassType */
 }
 };
-/* runtime type ClosureVariable */
-const struct type type_scope__ClosureVariable = {
-1474,
-"ClosureVariable", /* class_name_string */
-3,
+/* runtime type POSetElement[MType] */
+const struct type type_poset__POSetElementmodel__MType = {
+291,
+"POSetElement[MType]", /* class_name_string */
+2,
 0,
-&resolution_table_scope__ClosureVariable,
-4,
+&resolution_table_poset__POSetElementmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-254, /* Variable */
-1474, /* ClosureVariable */
+291, /* POSetElement[MType] */
 },
 };
-const struct types resolution_table_scope__ClosureVariable = {
+const struct types resolution_table_poset__POSetElementmodel__MType = {
 0, /* dummy */
 {
+&type_hash_collection__HashSetmodel__MType, /* HashSet[POSetElement#0]: HashSet[MType] */
+&type_poset__POSetmodel__MType, /* POSet[POSetElement#0]: POSet[MType] */
+&type_model__MType, /* POSetElement#0: MType */
 }
 };
-/* runtime type AClosureCallExpr */
-const struct type type_parser_nodes__AClosureCallExpr = {
-2380,
-"AClosureCallExpr", /* class_name_string */
-6,
+/* runtime type HashMapKeys[String, Array[MClass]] */
+const struct type type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass = {
+1786,
+"HashMapKeys[String, Array[MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_parser_nodes__AClosureCallExpr,
-7,
+&resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2380, /* AClosureCallExpr */
+595, /* Collection[String] */
+1786, /* HashMapKeys[String, Array[MClass]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_parser_nodes__AClosureCallExpr = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Array[MClass]] */
+&type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Array[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type Array[Variable] */
-const struct type type_array__Arrayscope__Variable = {
-2570,
-"Array[Variable]", /* class_name_string */
-7,
+/* runtime type HashMapValues[String, Array[MClass]] */
+const struct type type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass = {
+2062,
+"HashMapValues[String, Array[MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayscope__Variable,
-10,
+&resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1471, /* Collection[Variable] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2381, /* AbstractArrayRead[Variable] */
-1778, /* AbstractArrayRead[Object] */
-2570, /* Array[Variable] */
--1, /* empty */
-1962, /* Array[Object] */
+1439, /* Collection[Array[nullable MClass]] */
+2062, /* HashMapValues[String, Array[MClass]] */
+164, /* Collection[Object] */
+1787, /* Collection[Array[MClass]] */
 },
 };
-const struct types resolution_table_array__Arrayscope__Variable = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayscope__Variable, /* Array[Array#0]: Array[Variable] */
-&type_array__NativeArrayscope__Variable, /* NativeArray[Array#0]: NativeArray[Variable] */
-&type_scope__Variable, /* Sequence#0: Variable */
-&type_scope__Variable, /* SimpleCollection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Array#0]: Collection[Variable] */
-&type_scope__Variable, /* Array#0: Variable */
-&type_array__NativeArrayscope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[Variable] */
-&type_scope__Variable, /* AbstractArray#0: Variable */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Sequence#0]: Collection[Variable] */
-&type_array__Arrayscope__Variable, /* Array[Sequence#0]: Array[Variable] */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[SimpleCollection#0]: Collection[Variable] */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
-&type_scope__Variable, /* SequenceRead#0: Variable */
-&type_scope__Variable, /* AbstractArrayRead#0: Variable */
-&type_array__Arrayscope__Variable, /* Array[AbstractArrayRead#0]: Array[Variable] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Variable] not a live type) */
-&type_array__ArrayIteratorscope__Variable, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Variable] */
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Array[MClass]] */
+&type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Array[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
 }
 };
-/* runtime type AbstractArrayRead[Variable] */
-const struct type type_array__AbstractArrayReadscope__Variable = {
-2381,
-"AbstractArrayRead[Variable]", /* class_name_string */
+/* runtime type Collection[Array[MClass]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MClass = {
+1787,
+"Collection[Array[MClass]]", /* class_name_string */
 5,
 0,
 NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1471, /* Collection[Variable] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2381, /* AbstractArrayRead[Variable] */
-1778, /* AbstractArrayRead[Object] */
-},
-};
-/* runtime type CollectTokensByTextVisitor */
-const struct type type_parser_util__CollectTokensByTextVisitor = {
-274,
-"CollectTokensByTextVisitor", /* class_name_string */
-2,
-0,
-&resolution_table_parser_util__CollectTokensByTextVisitor,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-274, /* CollectTokensByTextVisitor */
-},
-};
-const struct types resolution_table_parser_util__CollectTokensByTextVisitor = {
-0, /* dummy */
-{
-}
-};
-/* runtime type Array[Token] */
-const struct type type_array__Arrayparser_nodes__Token = {
-2651,
-"Array[Token]", /* class_name_string */
-13,
-0,
-&resolution_table_array__Arrayparser_nodes__Token,
-14,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
-1778, /* AbstractArrayRead[Object] */
--1, /* empty */
-2255, /* AbstractArrayRead[ANode] */
-1962, /* Array[Object] */
-2571, /* AbstractArrayRead[Token] */
-2549, /* Array[ANode] */
+1439, /* Collection[Array[nullable MClass]] */
 -1, /* empty */
-2651, /* Array[Token] */
-},
-};
-const struct types resolution_table_array__Arrayparser_nodes__Token = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__Token, /* Array[Array#0]: Array[Token] */
-&type_array__NativeArrayparser_nodes__Token, /* NativeArray[Array#0]: NativeArray[Token] */
-&type_parser_nodes__Token, /* Sequence#0: Token */
-&type_parser_nodes__Token, /* SimpleCollection#0: Token */
-&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[Array#0]: Collection[Token] */
-&type_parser_nodes__Token, /* Array#0: Token */
-&type_array__NativeArrayparser_nodes__Token, /* NativeArray[ArrayCapable#0]: NativeArray[Token] */
-&type_parser_nodes__Token, /* AbstractArray#0: Token */
-&type_parser_nodes__Token, /* RemovableCollection#0: Token */
-&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[Sequence#0]: Collection[Token] */
-&type_array__Arrayparser_nodes__Token, /* Array[Sequence#0]: Array[Token] */
-&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[SimpleCollection#0]: Collection[Token] */
-&type_parser_nodes__Token, /* Collection#0: Token */
-&type_abstract_collection__Collectionparser_nodes__Token, /* Collection[Collection#0]: Collection[Token] */
-&type_parser_nodes__Token, /* SequenceRead#0: Token */
-&type_parser_nodes__Token, /* AbstractArrayRead#0: Token */
-&type_array__Arrayparser_nodes__Token, /* Array[AbstractArrayRead#0]: Array[Token] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Token] not a live type) */
-&type_array__ArrayIteratorparser_nodes__Token, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Token] */
-}
-};
-/* runtime type AbstractArrayRead[Token] */
-const struct type type_array__AbstractArrayReadparser_nodes__Token = {
-2571,
-"AbstractArrayRead[Token]", /* class_name_string */
-10,
+164, /* Collection[Object] */
+1787, /* Collection[Array[MClass]] */
+},
+};
+/* runtime type Collection[Array[nullable MClass]] */
+const struct type type_abstract_collection__Collectionarray__Arraynullable_model__MClass = {
+1439,
+"Collection[Array[nullable MClass]]", /* class_name_string */
+2,
 0,
 NULL,
-11,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
-1778, /* AbstractArrayRead[Object] */
+1439, /* Collection[Array[nullable MClass]] */
 -1, /* empty */
-2255, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2571, /* AbstractArrayRead[Token] */
+164, /* Collection[Object] */
 },
 };
-/* runtime type MPropDefSorter */
-const struct type type_model__MPropDefSorter = {
-275,
-"MPropDefSorter", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[String, Array[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
+292,
+"NativeArray[nullable HashMapNode[String, Array[MClass]]]", /* class_name_string */
 2,
 0,
-&resolution_table_model__MPropDefSorter,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-275, /* MPropDefSorter */
+292, /* NativeArray[nullable HashMapNode[String, Array[MClass]]] */
 },
 };
-const struct types resolution_table_model__MPropDefSorter = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model__MPropDef, /* AbstractSorter#0: MPropDef */
-&type_array__Arraymodel__MPropDef, /* Array[AbstractSorter#0]: Array[MPropDef] */
+&type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* NativeArray#0: nullable HashMapNode[String, Array[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Array[MClass]]] */
 }
 };
-/* runtime type CustomizedRuntimeFunction */
-const struct type type_global_compiler__CustomizedRuntimeFunction = {
-1475,
-"CustomizedRuntimeFunction", /* class_name_string */
+/* runtime type HashMapNode[String, Array[MClass]] */
+const struct type type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
+1440,
+"HashMapNode[String, Array[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_global_compiler__CustomizedRuntimeFunction,
+&resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-237, /* AbstractRuntimeFunction */
-1475, /* CustomizedRuntimeFunction */
+110, /* nullable HashMapNode[String, Array[MClass]] */
+1440, /* HashMapNode[String, Array[MClass]] */
 },
 };
-const struct types resolution_table_global_compiler__CustomizedRuntimeFunction = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_global_compiler__GlobalCompiler, /* COMPILER: GlobalCompiler */
-&type_global_compiler__GlobalCompilerVisitor, /* VISITOR: GlobalCompilerVisitor */
+&type_string__String, /* HashMapNode#0: String */
+&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
+&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* N: HashMapNode[String, Array[MClass]] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type TextCollectorVisitor */
-const struct type type_modelize_property__TextCollectorVisitor = {
-276,
-"TextCollectorVisitor", /* class_name_string */
+/* runtime type nullable HashMapNode[String, Array[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
+110,
+"nullable HashMapNode[String, Array[MClass]]", /* class_name_string */
 2,
-0,
-&resolution_table_modelize_property__TextCollectorVisitor,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-276, /* TextCollectorVisitor */
+-1, /* empty */
+110, /* nullable HashMapNode[String, Array[MClass]] */
 },
 };
-const struct types resolution_table_modelize_property__TextCollectorVisitor = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
+&type_string__String, /* HashMapNode#0: String */
+&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
+&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* N: HashMapNode[String, Array[MClass]] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type AVarAssignExpr */
-const struct type type_parser_nodes__AVarAssignExpr = {
-2382,
-"AVarAssignExpr", /* class_name_string */
-6,
+/* runtime type HashMapIterator[String, Array[MClass]] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass = {
+1441,
+"HashMapIterator[String, Array[MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_parser_nodes__AVarAssignExpr,
-7,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2382, /* AVarAssignExpr */
+293, /* MapIterator[String, Array[MClass]] */
+1441, /* HashMapIterator[String, Array[MClass]] */
 },
 };
-const struct types resolution_table_parser_nodes__AVarAssignExpr = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Array[MClass]] */
 }
 };
-/* runtime type AVarExpr */
-const struct type type_parser_nodes__AVarExpr = {
-2383,
-"AVarExpr", /* class_name_string */
-6,
+/* runtime type MapIterator[String, Array[MClass]] */
+const struct type type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass = {
+293,
+"MapIterator[String, Array[MClass]]", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__AVarExpr,
-7,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2383, /* AVarExpr */
+293, /* MapIterator[String, Array[MClass]] */
 },
 };
-const struct types resolution_table_parser_nodes__AVarExpr = {
+/* runtime type HashMapKeys[String, Array[MProperty]] */
+const struct type type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty = {
+1788,
+"HashMapKeys[String, Array[MProperty]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+595, /* Collection[String] */
+1788, /* HashMapKeys[String, Array[MProperty]] */
+164, /* Collection[Object] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Array[MProperty]] */
+&type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Array[MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type Array[ABreakExpr] */
-const struct type type_array__Arrayparser_nodes__ABreakExpr = {
-2704,
-"Array[ABreakExpr]", /* class_name_string */
-17,
+/* runtime type HashMapValues[String, Array[MProperty]] */
+const struct type type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty = {
+1789,
+"HashMapValues[String, Array[MProperty]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayparser_nodes__ABreakExpr,
-18,
+&resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
-1962, /* Array[Object] */
-2384, /* Collection[ABreakExpr] */
-2549, /* Array[ANode] */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
-2647, /* Array[Prod] */
-2666, /* AbstractArrayRead[ABreakExpr] */
-2680, /* Array[AExpr] */
-2704, /* Array[ABreakExpr] */
+1442, /* Collection[Array[MProperty]] */
+1789, /* HashMapValues[String, Array[MProperty]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__ABreakExpr = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__ABreakExpr, /* Array[Array#0]: Array[ABreakExpr] */
-&type_array__NativeArrayparser_nodes__ABreakExpr, /* NativeArray[Array#0]: NativeArray[ABreakExpr] */
-&type_parser_nodes__ABreakExpr, /* Sequence#0: ABreakExpr */
-&type_parser_nodes__ABreakExpr, /* SimpleCollection#0: ABreakExpr */
-&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[Array#0]: Collection[ABreakExpr] */
-&type_parser_nodes__ABreakExpr, /* Array#0: ABreakExpr */
-&type_array__NativeArrayparser_nodes__ABreakExpr, /* NativeArray[ArrayCapable#0]: NativeArray[ABreakExpr] */
-&type_parser_nodes__ABreakExpr, /* AbstractArray#0: ABreakExpr */
-&type_parser_nodes__ABreakExpr, /* RemovableCollection#0: ABreakExpr */
-&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[Sequence#0]: Collection[ABreakExpr] */
-&type_array__Arrayparser_nodes__ABreakExpr, /* Array[Sequence#0]: Array[ABreakExpr] */
-&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[SimpleCollection#0]: Collection[ABreakExpr] */
-&type_parser_nodes__ABreakExpr, /* Collection#0: ABreakExpr */
-&type_abstract_collection__Collectionparser_nodes__ABreakExpr, /* Collection[Collection#0]: Collection[ABreakExpr] */
-&type_parser_nodes__ABreakExpr, /* SequenceRead#0: ABreakExpr */
-&type_parser_nodes__ABreakExpr, /* AbstractArrayRead#0: ABreakExpr */
-&type_array__Arrayparser_nodes__ABreakExpr, /* Array[AbstractArrayRead#0]: Array[ABreakExpr] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ABreakExpr] not a live type) */
-&type_array__ArrayIteratorparser_nodes__ABreakExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ABreakExpr] */
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Array[MProperty]] */
+&type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Array[MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MProperty, /* RemovableCollection#0: Array[MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MProperty, /* Collection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Collection#0]: Collection[Array[MProperty]] */
 }
 };
-/* runtime type Collection[ABreakExpr] */
-const struct type type_abstract_collection__Collectionparser_nodes__ABreakExpr = {
-2384,
-"Collection[ABreakExpr]", /* class_name_string */
-10,
+/* runtime type Collection[Array[MProperty]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MProperty = {
+1442,
+"Collection[Array[MProperty]]", /* class_name_string */
+2,
 0,
 NULL,
-11,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-2013, /* Collection[AExpr] */
--1, /* empty */
+1442, /* Collection[Array[MProperty]] */
 -1, /* empty */
-2384, /* Collection[ABreakExpr] */
+164, /* Collection[Object] */
 },
 };
-/* runtime type AbstractArrayRead[ABreakExpr] */
-const struct type type_array__AbstractArrayReadparser_nodes__ABreakExpr = {
-2666,
-"AbstractArrayRead[ABreakExpr]", /* class_name_string */
-15,
+/* runtime type NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+294,
+"NativeArray[nullable HashMapNode[String, Array[MProperty]]]", /* class_name_string */
+2,
 0,
-NULL,
-16,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2384, /* Collection[ABreakExpr] */
--1, /* empty */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
+294, /* NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* NativeArray#0: nullable HashMapNode[String, Array[MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
+}
+};
+/* runtime type HashMapNode[String, Array[MProperty]] */
+const struct type type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+1443,
+"HashMapNode[String, Array[MProperty]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+111, /* nullable HashMapNode[String, Array[MProperty]] */
+1443, /* HashMapNode[String, Array[MProperty]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+0, /* dummy */
+{
+&type_string__String, /* HashMapNode#0: String */
+&type_array__Arraymodel__MProperty, /* HashMapNode#1: Array[MProperty] */
+&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* N: HashMapNode[String, Array[MProperty]] */
+&type_string__String, /* HashNode#0: String */
+}
+};
+/* runtime type nullable HashMapNode[String, Array[MProperty]] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+111,
+"nullable HashMapNode[String, Array[MProperty]]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty,
+3,
+{
+0, /* nullable Object */
 -1, /* empty */
-2666, /* AbstractArrayRead[ABreakExpr] */
+111, /* nullable HashMapNode[String, Array[MProperty]] */
 },
 };
-/* runtime type Array[AContinueExpr] */
-const struct type type_array__Arrayparser_nodes__AContinueExpr = {
-2705,
-"Array[AContinueExpr]", /* class_name_string */
-17,
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+0, /* dummy */
+{
+&type_string__String, /* HashMapNode#0: String */
+&type_array__Arraymodel__MProperty, /* HashMapNode#1: Array[MProperty] */
+&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* N: HashMapNode[String, Array[MProperty]] */
+&type_string__String, /* HashNode#0: String */
+}
+};
+/* runtime type HashMapIterator[String, Array[MProperty]] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty = {
+1444,
+"HashMapIterator[String, Array[MProperty]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayparser_nodes__AContinueExpr,
-18,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
-1962, /* Array[Object] */
-2385, /* Collection[AContinueExpr] */
-2549, /* Array[ANode] */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
-2647, /* Array[Prod] */
-2667, /* AbstractArrayRead[AContinueExpr] */
-2680, /* Array[AExpr] */
-2705, /* Array[AContinueExpr] */
+295, /* MapIterator[String, Array[MProperty]] */
+1444, /* HashMapIterator[String, Array[MProperty]] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AContinueExpr = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AContinueExpr, /* Array[Array#0]: Array[AContinueExpr] */
-&type_array__NativeArrayparser_nodes__AContinueExpr, /* NativeArray[Array#0]: NativeArray[AContinueExpr] */
-&type_parser_nodes__AContinueExpr, /* Sequence#0: AContinueExpr */
-&type_parser_nodes__AContinueExpr, /* SimpleCollection#0: AContinueExpr */
-&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[Array#0]: Collection[AContinueExpr] */
-&type_parser_nodes__AContinueExpr, /* Array#0: AContinueExpr */
-&type_array__NativeArrayparser_nodes__AContinueExpr, /* NativeArray[ArrayCapable#0]: NativeArray[AContinueExpr] */
-&type_parser_nodes__AContinueExpr, /* AbstractArray#0: AContinueExpr */
-&type_parser_nodes__AContinueExpr, /* RemovableCollection#0: AContinueExpr */
-&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[Sequence#0]: Collection[AContinueExpr] */
-&type_array__Arrayparser_nodes__AContinueExpr, /* Array[Sequence#0]: Array[AContinueExpr] */
-&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[SimpleCollection#0]: Collection[AContinueExpr] */
-&type_parser_nodes__AContinueExpr, /* Collection#0: AContinueExpr */
-&type_abstract_collection__Collectionparser_nodes__AContinueExpr, /* Collection[Collection#0]: Collection[AContinueExpr] */
-&type_parser_nodes__AContinueExpr, /* SequenceRead#0: AContinueExpr */
-&type_parser_nodes__AContinueExpr, /* AbstractArrayRead#0: AContinueExpr */
-&type_array__Arrayparser_nodes__AContinueExpr, /* Array[AbstractArrayRead#0]: Array[AContinueExpr] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AContinueExpr] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AContinueExpr, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AContinueExpr] */
+&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Array[MProperty]] */
 }
 };
-/* runtime type Collection[AContinueExpr] */
-const struct type type_abstract_collection__Collectionparser_nodes__AContinueExpr = {
-2385,
-"Collection[AContinueExpr]", /* class_name_string */
-10,
-0,
-NULL,
-11,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-2013, /* Collection[AExpr] */
--1, /* empty */
--1, /* empty */
-2385, /* Collection[AContinueExpr] */
-},
-};
-/* runtime type AbstractArrayRead[AContinueExpr] */
-const struct type type_array__AbstractArrayReadparser_nodes__AContinueExpr = {
-2667,
-"AbstractArrayRead[AContinueExpr]", /* class_name_string */
-15,
+/* runtime type MapIterator[String, Array[MProperty]] */
+const struct type type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty = {
+295,
+"MapIterator[String, Array[MProperty]]", /* class_name_string */
+2,
 0,
 NULL,
-16,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-1778, /* AbstractArrayRead[Object] */
-2013, /* Collection[AExpr] */
-2255, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2385, /* Collection[AContinueExpr] */
--1, /* empty */
-2550, /* AbstractArrayRead[Prod] */
-2627, /* AbstractArrayRead[AExpr] */
--1, /* empty */
-2667, /* AbstractArrayRead[AContinueExpr] */
+295, /* MapIterator[String, Array[MProperty]] */
 },
 };
-/* runtime type AVarReassignExpr */
-const struct type type_parser_nodes__AVarReassignExpr = {
-2386,
-"AVarReassignExpr", /* class_name_string */
-6,
+/* runtime type HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+296,
+"HashMap[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+2,
 0,
-&resolution_table_parser_nodes__AVarReassignExpr,
-7,
+&resolution_table_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2386, /* AVarReassignExpr */
+296, /* HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_parser_nodes__AVarReassignExpr = {
+const struct types resolution_table_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
+&type_model_base__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_model_base__MModule, /* Map#0: MModule */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Map#1: HashMap2[MType, String, nullable MProperty] */
+&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap2[MType, String, nullable MProperty]] not a live type) */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapRead#1: HashMap2[MType, String, nullable MProperty] */
+&type_model_base__MModule, /* HashCollection#0: MModule */
+&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type EscapeMark */
-const struct type type_scope__EscapeMark = {
-277,
-"EscapeMark", /* class_name_string */
+/* runtime type HashMap2[MType, String, nullable MProperty] */
+const struct type type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+297,
+"HashMap2[MType, String, nullable MProperty]", /* class_name_string */
 2,
 0,
-&resolution_table_scope__EscapeMark,
+&resolution_table_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* EscapeMark */
+297, /* HashMap2[MType, String, nullable MProperty] */
 },
 };
-const struct types resolution_table_scope__EscapeMark = {
+const struct types resolution_table_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_model__MType, /* HashMap2#0: MType */
+&type_string__String, /* HashMap2#1: String */
+&type_nullable_model__MProperty, /* HashMap2#2: nullable MProperty */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[String, nullable MProperty] */
 }
 };
-/* runtime type APlaceholderExpr */
-const struct type type_astbuilder__APlaceholderExpr = {
-2387,
-"APlaceholderExpr", /* class_name_string */
-6,
+/* runtime type ArrayIterator[String] */
+const struct type type_array__ArrayIteratorstring__String = {
+1445,
+"ArrayIterator[String]", /* class_name_string */
+3,
 0,
-&resolution_table_astbuilder__APlaceholderExpr,
-7,
+&resolution_table_array__ArrayIteratorstring__String,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2387, /* APlaceholderExpr */
+277, /* ArrayIterator[Object] */
+1445, /* ArrayIterator[String] */
 },
 };
-const struct types resolution_table_astbuilder__APlaceholderExpr = {
+const struct types resolution_table_array__ArrayIteratorstring__String = {
 0, /* dummy */
 {
+&type_array__AbstractArrayReadstring__String, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type CallSite */
-const struct type type_typing__CallSite = {
-278,
-"CallSite", /* class_name_string */
-2,
-0,
-&resolution_table_typing__CallSite,
+/* runtime type HashMapKeys[String, AModule] */
+const struct type type_hash_collection__HashMapKeysstring__Stringparser_nodes__AModule = {
+1790,
+"HashMapKeys[String, AModule]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapKeysstring__Stringparser_nodes__AModule,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-278, /* CallSite */
+595, /* Collection[String] */
+1790, /* HashMapKeys[String, AModule] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_typing__CallSite = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringparser_nodes__AModule = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapstring__Stringparser_nodes__AModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, AModule] */
+&type_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, AModule] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type ArrayIterator[Message] */
-const struct type type_array__ArrayIteratortoolcontext__Message = {
-1476,
-"ArrayIterator[Message]", /* class_name_string */
+/* runtime type HashMapValues[String, AModule] */
+const struct type type_hash_collection__HashMapValuesstring__Stringparser_nodes__AModule = {
+2347,
+"HashMapValues[String, AModule]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratortoolcontext__Message,
-4,
+&resolution_table_hash_collection__HashMapValuesstring__Stringparser_nodes__AModule,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1476, /* ArrayIterator[Message] */
+596, /* Collection[ANode] */
+2347, /* HashMapValues[String, AModule] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+-1, /* empty */
+1917, /* Collection[AModule] */
 },
 };
-const struct types resolution_table_array__ArrayIteratortoolcontext__Message = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadtoolcontext__Message, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Message] */
-&type_array__Arraytoolcontext__Message, /* Array[Iterator#0]: Array[Message] */
+&type_hash_collection__HashMapstring__Stringparser_nodes__AModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, AModule] */
+&type_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, AModule] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__AModule, /* RemovableCollection#0: AModule */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__AModule, /* Collection#0: AModule */
+&type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Collection#0]: Collection[AModule] */
 }
 };
-/* runtime type ArrayIterator[Object] */
-const struct type type_array__ArrayIteratorkernel__Object = {
-279,
-"ArrayIterator[Object]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[String, AModule]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
+298,
+"NativeArray[nullable HashMapNode[String, AModule]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__ArrayIteratorkernel__Object,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
+298, /* NativeArray[nullable HashMapNode[String, AModule]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorkernel__Object = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadkernel__Object, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Object] */
-&type_array__Arraykernel__Object, /* Array[Iterator#0]: Array[Object] */
+&type_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* NativeArray#0: nullable HashMapNode[String, AModule] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, AModule]] */
 }
 };
-/* runtime type NativeArray[Message] */
-const struct type type_array__NativeArraytoolcontext__Message = {
-1477,
-"NativeArray[Message]", /* class_name_string */
+/* runtime type HashMapNode[String, AModule] */
+const struct type type_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
+1446,
+"HashMapNode[String, AModule]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraytoolcontext__Message,
+&resolution_table_hash_collection__HashMapNodestring__Stringparser_nodes__AModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1477, /* NativeArray[Message] */
+112, /* nullable HashMapNode[String, AModule] */
+1446, /* HashMapNode[String, AModule] */
 },
 };
-const struct types resolution_table_array__NativeArraytoolcontext__Message = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_toolcontext__Message, /* NativeArray#0: Message */
-&type_array__NativeArraytoolcontext__Message, /* NativeArray[NativeArray#0]: NativeArray[Message] */
+&type_string__String, /* HashMapNode#0: String */
+&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
+&type_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* N: HashMapNode[String, AModule] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type HashMap[Phase, POSetElement[Phase]] */
-const struct type type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase = {
-280,
-"HashMap[Phase, POSetElement[Phase]]", /* class_name_string */
+/* runtime type nullable HashMapNode[String, AModule] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
+112,
+"nullable HashMapNode[String, AModule]", /* class_name_string */
 2,
-0,
-&resolution_table_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-280, /* HashMap[Phase, POSetElement[Phase]] */
+-1, /* empty */
+112, /* nullable HashMapNode[String, AModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Phase, POSetElement[Phase]] */
-&type_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Phase, POSetElement[Phase]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
-&type_phase__Phase, /* MapRead#0: Phase */
-&type_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Phase, POSetElement[Phase]] */
-&type_phase__Phase, /* Map#0: Phase */
-&type_poset__POSetElementphase__Phase, /* Map#1: POSetElement[Phase] */
-&type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Phase, POSetElement[Phase]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[Phase, POSetElement[Phase]] not a live type) */
-&type_poset__POSetElementphase__Phase, /* MapRead#1: POSetElement[Phase] */
-&type_phase__Phase, /* HashCollection#0: Phase */
-&type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* HashCollection#1: HashMapNode[Phase, POSetElement[Phase]] */
+&type_string__String, /* HashMapNode#0: String */
+&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
+&type_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* N: HashMapNode[String, AModule] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type POSetElement[Phase] */
-const struct type type_poset__POSetElementphase__Phase = {
-281,
-"POSetElement[Phase]", /* class_name_string */
-2,
-0,
-&resolution_table_poset__POSetElementphase__Phase,
+/* runtime type HashMapIterator[String, AModule] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringparser_nodes__AModule = {
+1447,
+"HashMapIterator[String, AModule]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringparser_nodes__AModule,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-281, /* POSetElement[Phase] */
+299, /* MapIterator[String, AModule] */
+1447, /* HashMapIterator[String, AModule] */
 },
 };
-const struct types resolution_table_poset__POSetElementphase__Phase = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetphase__Phase, /* HashSet[POSetElement#0]: HashSet[Phase] */
-&type_poset__POSetphase__Phase, /* POSet[POSetElement#0]: POSet[Phase] */
-&type_phase__Phase, /* POSetElement#0: Phase */
+&type_hash_collection__HashMapstring__Stringparser_nodes__AModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, AModule] */
 }
 };
-/* runtime type ArrayIterator[Phase] */
-const struct type type_array__ArrayIteratorphase__Phase = {
-1478,
-"ArrayIterator[Phase]", /* class_name_string */
+/* runtime type MapIterator[String, AModule] */
+const struct type type_abstract_collection__MapIteratorstring__Stringparser_nodes__AModule = {
+299,
+"MapIterator[String, AModule]", /* class_name_string */
+2,
+0,
+NULL,
 3,
+{
+0, /* nullable Object */
+1, /* Object */
+299, /* MapIterator[String, AModule] */
+},
+};
+/* runtime type ArrayIterator[AModule] */
+const struct type type_array__ArrayIteratorparser_nodes__AModule = {
+2063,
+"ArrayIterator[AModule]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratorphase__Phase,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__AModule,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1478, /* ArrayIterator[Phase] */
+277, /* ArrayIterator[Object] */
+1448, /* ArrayIterator[ANode] */
+1791, /* ArrayIterator[Prod] */
+2063, /* ArrayIterator[AModule] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorphase__Phase = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadphase__Phase, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Phase] */
-&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
+&type_array__AbstractArrayReadparser_nodes__AModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AModule] */
+&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
 }
 };
-/* runtime type NativeArray[Phase] */
-const struct type type_array__NativeArrayphase__Phase = {
-1479,
-"NativeArray[Phase]", /* class_name_string */
-3,
-0,
-&resolution_table_array__NativeArrayphase__Phase,
+/* runtime type ArrayIterator[Prod] */
+const struct type type_array__ArrayIteratorparser_nodes__Prod = {
+1791,
+"ArrayIterator[Prod]", /* class_name_string */
 4,
+0,
+&resolution_table_array__ArrayIteratorparser_nodes__Prod,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1479, /* NativeArray[Phase] */
+277, /* ArrayIterator[Object] */
+1448, /* ArrayIterator[ANode] */
+1791, /* ArrayIterator[Prod] */
 },
 };
-const struct types resolution_table_array__NativeArrayphase__Phase = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__Prod = {
 0, /* dummy */
 {
-&type_phase__Phase, /* NativeArray#0: Phase */
-&type_array__NativeArrayphase__Phase, /* NativeArray[NativeArray#0]: NativeArray[Phase] */
+&type_array__AbstractArrayReadparser_nodes__Prod, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Prod] */
+&type_array__Arrayparser_nodes__Prod, /* Array[Iterator#0]: Array[Prod] */
 }
 };
-/* runtime type ArrayIterator[MModule] */
-const struct type type_array__ArrayIteratormodel_base__MModule = {
-1480,
-"ArrayIterator[MModule]", /* class_name_string */
+/* runtime type ArrayIterator[ANode] */
+const struct type type_array__ArrayIteratorparser_nodes__ANode = {
+1448,
+"ArrayIterator[ANode]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratormodel_base__MModule,
+&resolution_table_array__ArrayIteratorparser_nodes__ANode,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1480, /* ArrayIterator[MModule] */
+277, /* ArrayIterator[Object] */
+1448, /* ArrayIterator[ANode] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel_base__MModule = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel_base__MModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MModule] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_array__AbstractArrayReadparser_nodes__ANode, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ANode] */
+&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
 }
 };
-/* runtime type NativeArray[MModule] */
-const struct type type_array__NativeArraymodel_base__MModule = {
-1481,
-"NativeArray[MModule]", /* class_name_string */
-3,
+/* runtime type NativeArray[AModule] */
+const struct type type_array__NativeArrayparser_nodes__AModule = {
+2064,
+"NativeArray[AModule]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraymodel_base__MModule,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AModule,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1481, /* NativeArray[MModule] */
+185, /* NativeArray[Object] */
+1449, /* NativeArray[ANode] */
+1792, /* NativeArray[Prod] */
+2064, /* NativeArray[AModule] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel_base__MModule = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* NativeArray#0: MModule */
-&type_array__NativeArraymodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[MModule] */
+&type_parser_nodes__AModule, /* NativeArray#0: AModule */
+&type_array__NativeArrayparser_nodes__AModule, /* NativeArray[NativeArray#0]: NativeArray[AModule] */
 }
 };
-/* runtime type HashMap[MModule, POSetElement[MModule]] */
-const struct type type_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-282,
-"HashMap[MModule, POSetElement[MModule]]", /* class_name_string */
-2,
+/* runtime type NativeArray[Prod] */
+const struct type type_array__NativeArrayparser_nodes__Prod = {
+1792,
+"NativeArray[Prod]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule,
-3,
+&resolution_table_array__NativeArrayparser_nodes__Prod,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-282, /* HashMap[MModule, POSetElement[MModule]] */
+185, /* NativeArray[Object] */
+1449, /* NativeArray[ANode] */
+1792, /* NativeArray[Prod] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_array__NativeArrayparser_nodes__Prod = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, POSetElement[MModule]] */
-&type_hash_collection__HashMapValuesmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, POSetElement[MModule]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
-&type_model_base__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, POSetElement[MModule]] */
-&type_model_base__MModule, /* Map#0: MModule */
-&type_poset__POSetElementmodel_base__MModule, /* Map#1: POSetElement[MModule] */
-&type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, POSetElement[MModule]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, POSetElement[MModule]] not a live type) */
-&type_poset__POSetElementmodel_base__MModule, /* MapRead#1: POSetElement[MModule] */
-&type_model_base__MModule, /* HashCollection#0: MModule */
-&type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashCollection#1: HashMapNode[MModule, POSetElement[MModule]] */
+&type_parser_nodes__Prod, /* NativeArray#0: Prod */
+&type_array__NativeArrayparser_nodes__Prod, /* NativeArray[NativeArray#0]: NativeArray[Prod] */
 }
 };
-/* runtime type POSetElement[MModule] */
-const struct type type_poset__POSetElementmodel_base__MModule = {
-283,
-"POSetElement[MModule]", /* class_name_string */
-2,
-0,
-&resolution_table_poset__POSetElementmodel_base__MModule,
+/* runtime type NativeArray[ANode] */
+const struct type type_array__NativeArrayparser_nodes__ANode = {
+1449,
+"NativeArray[ANode]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArrayparser_nodes__ANode,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-283, /* POSetElement[MModule] */
+185, /* NativeArray[Object] */
+1449, /* NativeArray[ANode] */
 },
 };
-const struct types resolution_table_poset__POSetElementmodel_base__MModule = {
+const struct types resolution_table_array__NativeArrayparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel_base__MModule, /* HashSet[POSetElement#0]: HashSet[MModule] */
-&type_poset__POSetmodel_base__MModule, /* POSet[POSetElement#0]: POSet[MModule] */
-&type_model_base__MModule, /* POSetElement#0: MModule */
+&type_parser_nodes__ANode, /* NativeArray#0: ANode */
+&type_array__NativeArrayparser_nodes__ANode, /* NativeArray[NativeArray#0]: NativeArray[ANode] */
 }
 };
-/* runtime type HashMapKeys[String, Array[MModule]] */
-const struct type type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel_base__MModule = {
-1833,
-"HashMapKeys[String, Array[MModule]]", /* class_name_string */
+/* runtime type HashMapKeys[MModule, AModule] */
+const struct type type_hash_collection__HashMapKeysmodel_base__MModuleparser_nodes__AModule = {
+1793,
+"HashMapKeys[MModule, AModule]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_hash_collection__HashMapKeysmodel_base__MModuleparser_nodes__AModule,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-597, /* Collection[String] */
-1833, /* HashMapKeys[String, Array[MModule]] */
-166, /* Collection[Object] */
+588, /* Collection[MModule] */
+1793, /* HashMapKeys[MModule, AModule] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel_base__MModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Array[MModule]] */
-&type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel_base__MModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Array[MModule]] */
+&type_hash_collection__HashMapmodel_base__MModuleparser_nodes__AModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, AModule] */
+&type_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, AModule] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
+&type_model_base__MModule, /* RemovableCollection#0: MModule */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_model_base__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type HashMapValues[String, Array[MModule]] */
-const struct type type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel_base__MModule = {
-1834,
-"HashMapValues[String, Array[MModule]]", /* class_name_string */
+/* runtime type HashMapValues[MModule, AModule] */
+const struct type type_hash_collection__HashMapValuesmodel_base__MModuleparser_nodes__AModule = {
+2348,
+"HashMapValues[MModule, AModule]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel_base__MModule,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel_base__MModuleparser_nodes__AModule,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-1482, /* Collection[Array[MModule]] */
-1834, /* HashMapValues[String, Array[MModule]] */
-166, /* Collection[Object] */
+596, /* Collection[ANode] */
+2348, /* HashMapValues[MModule, AModule] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+-1, /* empty */
+1917, /* Collection[AModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel_base__MModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Array[MModule]] */
-&type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel_base__MModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Array[MModule]] */
+&type_hash_collection__HashMapmodel_base__MModuleparser_nodes__AModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, AModule] */
+&type_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, AModule] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_array__Arraymodel_base__MModule, /* RemovableCollection#0: Array[MModule] */
+&type_parser_nodes__AModule, /* RemovableCollection#0: AModule */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_array__Arraymodel_base__MModule, /* Collection#0: Array[MModule] */
-&type_abstract_collection__Collectionarray__Arraymodel_base__MModule, /* Collection[Collection#0]: Collection[Array[MModule]] */
+&type_parser_nodes__AModule, /* Collection#0: AModule */
+&type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Collection#0]: Collection[AModule] */
 }
 };
-/* runtime type Collection[Array[MModule]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel_base__MModule = {
-1482,
-"Collection[Array[MModule]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1482, /* Collection[Array[MModule]] */
--1, /* empty */
-166, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[String, Array[MModule]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
-284,
-"NativeArray[nullable HashMapNode[String, Array[MModule]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MModule, AModule]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
+300,
+"NativeArray[nullable HashMapNode[MModule, AModule]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-284, /* NativeArray[nullable HashMapNode[String, Array[MModule]]] */
+300, /* NativeArray[nullable HashMapNode[MModule, AModule]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* NativeArray#0: nullable HashMapNode[String, Array[MModule]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Array[MModule]]] */
+&type_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* NativeArray#0: nullable HashMapNode[MModule, AModule] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, AModule]] */
 }
 };
-/* runtime type HashMapNode[String, Array[MModule]] */
-const struct type type_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
-1483,
-"HashMapNode[String, Array[MModule]]", /* class_name_string */
+/* runtime type HashMapNode[MModule, AModule] */
+const struct type type_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
+1450,
+"HashMapNode[MModule, AModule]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-111, /* nullable HashMapNode[String, Array[MModule]] */
-1483, /* HashMapNode[String, Array[MModule]] */
+113, /* nullable HashMapNode[MModule, AModule] */
+1450, /* HashMapNode[MModule, AModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_array__Arraymodel_base__MModule, /* HashMapNode#1: Array[MModule] */
-&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* N: HashMapNode[String, Array[MModule]] */
-&type_string__String, /* HashNode#0: String */
+&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
+&type_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* N: HashMapNode[MModule, AModule] */
+&type_model_base__MModule, /* HashNode#0: MModule */
 }
 };
-/* runtime type nullable HashMapNode[String, Array[MModule]] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
-111,
-"nullable HashMapNode[String, Array[MModule]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MModule, AModule] */
+const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
+113,
+"nullable HashMapNode[MModule, AModule]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-111, /* nullable HashMapNode[String, Array[MModule]] */
+113, /* nullable HashMapNode[MModule, AModule] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_array__Arraymodel_base__MModule, /* HashMapNode#1: Array[MModule] */
-&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel_base__MModule, /* N: HashMapNode[String, Array[MModule]] */
-&type_string__String, /* HashNode#0: String */
+&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
+&type_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* N: HashMapNode[MModule, AModule] */
+&type_model_base__MModule, /* HashNode#0: MModule */
 }
 };
-/* runtime type HashMapIterator[String, Array[MModule]] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel_base__MModule = {
-1484,
-"HashMapIterator[String, Array[MModule]]", /* class_name_string */
+/* runtime type HashMapIterator[MModule, AModule] */
+const struct type type_hash_collection__HashMapIteratormodel_base__MModuleparser_nodes__AModule = {
+1451,
+"HashMapIterator[MModule, AModule]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_hash_collection__HashMapIteratormodel_base__MModuleparser_nodes__AModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-285, /* MapIterator[String, Array[MModule]] */
-1484, /* HashMapIterator[String, Array[MModule]] */
+301, /* MapIterator[MModule, AModule] */
+1451, /* HashMapIterator[MModule, AModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel_base__MModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Array[MModule]] */
+&type_hash_collection__HashMapmodel_base__MModuleparser_nodes__AModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, AModule] */
 }
 };
-/* runtime type MapIterator[String, Array[MModule]] */
-const struct type type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel_base__MModule = {
-285,
-"MapIterator[String, Array[MModule]]", /* class_name_string */
+/* runtime type MapIterator[MModule, AModule] */
+const struct type type_abstract_collection__MapIteratormodel_base__MModuleparser_nodes__AModule = {
+301,
+"MapIterator[MModule, AModule]", /* class_name_string */
 2,
 0,
 NULL,
@@ -5858,1053 +5912,978 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-285, /* MapIterator[String, Array[MModule]] */
+301, /* MapIterator[MModule, AModule] */
 },
 };
-/* runtime type ArrayIterator[MClass] */
-const struct type type_array__ArrayIteratormodel__MClass = {
-1835,
-"ArrayIterator[MClass]", /* class_name_string */
-4,
+/* runtime type HashMapKeys[MClassDef, AClassdef] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef = {
+1794,
+"HashMapKeys[MClassDef, AClassdef]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratormodel__MClass,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-286, /* ArrayIterator[nullable MClass] */
-1835, /* ArrayIterator[MClass] */
+591, /* Collection[MClassDef] */
+1794, /* HashMapKeys[MClassDef, AClassdef] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MClass] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassDef, AClassdef] */
+&type_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassDef, AClassdef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassDef, /* Collection#0: MClassDef */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
 }
 };
-/* runtime type ArrayIterator[nullable MClass] */
-const struct type type_array__ArrayIteratornullable_model__MClass = {
-286,
-"ArrayIterator[nullable MClass]", /* class_name_string */
+/* runtime type HashMapValues[MClassDef, AClassdef] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef = {
+2349,
+"HashMapValues[MClassDef, AClassdef]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratornullable_model__MClass,
-4,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
+596, /* Collection[ANode] */
+2349, /* HashMapValues[MClassDef, AClassdef] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
 -1, /* empty */
-286, /* ArrayIterator[nullable MClass] */
+1926, /* Collection[AClassdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratornullable_model__MClass = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadnullable_model__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MClass] */
-&type_array__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[nullable MClass] */
+&type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassDef, AClassdef] */
+&type_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassDef, AClassdef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
+&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
 }
 };
-/* runtime type NativeArray[MClass] */
-const struct type type_array__NativeArraymodel__MClass = {
-1836,
-"NativeArray[MClass]", /* class_name_string */
-4,
+/* runtime type NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
+302,
+"NativeArray[nullable HashMapNode[MClassDef, AClassdef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraymodel__MClass,
-5,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-287, /* NativeArray[nullable MClass] */
-1836, /* NativeArray[MClass] */
+302, /* NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MClass = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_model__MClass, /* NativeArray#0: MClass */
-&type_array__NativeArraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[MClass] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* NativeArray#0: nullable HashMapNode[MClassDef, AClassdef] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
 }
 };
-/* runtime type NativeArray[nullable MClass] */
-const struct type type_array__NativeArraynullable_model__MClass = {
-287,
-"NativeArray[nullable MClass]", /* class_name_string */
+/* runtime type HashMapNode[MClassDef, AClassdef] */
+const struct type type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
+1452,
+"HashMapNode[MClassDef, AClassdef]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_model__MClass,
+&resolution_table_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-287, /* NativeArray[nullable MClass] */
-},
-};
-const struct types resolution_table_array__NativeArraynullable_model__MClass = {
-0, /* dummy */
-{
-&type_nullable_model__MClass, /* NativeArray#0: nullable MClass */
-&type_array__NativeArraynullable_model__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable MClass] */
-}
-};
-/* runtime type ArrayIterator[MProperty] */
-const struct type type_array__ArrayIteratormodel__MProperty = {
-2115,
-"ArrayIterator[MProperty]", /* class_name_string */
-5,
-0,
-&resolution_table_array__ArrayIteratormodel__MProperty,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-279, /* ArrayIterator[Object] */
-288, /* ArrayIterator[nullable MProperty] */
-1485, /* ArrayIterator[PropertyLayoutElement] */
-2115, /* ArrayIterator[MProperty] */
+114, /* nullable HashMapNode[MClassDef, AClassdef] */
+1452, /* HashMapNode[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MProperty] */
-&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
+&type_model__MClassDef, /* HashMapNode#0: MClassDef */
+&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
+&type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* N: HashMapNode[MClassDef, AClassdef] */
+&type_model__MClassDef, /* HashNode#0: MClassDef */
 }
 };
-/* runtime type ArrayIterator[PropertyLayoutElement] */
-const struct type type_array__ArrayIteratorlayout_builders__PropertyLayoutElement = {
-1485,
-"ArrayIterator[PropertyLayoutElement]", /* class_name_string */
-4,
-0,
-&resolution_table_array__ArrayIteratorlayout_builders__PropertyLayoutElement,
-5,
+/* runtime type nullable HashMapNode[MClassDef, AClassdef] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
+114,
+"nullable HashMapNode[MClassDef, AClassdef]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-279, /* ArrayIterator[Object] */
 -1, /* empty */
-1485, /* ArrayIterator[PropertyLayoutElement] */
+114, /* nullable HashMapNode[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadlayout_builders__PropertyLayoutElement, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[PropertyLayoutElement] */
-&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[PropertyLayoutElement] */
+&type_model__MClassDef, /* HashMapNode#0: MClassDef */
+&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
+&type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* N: HashMapNode[MClassDef, AClassdef] */
+&type_model__MClassDef, /* HashNode#0: MClassDef */
 }
 };
-/* runtime type ArrayIterator[nullable MProperty] */
-const struct type type_array__ArrayIteratornullable_model__MProperty = {
-288,
-"ArrayIterator[nullable MProperty]", /* class_name_string */
+/* runtime type HashMapIterator[MClassDef, AClassdef] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef = {
+1453,
+"HashMapIterator[MClassDef, AClassdef]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratornullable_model__MProperty,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-288, /* ArrayIterator[nullable MProperty] */
-},
-};
-const struct types resolution_table_array__ArrayIteratornullable_model__MProperty = {
-0, /* dummy */
-{
-&type_array__AbstractArrayReadnullable_model__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MProperty] */
-&type_array__Arraynullable_model__MProperty, /* Array[Iterator#0]: Array[nullable MProperty] */
-}
-};
-/* runtime type NativeArray[MProperty] */
-const struct type type_array__NativeArraymodel__MProperty = {
-2116,
-"NativeArray[MProperty]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArraymodel__MProperty,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-187, /* NativeArray[Object] */
-289, /* NativeArray[nullable MProperty] */
-1486, /* NativeArray[PropertyLayoutElement] */
-2116, /* NativeArray[MProperty] */
+303, /* MapIterator[MClassDef, AClassdef] */
+1453, /* HashMapIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_model__MProperty, /* NativeArray#0: MProperty */
-&type_array__NativeArraymodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[MProperty] */
+&type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassDef, AClassdef] */
 }
 };
-/* runtime type NativeArray[PropertyLayoutElement] */
-const struct type type_array__NativeArraylayout_builders__PropertyLayoutElement = {
-1486,
-"NativeArray[PropertyLayoutElement]", /* class_name_string */
-4,
+/* runtime type MapIterator[MClassDef, AClassdef] */
+const struct type type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef = {
+303,
+"MapIterator[MClassDef, AClassdef]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraylayout_builders__PropertyLayoutElement,
-5,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
--1, /* empty */
-1486, /* NativeArray[PropertyLayoutElement] */
+303, /* MapIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_array__NativeArraylayout_builders__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_layout_builders__PropertyLayoutElement, /* NativeArray#0: PropertyLayoutElement */
-&type_array__NativeArraylayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[PropertyLayoutElement] */
-}
-};
-/* runtime type NativeArray[nullable MProperty] */
-const struct type type_array__NativeArraynullable_model__MProperty = {
-289,
-"NativeArray[nullable MProperty]", /* class_name_string */
+/* runtime type HashMapKeys[MPropDef, APropdef] */
+const struct type type_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef = {
+2350,
+"HashMapKeys[MPropDef, APropdef]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_model__MProperty,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
+188, /* Collection[nullable MPropDef] */
+2350, /* HashMapKeys[MPropDef, APropdef] */
+164, /* Collection[Object] */
+590, /* Collection[PropertyLayoutElement] */
+-1, /* empty */
 -1, /* empty */
-289, /* NativeArray[nullable MProperty] */
+1920, /* Collection[MPropDef] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_nullable_model__MProperty, /* NativeArray#0: nullable MProperty */
-&type_array__NativeArraynullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable MProperty] */
-}
-};
-/* runtime type HashMap[MClassDef, POSetElement[MClassDef]] */
-const struct type type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef = {
-290,
-"HashMap[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef,
+&type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MPropDef, APropdef] */
+&type_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MPropDef, APropdef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MPropDef, /* RemovableCollection#0: MPropDef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MPropDef, /* Collection#0: MPropDef */
+&type_abstract_collection__Collectionmodel__MPropDef, /* Collection[Collection#0]: Collection[MPropDef] */
+}
+};
+/* runtime type HashMapValues[MPropDef, APropdef] */
+const struct type type_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef = {
+2351,
+"HashMapValues[MPropDef, APropdef]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-290, /* HashMap[MClassDef, POSetElement[MClassDef]] */
+596, /* Collection[ANode] */
+2351, /* HashMapValues[MPropDef, APropdef] */
+164, /* Collection[Object] */
+1739, /* Collection[Prod] */
+-1, /* empty */
+1927, /* Collection[APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MPropDef, APropdef] */
+&type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MPropDef, APropdef] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassDef, POSetElement[MClassDef]] */
-&type_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassDef, POSetElement[MClassDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
-&type_model__MClassDef, /* MapRead#0: MClassDef */
-&type_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassDef, POSetElement[MClassDef]] */
-&type_model__MClassDef, /* Map#0: MClassDef */
-&type_poset__POSetElementmodel__MClassDef, /* Map#1: POSetElement[MClassDef] */
-&type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassDef, POSetElement[MClassDef]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClassDef, POSetElement[MClassDef]] not a live type) */
-&type_poset__POSetElementmodel__MClassDef, /* MapRead#1: POSetElement[MClassDef] */
-&type_model__MClassDef, /* HashCollection#0: MClassDef */
-&type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashCollection#1: HashMapNode[MClassDef, POSetElement[MClassDef]] */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__APropdef, /* Collection#0: APropdef */
+&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
 }
 };
-/* runtime type POSetElement[MClassDef] */
-const struct type type_poset__POSetElementmodel__MClassDef = {
-291,
-"POSetElement[MClassDef]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
+304,
+"NativeArray[nullable HashMapNode[MPropDef, APropdef]]", /* class_name_string */
 2,
 0,
-&resolution_table_poset__POSetElementmodel__MClassDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-291, /* POSetElement[MClassDef] */
+304, /* NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
 },
 };
-const struct types resolution_table_poset__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MClassDef, /* HashSet[POSetElement#0]: HashSet[MClassDef] */
-&type_poset__POSetmodel__MClassDef, /* POSet[POSetElement#0]: POSet[MClassDef] */
-&type_model__MClassDef, /* POSetElement#0: MClassDef */
+&type_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* NativeArray#0: nullable HashMapNode[MPropDef, APropdef] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
 }
 };
-/* runtime type HashMap[MClassType, POSetElement[MClassType]] */
-const struct type type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1487,
-"HashMap[MClassType, POSetElement[MClassType]]", /* class_name_string */
+/* runtime type HashMapNode[MPropDef, APropdef] */
+const struct type type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
+1454,
+"HashMapNode[MPropDef, APropdef]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType,
+&resolution_table_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-292, /* HashMap[MType, POSetElement[MType]] */
-1487, /* HashMap[MClassType, POSetElement[MClassType]] */
+115, /* nullable HashMapNode[MPropDef, APropdef] */
+1454, /* HashMapNode[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, POSetElement[MClassType]] */
-&type_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, POSetElement[MClassType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
-&type_model__MClassType, /* MapRead#0: MClassType */
-&type_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, POSetElement[MClassType]] */
-&type_model__MClassType, /* Map#0: MClassType */
-&type_poset__POSetElementmodel__MClassType, /* Map#1: POSetElement[MClassType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, POSetElement[MClassType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClassType, POSetElement[MClassType]] not a live type) */
-&type_poset__POSetElementmodel__MClassType, /* MapRead#1: POSetElement[MClassType] */
-&type_model__MClassType, /* HashCollection#0: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashCollection#1: HashMapNode[MClassType, POSetElement[MClassType]] */
+&type_model__MPropDef, /* HashMapNode#0: MPropDef */
+&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
+&type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* N: HashMapNode[MPropDef, APropdef] */
+&type_model__MPropDef, /* HashNode#0: MPropDef */
 }
 };
-/* runtime type HashMap[MType, POSetElement[MType]] */
-const struct type type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType = {
-292,
-"HashMap[MType, POSetElement[MType]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MPropDef, APropdef] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
+115,
+"nullable HashMapNode[MPropDef, APropdef]", /* class_name_string */
 2,
-0,
-&resolution_table_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-292, /* HashMap[MType, POSetElement[MType]] */
+-1, /* empty */
+115, /* nullable HashMapNode[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, POSetElement[MType]] */
-&type_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, POSetElement[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, POSetElement[MType]] */
-&type_model__MType, /* Map#0: MType */
-&type_poset__POSetElementmodel__MType, /* Map#1: POSetElement[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, POSetElement[MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, POSetElement[MType]] not a live type) */
-&type_poset__POSetElementmodel__MType, /* MapRead#1: POSetElement[MType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* HashCollection#1: HashMapNode[MType, POSetElement[MType]] */
+&type_model__MPropDef, /* HashMapNode#0: MPropDef */
+&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
+&type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* N: HashMapNode[MPropDef, APropdef] */
+&type_model__MPropDef, /* HashNode#0: MPropDef */
 }
 };
-/* runtime type POSetElement[MClassType] */
-const struct type type_poset__POSetElementmodel__MClassType = {
-1488,
-"POSetElement[MClassType]", /* class_name_string */
+/* runtime type HashMapIterator[MPropDef, APropdef] */
+const struct type type_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef = {
+1455,
+"HashMapIterator[MPropDef, APropdef]", /* class_name_string */
 3,
 0,
-&resolution_table_poset__POSetElementmodel__MClassType,
+&resolution_table_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-293, /* POSetElement[MType] */
-1488, /* POSetElement[MClassType] */
+305, /* MapIterator[MPropDef, APropdef] */
+1455, /* HashMapIterator[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_poset__POSetElementmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MClassType, /* HashSet[POSetElement#0]: HashSet[MClassType] */
-&type_poset__POSetmodel__MClassType, /* POSet[POSetElement#0]: POSet[MClassType] */
-&type_model__MClassType, /* POSetElement#0: MClassType */
+&type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MPropDef, APropdef] */
 }
 };
-/* runtime type POSetElement[MType] */
-const struct type type_poset__POSetElementmodel__MType = {
-293,
-"POSetElement[MType]", /* class_name_string */
+/* runtime type MapIterator[MPropDef, APropdef] */
+const struct type type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef = {
+305,
+"MapIterator[MPropDef, APropdef]", /* class_name_string */
 2,
 0,
-&resolution_table_poset__POSetElementmodel__MType,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-293, /* POSetElement[MType] */
+305, /* MapIterator[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_poset__POSetElementmodel__MType = {
+/* runtime type HashSetNode[MModule] */
+const struct type type_hash_collection__HashSetNodemodel_base__MModule = {
+2065,
+"HashSetNode[MModule]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetNodemodel_base__MModule,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+116, /* nullable HashSetNode[Object] */
+306, /* nullable HashSetNode[MModule] */
+1456, /* HashSetNode[Object] */
+2065, /* HashSetNode[MModule] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetNodemodel_base__MModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MType, /* HashSet[POSetElement#0]: HashSet[MType] */
-&type_poset__POSetmodel__MType, /* POSet[POSetElement#0]: POSet[MType] */
-&type_model__MType, /* POSetElement#0: MType */
+&type_model_base__MModule, /* HashSetNode#0: MModule */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel_base__MModule, /* N: HashSetNode[MModule] */
+&type_model_base__MModule, /* HashNode#0: MModule */
 }
 };
-/* runtime type HashMapKeys[String, Array[MClass]] */
-const struct type type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass = {
-1837,
-"HashMapKeys[String, Array[MClass]]", /* class_name_string */
-3,
+/* runtime type HashSetNode[Object] */
+const struct type type_hash_collection__HashSetNodekernel__Object = {
+1456,
+"HashSetNode[Object]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass,
+&resolution_table_hash_collection__HashSetNodekernel__Object,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-597, /* Collection[String] */
-1837, /* HashMapKeys[String, Array[MClass]] */
-166, /* Collection[Object] */
+116, /* nullable HashSetNode[Object] */
+-1, /* empty */
+1456, /* HashSetNode[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashSetNodekernel__Object = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Array[MClass]] */
-&type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Array[MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
-NULL, /* empty */
-NULL, /* empty */
+&type_kernel__Object, /* HashSetNode#0: Object */
 NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_hash_collection__HashSetNodekernel__Object, /* N: HashSetNode[Object] */
+&type_kernel__Object, /* HashNode#0: Object */
 }
 };
-/* runtime type HashMapValues[String, Array[MClass]] */
-const struct type type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass = {
-2117,
-"HashMapValues[String, Array[MClass]]", /* class_name_string */
+/* runtime type nullable HashSetNode[MModule] */
+const struct type type_nullable_hash_collection__HashSetNodemodel_base__MModule = {
+306,
+"nullable HashSetNode[MModule]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass,
-6,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodemodel_base__MModule,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
-2117, /* HashMapValues[String, Array[MClass]] */
-166, /* Collection[Object] */
-1838, /* Collection[Array[MClass]] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+306, /* nullable HashSetNode[MModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel_base__MModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Array[MClass]] */
-&type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Array[MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
-NULL, /* empty */
-NULL, /* empty */
+&type_model_base__MModule, /* HashSetNode#0: MModule */
 NULL, /* empty */
-&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
+&type_hash_collection__HashSetNodemodel_base__MModule, /* N: HashSetNode[MModule] */
+&type_model_base__MModule, /* HashNode#0: MModule */
 }
 };
-/* runtime type Collection[Array[MClass]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel__MClass = {
-1838,
-"Collection[Array[MClass]]", /* class_name_string */
-5,
-0,
-NULL,
-6,
+/* runtime type nullable HashSetNode[Object] */
+const struct type type_nullable_hash_collection__HashSetNodekernel__Object = {
+116,
+"nullable HashSetNode[Object]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodekernel__Object,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
 -1, /* empty */
-166, /* Collection[Object] */
-1838, /* Collection[Array[MClass]] */
+116, /* nullable HashSetNode[Object] */
 },
 };
-/* runtime type Collection[Array[nullable MClass]] */
-const struct type type_abstract_collection__Collectionarray__Arraynullable_model__MClass = {
-1489,
-"Collection[Array[nullable MClass]]", /* class_name_string */
-2,
+const struct types resolution_table_nullable_hash_collection__HashSetNodekernel__Object = {
+0, /* dummy */
+{
+&type_kernel__Object, /* HashSetNode#0: Object */
+NULL, /* empty */
+&type_hash_collection__HashSetNodekernel__Object, /* N: HashSetNode[Object] */
+&type_kernel__Object, /* HashNode#0: Object */
+}
+};
+/* runtime type HashSetIterator[MModule] */
+const struct type type_hash_collection__HashSetIteratormodel_base__MModule = {
+1457,
+"HashSetIterator[MModule]", /* class_name_string */
+3,
 0,
-NULL,
-5,
+&resolution_table_hash_collection__HashSetIteratormodel_base__MModule,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
--1, /* empty */
-166, /* Collection[Object] */
+307, /* HashSetIterator[Object] */
+1457, /* HashSetIterator[MModule] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[String, Array[MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
-294,
-"NativeArray[nullable HashMapNode[String, Array[MClass]]]", /* class_name_string */
+const struct types resolution_table_hash_collection__HashSetIteratormodel_base__MModule = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetmodel_base__MModule, /* HashSet[HashSetIterator#0]: HashSet[MModule] */
+&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+}
+};
+/* runtime type HashSetIterator[Object] */
+const struct type type_hash_collection__HashSetIteratorkernel__Object = {
+307,
+"HashSetIterator[Object]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass,
+&resolution_table_hash_collection__HashSetIteratorkernel__Object,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-294, /* NativeArray[nullable HashMapNode[String, Array[MClass]]] */
+307, /* HashSetIterator[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashSetIteratorkernel__Object = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* NativeArray#0: nullable HashMapNode[String, Array[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Array[MClass]]] */
+&type_hash_collection__HashSetkernel__Object, /* HashSet[HashSetIterator#0]: HashSet[Object] */
+&type_array__Arraykernel__Object, /* Array[Iterator#0]: Array[Object] */
 }
 };
-/* runtime type HashMapNode[String, Array[MClass]] */
-const struct type type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
-1490,
-"HashMapNode[String, Array[MClass]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[MModule]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule = {
+1458,
+"NativeArray[nullable HashSetNode[MModule]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-112, /* nullable HashMapNode[String, Array[MClass]] */
-1490, /* HashMapNode[String, Array[MClass]] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1458, /* NativeArray[nullable HashSetNode[MModule]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
-&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* N: HashMapNode[String, Array[MClass]] */
-&type_string__String, /* HashNode#0: String */
+&type_nullable_hash_collection__HashSetNodemodel_base__MModule, /* NativeArray#0: nullable HashSetNode[MModule] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MModule]] */
 }
 };
-/* runtime type nullable HashMapNode[String, Array[MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
-112,
-"nullable HashMapNode[String, Array[MClass]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[Object]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object = {
+308,
+"NativeArray[nullable HashSetNode[Object]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-112, /* nullable HashMapNode[String, Array[MClass]] */
+1, /* Object */
+308, /* NativeArray[nullable HashSetNode[Object]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
-&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MClass, /* N: HashMapNode[String, Array[MClass]] */
-&type_string__String, /* HashNode#0: String */
+&type_nullable_hash_collection__HashSetNodekernel__Object, /* NativeArray#0: nullable HashSetNode[Object] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Object]] */
 }
 };
-/* runtime type HashMapIterator[String, Array[MClass]] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass = {
-1491,
-"HashMapIterator[String, Array[MClass]]", /* class_name_string */
+/* runtime type ArrayIterator[MClassDef] */
+const struct type type_array__ArrayIteratormodel__MClassDef = {
+1459,
+"ArrayIterator[MClassDef]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass,
+&resolution_table_array__ArrayIteratormodel__MClassDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-295, /* MapIterator[String, Array[MClass]] */
-1491, /* HashMapIterator[String, Array[MClass]] */
+277, /* ArrayIterator[Object] */
+1459, /* ArrayIterator[MClassDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_array__ArrayIteratormodel__MClassDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Array[MClass]] */
+&type_array__AbstractArrayReadmodel__MClassDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MClassDef] */
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
 }
 };
-/* runtime type MapIterator[String, Array[MClass]] */
-const struct type type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass = {
-295,
-"MapIterator[String, Array[MClass]]", /* class_name_string */
-2,
-0,
-NULL,
+/* runtime type NativeArray[MClassDef] */
+const struct type type_array__NativeArraymodel__MClassDef = {
+1460,
+"NativeArray[MClassDef]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraymodel__MClassDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-295, /* MapIterator[String, Array[MClass]] */
+185, /* NativeArray[Object] */
+1460, /* NativeArray[MClassDef] */
 },
 };
-/* runtime type HashMapKeys[String, Array[MProperty]] */
-const struct type type_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty = {
-1839,
-"HashMapKeys[String, Array[MProperty]]", /* class_name_string */
-3,
+const struct types resolution_table_array__NativeArraymodel__MClassDef = {
+0, /* dummy */
+{
+&type_model__MClassDef, /* NativeArray#0: MClassDef */
+&type_array__NativeArraymodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[MClassDef] */
+}
+};
+/* runtime type HashMapKeys[MClass, Set[MProperty]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty = {
+2352,
+"HashMapKeys[MClass, Set[MProperty]]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-597, /* Collection[String] */
-1839, /* HashMapKeys[String, Array[MProperty]] */
-166, /* Collection[Object] */
+171, /* Collection[nullable MClass] */
+2066, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
+164, /* Collection[Object] */
+1733, /* Collection[MClass] */
+2352, /* HashMapKeys[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Array[MProperty]] */
-&type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Array[MProperty]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MProperty]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[MProperty]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
+&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[String, Array[MProperty]] */
-const struct type type_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty = {
-1840,
-"HashMapValues[String, Array[MProperty]]", /* class_name_string */
+/* runtime type HashMapKeys[MClass, Set[PropertyLayoutElement]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+2066,
+"HashMapKeys[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1492, /* Collection[Array[MProperty]] */
-1840, /* HashMapValues[String, Array[MProperty]] */
-166, /* Collection[Object] */
+171, /* Collection[nullable MClass] */
+2066, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
+164, /* Collection[Object] */
+1733, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Array[MProperty]] */
-&type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Array[MProperty]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[PropertyLayoutElement]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_array__Arraymodel__MProperty, /* RemovableCollection#0: Array[MProperty] */
+&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_array__Arraymodel__MProperty, /* Collection#0: Array[MProperty] */
-&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Collection#0]: Collection[Array[MProperty]] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type Collection[Array[MProperty]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel__MProperty = {
-1492,
-"Collection[Array[MProperty]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1492, /* Collection[Array[MProperty]] */
--1, /* empty */
-166, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
-296,
-"NativeArray[nullable HashMapNode[String, Array[MProperty]]]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MClass, Set[MProperty]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty = {
+2353,
+"HashMapValues[MClass, Set[MProperty]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty,
-3,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-296, /* NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
+1461, /* Collection[Set[PropertyLayoutElement]] */
+1795, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
+164, /* Collection[Object] */
+1796, /* Collection[Set[MProperty]] */
+2353, /* HashMapValues[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* NativeArray#0: nullable HashMapNode[String, Array[MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Array[MProperty]]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MProperty]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MProperty, /* RemovableCollection#0: Set[MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MProperty, /* Collection#0: Set[MProperty] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Collection#0]: Collection[Set[MProperty]] */
 }
 };
-/* runtime type HashMapNode[String, Array[MProperty]] */
-const struct type type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
-1493,
-"HashMapNode[String, Array[MProperty]]", /* class_name_string */
+/* runtime type HashMapValues[MClass, Set[PropertyLayoutElement]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+1795,
+"HashMapValues[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty,
-4,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-113, /* nullable HashMapNode[String, Array[MProperty]] */
-1493, /* HashMapNode[String, Array[MProperty]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
-0, /* dummy */
-{
-&type_string__String, /* HashMapNode#0: String */
-&type_array__Arraymodel__MProperty, /* HashMapNode#1: Array[MProperty] */
-&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* N: HashMapNode[String, Array[MProperty]] */
-&type_string__String, /* HashNode#0: String */
-}
-};
-/* runtime type nullable HashMapNode[String, Array[MProperty]] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
-113,
-"nullable HashMapNode[String, Array[MProperty]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-113, /* nullable HashMapNode[String, Array[MProperty]] */
+1461, /* Collection[Set[PropertyLayoutElement]] */
+1795, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_array__Arraymodel__MProperty, /* HashMapNode#1: Array[MProperty] */
-&type_hash_collection__HashMapNodestring__Stringarray__Arraymodel__MProperty, /* N: HashMapNode[String, Array[MProperty]] */
-&type_string__String, /* HashNode#0: String */
-}
-};
-/* runtime type HashMapIterator[String, Array[MProperty]] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty = {
-1494,
-"HashMapIterator[String, Array[MProperty]]", /* class_name_string */
-3,
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[PropertyLayoutElement]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* RemovableCollection#0: Set[PropertyLayoutElement] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[Set[PropertyLayoutElement]] */
+}
+};
+/* runtime type Collection[Set[MProperty]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty = {
+1796,
+"Collection[Set[MProperty]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty,
-4,
+NULL,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-297, /* MapIterator[String, Array[MProperty]] */
-1494, /* HashMapIterator[String, Array[MProperty]] */
+1461, /* Collection[Set[PropertyLayoutElement]] */
+-1, /* empty */
+164, /* Collection[Object] */
+1796, /* Collection[Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringarray__Arraymodel__MProperty = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapstring__Stringarray__Arraymodel__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Array[MProperty]] */
-}
-};
-/* runtime type MapIterator[String, Array[MProperty]] */
-const struct type type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty = {
-297,
-"MapIterator[String, Array[MProperty]]", /* class_name_string */
+/* runtime type Collection[Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+1461,
+"Collection[Set[PropertyLayoutElement]]", /* class_name_string */
 2,
 0,
 NULL,
-3,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-297, /* MapIterator[String, Array[MProperty]] */
+1461, /* Collection[Set[PropertyLayoutElement]] */
+-1, /* empty */
+164, /* Collection[Object] */
 },
 };
-/* runtime type HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-298,
-"HashMap[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
+1462,
+"NativeArray[nullable HashMapNode[MClass, Set[MProperty]]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-298, /* HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+309, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+1462, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
-&type_model_base__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_model_base__MModule, /* Map#0: MModule */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Map#1: HashMap2[MType, String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap2[MType, String, nullable MProperty]] not a live type) */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapRead#1: HashMap2[MType, String, nullable MProperty] */
-&type_model_base__MModule, /* HashCollection#0: MModule */
-&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* NativeArray#0: nullable HashMapNode[MClass, Set[MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
 }
 };
-/* runtime type HashMap2[MType, String, nullable MProperty] */
-const struct type type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-299,
-"HashMap2[MType, String, nullable MProperty]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+309,
+"NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]]", /* class_name_string */
 2,
 0,
-&resolution_table_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-299, /* HashMap2[MType, String, nullable MProperty] */
+309, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
 },
 };
-const struct types resolution_table_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MType, HashMap[String, nullable MProperty]] */
-&type_model__MType, /* HashMap2#0: MType */
-&type_string__String, /* HashMap2#1: String */
-&type_nullable_model__MProperty, /* HashMap2#2: nullable MProperty */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[String, nullable MProperty] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray#0: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
 }
 };
-/* runtime type ArrayIterator[String] */
-const struct type type_array__ArrayIteratorstring__String = {
-1495,
-"ArrayIterator[String]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MClass, Set[MProperty]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
+2067,
+"HashMapNode[MClass, Set[MProperty]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__ArrayIteratorstring__String,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1495, /* ArrayIterator[String] */
+117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+310, /* nullable HashMapNode[MClass, Set[MProperty]] */
+1463, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
+-1, /* empty */
+2067, /* HashMapNode[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorstring__String = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadstring__String, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setmodel__MProperty, /* HashMapNode#1: Set[MProperty] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapKeys[String, AModule] */
-const struct type type_hash_collection__HashMapKeysstring__Stringparser_nodes__AModule = {
-1841,
-"HashMapKeys[String, AModule]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MClass, Set[PropertyLayoutElement]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+1463,
+"HashMapNode[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringparser_nodes__AModule,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-597, /* Collection[String] */
-1841, /* HashMapKeys[String, AModule] */
-166, /* Collection[Object] */
+117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+-1, /* empty */
+1463, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringparser_nodes__AModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, AModule] */
-&type_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, AModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapNode#1: Set[PropertyLayoutElement] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* N: HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapValues[String, AModule] */
-const struct type type_hash_collection__HashMapValuesstring__Stringparser_nodes__AModule = {
-2388,
-"HashMapValues[String, AModule]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClass, Set[MProperty]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
+310,
+"nullable HashMapNode[MClass, Set[MProperty]]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringparser_nodes__AModule,
-8,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-2388, /* HashMapValues[String, AModule] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
 -1, /* empty */
-1968, /* Collection[AModule] */
+117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+310, /* nullable HashMapNode[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringparser_nodes__AModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, AModule] */
-&type_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, AModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AModule, /* RemovableCollection#0: AModule */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AModule, /* Collection#0: AModule */
-&type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Collection#0]: Collection[AModule] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setmodel__MProperty, /* HashMapNode#1: Set[MProperty] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[String, AModule]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
-300,
-"NativeArray[nullable HashMapNode[String, AModule]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+117,
+"nullable HashMapNode[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-300, /* NativeArray[nullable HashMapNode[String, AModule]] */
+-1, /* empty */
+117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* NativeArray#0: nullable HashMapNode[String, AModule] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, AModule]] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapNode#1: Set[PropertyLayoutElement] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* N: HashMapNode[MClass, Set[PropertyLayoutElement]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapNode[String, AModule] */
-const struct type type_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
-1496,
-"HashMapNode[String, AModule]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MClass, Set[MProperty]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+2068,
+"HashMapIterator[MClass, Set[MProperty]]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringparser_nodes__AModule,
-4,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-114, /* nullable HashMapNode[String, AModule] */
-1496, /* HashMapNode[String, AModule] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
-0, /* dummy */
-{
-&type_string__String, /* HashMapNode#0: String */
-&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
-&type_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* N: HashMapNode[String, AModule] */
-&type_string__String, /* HashNode#0: String */
-}
-};
-/* runtime type nullable HashMapNode[String, AModule] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
-114,
-"nullable HashMapNode[String, AModule]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule,
-3,
-{
-0, /* nullable Object */
+311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
+1464, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
+1465, /* MapIterator[MClass, Set[MProperty]] */
 -1, /* empty */
-114, /* nullable HashMapNode[String, AModule] */
+2068, /* HashMapIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringparser_nodes__AModule = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
-&type_hash_collection__HashMapNodestring__Stringparser_nodes__AModule, /* N: HashMapNode[String, AModule] */
-&type_string__String, /* HashNode#0: String */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MProperty]] */
 }
 };
-/* runtime type HashMapIterator[String, AModule] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringparser_nodes__AModule = {
-1497,
-"HashMapIterator[String, AModule]", /* class_name_string */
+/* runtime type HashMapIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+1464,
+"HashMapIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringparser_nodes__AModule,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-301, /* MapIterator[String, AModule] */
-1497, /* HashMapIterator[String, AModule] */
+311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
+1464, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringparser_nodes__AModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, AModule] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type MapIterator[String, AModule] */
-const struct type type_abstract_collection__MapIteratorstring__Stringparser_nodes__AModule = {
-301,
-"MapIterator[String, AModule]", /* class_name_string */
+/* runtime type MapIterator[MClass, Set[MProperty]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+1465,
+"MapIterator[MClass, Set[MProperty]]", /* class_name_string */
+4,
+0,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
+-1, /* empty */
+1465, /* MapIterator[MClass, Set[MProperty]] */
+},
+};
+/* runtime type MapIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+311,
+"MapIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 2,
 0,
 NULL,
@@ -6912,1056 +6891,1126 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-301, /* MapIterator[String, AModule] */
+311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-/* runtime type ArrayIterator[AModule] */
-const struct type type_array__ArrayIteratorparser_nodes__AModule = {
-2118,
-"ArrayIterator[AModule]", /* class_name_string */
-5,
+/* runtime type ArrayIterator[Option] */
+const struct type type_array__ArrayIteratoropts__Option = {
+1466,
+"ArrayIterator[Option]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AModule,
-6,
+&resolution_table_array__ArrayIteratoropts__Option,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2118, /* ArrayIterator[AModule] */
+277, /* ArrayIterator[Object] */
+1466, /* ArrayIterator[Option] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AModule = {
+const struct types resolution_table_array__ArrayIteratoropts__Option = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AModule] */
-&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
+&type_array__AbstractArrayReadopts__Option, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Option] */
+&type_array__Arrayopts__Option, /* Array[Iterator#0]: Array[Option] */
 }
 };
-/* runtime type ArrayIterator[Prod] */
-const struct type type_array__ArrayIteratorparser_nodes__Prod = {
-1842,
-"ArrayIterator[Prod]", /* class_name_string */
-4,
+/* runtime type HashMapKeys[String, Option] */
+const struct type type_hash_collection__HashMapKeysstring__Stringopts__Option = {
+1797,
+"HashMapKeys[String, Option]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__Prod,
+&resolution_table_hash_collection__HashMapKeysstring__Stringopts__Option,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
+595, /* Collection[String] */
+1797, /* HashMapKeys[String, Option] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__Prod = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__Prod, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Prod] */
-&type_array__Arrayparser_nodes__Prod, /* Array[Iterator#0]: Array[Prod] */
+&type_hash_collection__HashMapstring__Stringopts__Option, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Option] */
+&type_abstract_collection__MapKeysIteratorstring__Stringopts__Option, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Option] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type ArrayIterator[ANode] */
-const struct type type_array__ArrayIteratorparser_nodes__ANode = {
-1498,
-"ArrayIterator[ANode]", /* class_name_string */
+/* runtime type HashMapValues[String, Option] */
+const struct type type_hash_collection__HashMapValuesstring__Stringopts__Option = {
+1798,
+"HashMapValues[String, Option]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__ANode,
-4,
+&resolution_table_hash_collection__HashMapValuesstring__Stringopts__Option,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
+599, /* Collection[Option] */
+1798, /* HashMapValues[String, Option] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__ANode = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__ANode, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ANode] */
-&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
+&type_hash_collection__HashMapstring__Stringopts__Option, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Option] */
+&type_abstract_collection__MapValuesIteratorstring__Stringopts__Option, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Option] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_opts__Option, /* RemovableCollection#0: Option */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_opts__Option, /* Collection#0: Option */
+&type_abstract_collection__Collectionopts__Option, /* Collection[Collection#0]: Collection[Option] */
 }
 };
-/* runtime type NativeArray[AModule] */
-const struct type type_array__NativeArrayparser_nodes__AModule = {
-2119,
-"NativeArray[AModule]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[String, Option]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option = {
+312,
+"NativeArray[nullable HashMapNode[String, Option]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AModule,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2119, /* NativeArray[AModule] */
+312, /* NativeArray[nullable HashMapNode[String, Option]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AModule = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_parser_nodes__AModule, /* NativeArray#0: AModule */
-&type_array__NativeArrayparser_nodes__AModule, /* NativeArray[NativeArray#0]: NativeArray[AModule] */
+&type_nullable_hash_collection__HashMapNodestring__Stringopts__Option, /* NativeArray#0: nullable HashMapNode[String, Option] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Option]] */
 }
 };
-/* runtime type NativeArray[Prod] */
-const struct type type_array__NativeArrayparser_nodes__Prod = {
-1843,
-"NativeArray[Prod]", /* class_name_string */
-4,
+/* runtime type HashMapNode[String, Option] */
+const struct type type_hash_collection__HashMapNodestring__Stringopts__Option = {
+1467,
+"HashMapNode[String, Option]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayparser_nodes__Prod,
-5,
+&resolution_table_hash_collection__HashMapNodestring__Stringopts__Option,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
+118, /* nullable HashMapNode[String, Option] */
+1467, /* HashMapNode[String, Option] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__Prod = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_parser_nodes__Prod, /* NativeArray#0: Prod */
-&type_array__NativeArrayparser_nodes__Prod, /* NativeArray[NativeArray#0]: NativeArray[Prod] */
+&type_string__String, /* HashMapNode#0: String */
+&type_opts__Option, /* HashMapNode#1: Option */
+&type_hash_collection__HashMapNodestring__Stringopts__Option, /* N: HashMapNode[String, Option] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type NativeArray[ANode] */
-const struct type type_array__NativeArrayparser_nodes__ANode = {
-1499,
-"NativeArray[ANode]", /* class_name_string */
+/* runtime type nullable HashMapNode[String, Option] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringopts__Option = {
+118,
+"nullable HashMapNode[String, Option]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringopts__Option,
 3,
-0,
-&resolution_table_array__NativeArrayparser_nodes__ANode,
-4,
 {
 0, /* nullable Object */
-1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
+-1, /* empty */
+118, /* nullable HashMapNode[String, Option] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__ANode = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_parser_nodes__ANode, /* NativeArray#0: ANode */
-&type_array__NativeArrayparser_nodes__ANode, /* NativeArray[NativeArray#0]: NativeArray[ANode] */
+&type_string__String, /* HashMapNode#0: String */
+&type_opts__Option, /* HashMapNode#1: Option */
+&type_hash_collection__HashMapNodestring__Stringopts__Option, /* N: HashMapNode[String, Option] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type HashMapKeys[MModule, AModule] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModuleparser_nodes__AModule = {
-1844,
-"HashMapKeys[MModule, AModule]", /* class_name_string */
+/* runtime type HashMapIterator[String, Option] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringopts__Option = {
+1468,
+"HashMapIterator[String, Option]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModuleparser_nodes__AModule,
-5,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringopts__Option,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-590, /* Collection[MModule] */
-1844, /* HashMapKeys[MModule, AModule] */
-166, /* Collection[Object] */
+313, /* MapIterator[String, Option] */
+1468, /* HashMapIterator[String, Option] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleparser_nodes__AModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, AModule] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, AModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model_base__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
+&type_hash_collection__HashMapstring__Stringopts__Option, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Option] */
 }
 };
-/* runtime type HashMapValues[MModule, AModule] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModuleparser_nodes__AModule = {
-2389,
-"HashMapValues[MModule, AModule]", /* class_name_string */
+/* runtime type MapIterator[String, Option] */
+const struct type type_abstract_collection__MapIteratorstring__Stringopts__Option = {
+313,
+"MapIterator[String, Option]", /* class_name_string */
+2,
+0,
+NULL,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+313, /* MapIterator[String, Option] */
+},
+};
+/* runtime type ArrayIterator[Char] */
+const struct type type_array__ArrayIteratorkernel__Char = {
+1469,
+"ArrayIterator[Char]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModuleparser_nodes__AModule,
-8,
+&resolution_table_array__ArrayIteratorkernel__Char,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-2389, /* HashMapValues[MModule, AModule] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-1968, /* Collection[AModule] */
+277, /* ArrayIterator[Object] */
+1469, /* ArrayIterator[Char] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_array__ArrayIteratorkernel__Char = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleparser_nodes__AModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, AModule] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, AModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AModule, /* RemovableCollection#0: AModule */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AModule, /* Collection#0: AModule */
-&type_abstract_collection__Collectionparser_nodes__AModule, /* Collection[Collection#0]: Collection[AModule] */
+&type_array__AbstractArrayReadkernel__Char, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Char] */
+&type_array__Arraykernel__Char, /* Array[Iterator#0]: Array[Char] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MModule, AModule]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
-302,
-"NativeArray[nullable HashMapNode[MModule, AModule]]", /* class_name_string */
+/* runtime type Array[Char] */
+const struct type type_array__Arraykernel__Char = {
+2547,
+"Array[Char]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule,
-3,
+&resolution_table_array__Arraykernel__Char,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+2547, /* Array[Char] */
+163, /* SequenceRead[nullable Object] */
+164, /* Collection[Object] */
+602, /* Collection[Char] */
+1728, /* AbstractArrayRead[Object] */
+1918, /* SequenceRead[Char] */
+2423, /* AbstractArrayRead[Char] */
+1911, /* Array[Object] */
+},
+};
+const struct types resolution_table_array__Arraykernel__Char = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Char, /* Array[Array#0]: Array[Char] */
+&type_array__NativeArraykernel__Char, /* NativeArray[Array#0]: NativeArray[Char] */
+&type_kernel__Char, /* Sequence#0: Char */
+&type_kernel__Char, /* SimpleCollection#0: Char */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[Array#0]: Collection[Char] */
+&type_kernel__Char, /* Array#0: Char */
+&type_array__NativeArraykernel__Char, /* NativeArray[ArrayCapable#0]: NativeArray[Char] */
+&type_kernel__Char, /* AbstractArray#0: Char */
+&type_kernel__Char, /* RemovableCollection#0: Char */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[Sequence#0]: Collection[Char] */
+&type_array__Arraykernel__Char, /* Array[Sequence#0]: Array[Char] */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[SimpleCollection#0]: Collection[Char] */
+&type_kernel__Char, /* Collection#0: Char */
+&type_abstract_collection__Collectionkernel__Char, /* Collection[Collection#0]: Collection[Char] */
+&type_kernel__Char, /* SequenceRead#0: Char */
+&type_kernel__Char, /* AbstractArrayRead#0: Char */
+&type_array__Arraykernel__Char, /* Array[AbstractArrayRead#0]: Array[Char] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Char] not a live type) */
+&type_array__ArrayIteratorkernel__Char, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Char] */
+}
+};
+/* runtime type HashSetNode[MClassType] */
+const struct type type_hash_collection__HashSetNodemodel__MClassType = {
+2457,
+"HashSetNode[MClassType]", /* class_name_string */
+7,
+0,
+&resolution_table_hash_collection__HashSetNodemodel__MClassType,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-302, /* NativeArray[nullable HashMapNode[MModule, AModule]] */
+116, /* nullable HashSetNode[Object] */
+314, /* nullable HashSetNode[MType] */
+1456, /* HashSetNode[Object] */
+1470, /* nullable HashSetNode[MClassType] */
+2069, /* HashSetNode[MType] */
+2457, /* HashSetNode[MClassType] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_hash_collection__HashSetNodemodel__MClassType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* NativeArray#0: nullable HashMapNode[MModule, AModule] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, AModule]] */
+&type_model__MClassType, /* HashSetNode#0: MClassType */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MClassType, /* N: HashSetNode[MClassType] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type HashMapNode[MModule, AModule] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
-1500,
-"HashMapNode[MModule, AModule]", /* class_name_string */
-3,
+/* runtime type HashSetNode[MType] */
+const struct type type_hash_collection__HashSetNodemodel__MType = {
+2069,
+"HashSetNode[MType]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule,
-4,
+&resolution_table_hash_collection__HashSetNodemodel__MType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-115, /* nullable HashMapNode[MModule, AModule] */
-1500, /* HashMapNode[MModule, AModule] */
+116, /* nullable HashSetNode[Object] */
+314, /* nullable HashSetNode[MType] */
+1456, /* HashSetNode[Object] */
+-1, /* empty */
+2069, /* HashSetNode[MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_hash_collection__HashSetNodemodel__MType = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
-&type_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* N: HashMapNode[MModule, AModule] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_model__MType, /* HashSetNode#0: MType */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MType, /* N: HashSetNode[MType] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type nullable HashMapNode[MModule, AModule] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
-115,
-"nullable HashMapNode[MModule, AModule]", /* class_name_string */
-2,
+/* runtime type nullable HashSetNode[MClassType] */
+const struct type type_nullable_hash_collection__HashSetNodemodel__MClassType = {
+1470,
+"nullable HashSetNode[MClassType]", /* class_name_string */
+5,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule,
-3,
+&resolution_table_nullable_hash_collection__HashSetNodemodel__MClassType,
+6,
 {
 0, /* nullable Object */
 -1, /* empty */
-115, /* nullable HashMapNode[MModule, AModule] */
+116, /* nullable HashSetNode[Object] */
+314, /* nullable HashSetNode[MType] */
+-1, /* empty */
+1470, /* nullable HashSetNode[MClassType] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MClassType = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_parser_nodes__AModule, /* HashMapNode#1: AModule */
-&type_hash_collection__HashMapNodemodel_base__MModuleparser_nodes__AModule, /* N: HashMapNode[MModule, AModule] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_model__MClassType, /* HashSetNode#0: MClassType */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MClassType, /* N: HashSetNode[MClassType] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type HashMapIterator[MModule, AModule] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModuleparser_nodes__AModule = {
-1501,
-"HashMapIterator[MModule, AModule]", /* class_name_string */
+/* runtime type nullable HashSetNode[MType] */
+const struct type type_nullable_hash_collection__HashSetNodemodel__MType = {
+314,
+"nullable HashSetNode[MType]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModuleparser_nodes__AModule,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodemodel__MType,
 4,
 {
 0, /* nullable Object */
-1, /* Object */
-303, /* MapIterator[MModule, AModule] */
-1501, /* HashMapIterator[MModule, AModule] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+314, /* nullable HashSetNode[MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleparser_nodes__AModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, AModule] */
+&type_model__MType, /* HashSetNode#0: MType */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MType, /* N: HashSetNode[MType] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type MapIterator[MModule, AModule] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModuleparser_nodes__AModule = {
-303,
-"MapIterator[MModule, AModule]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-303, /* MapIterator[MModule, AModule] */
-},
-};
-/* runtime type HashMapKeys[MClassDef, AClassdef] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef = {
-1845,
-"HashMapKeys[MClassDef, AClassdef]", /* class_name_string */
-3,
+/* runtime type HashSetIterator[MClassType] */
+const struct type type_hash_collection__HashSetIteratormodel__MClassType = {
+1799,
+"HashSetIterator[MClassType]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef,
+&resolution_table_hash_collection__HashSetIteratormodel__MClassType,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-593, /* Collection[MClassDef] */
-1845, /* HashMapKeys[MClassDef, AClassdef] */
-166, /* Collection[Object] */
+307, /* HashSetIterator[Object] */
+1471, /* HashSetIterator[MType] */
+1799, /* HashSetIterator[MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashSetIteratormodel__MClassType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassDef, AClassdef] */
-&type_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassDef, AClassdef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassDef, /* Collection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
+&type_hash_collection__HashSetmodel__MClassType, /* HashSet[HashSetIterator#0]: HashSet[MClassType] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type HashMapValues[MClassDef, AClassdef] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef = {
-2390,
-"HashMapValues[MClassDef, AClassdef]", /* class_name_string */
+/* runtime type HashSetIterator[MType] */
+const struct type type_hash_collection__HashSetIteratormodel__MType = {
+1471,
+"HashSetIterator[MType]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef,
-8,
+&resolution_table_hash_collection__HashSetIteratormodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-2390, /* HashMapValues[MClassDef, AClassdef] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-1977, /* Collection[AClassdef] */
+307, /* HashSetIterator[Object] */
+1471, /* HashSetIterator[MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashSetIteratormodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassDef, AClassdef] */
-&type_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassDef, AClassdef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
+&type_hash_collection__HashSetmodel__MType, /* HashSet[HashSetIterator#0]: HashSet[MType] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
-304,
-"NativeArray[nullable HashMapNode[MClassDef, AClassdef]]", /* class_name_string */
-2,
+/* runtime type NativeArray[nullable HashSetNode[MClassType]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType = {
+1800,
+"NativeArray[nullable HashSetNode[MClassType]]", /* class_name_string */
+4,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef,
-3,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-304, /* NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1472, /* NativeArray[nullable HashSetNode[MType]] */
+1800, /* NativeArray[nullable HashSetNode[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* NativeArray#0: nullable HashMapNode[MClassDef, AClassdef] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassDef, AClassdef]] */
+&type_nullable_hash_collection__HashSetNodemodel__MClassType, /* NativeArray#0: nullable HashSetNode[MClassType] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MClassType]] */
 }
 };
-/* runtime type HashMapNode[MClassDef, AClassdef] */
-const struct type type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
-1502,
-"HashMapNode[MClassDef, AClassdef]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[MType]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType = {
+1472,
+"NativeArray[nullable HashSetNode[MType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashMapNode[MClassDef, AClassdef] */
-1502, /* HashMapNode[MClassDef, AClassdef] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1472, /* NativeArray[nullable HashSetNode[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashMapNode#0: MClassDef */
-&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
-&type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* N: HashMapNode[MClassDef, AClassdef] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_nullable_hash_collection__HashSetNodemodel__MType, /* NativeArray#0: nullable HashSetNode[MType] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MType]] */
 }
 };
-/* runtime type nullable HashMapNode[MClassDef, AClassdef] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
-116,
-"nullable HashMapNode[MClassDef, AClassdef]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef,
-3,
+/* runtime type HashSetNode[MClass] */
+const struct type type_hash_collection__HashSetNodemodel__MClass = {
+2070,
+"HashSetNode[MClass]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetNodemodel__MClass,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashMapNode[MClassDef, AClassdef] */
+1, /* Object */
+116, /* nullable HashSetNode[Object] */
+315, /* nullable HashSetNode[MClass] */
+1456, /* HashSetNode[Object] */
+2070, /* HashSetNode[MClass] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashSetNodemodel__MClass = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashMapNode#0: MClassDef */
-&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
-&type_hash_collection__HashMapNodemodel__MClassDefparser_nodes__AClassdef, /* N: HashMapNode[MClassDef, AClassdef] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_model__MClass, /* HashSetNode#0: MClass */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MClass, /* N: HashSetNode[MClass] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapIterator[MClassDef, AClassdef] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef = {
-1503,
-"HashMapIterator[MClassDef, AClassdef]", /* class_name_string */
+/* runtime type nullable HashSetNode[MClass] */
+const struct type type_nullable_hash_collection__HashSetNodemodel__MClass = {
+315,
+"nullable HashSetNode[MClass]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodemodel__MClass,
 4,
 {
 0, /* nullable Object */
-1, /* Object */
-305, /* MapIterator[MClassDef, AClassdef] */
-1503, /* HashMapIterator[MClassDef, AClassdef] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+315, /* nullable HashSetNode[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefparser_nodes__AClassdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassDef, AClassdef] */
+&type_model__MClass, /* HashSetNode#0: MClass */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MClass, /* N: HashSetNode[MClass] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type MapIterator[MClassDef, AClassdef] */
-const struct type type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef = {
-305,
-"MapIterator[MClassDef, AClassdef]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-305, /* MapIterator[MClassDef, AClassdef] */
-},
-};
-/* runtime type HashMapKeys[MPropDef, APropdef] */
-const struct type type_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef = {
-2391,
-"HashMapKeys[MPropDef, APropdef]", /* class_name_string */
+/* runtime type HashSetIterator[MClass] */
+const struct type type_hash_collection__HashSetIteratormodel__MClass = {
+1473,
+"HashSetIterator[MClass]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef,
-9,
+&resolution_table_hash_collection__HashSetIteratormodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-190, /* Collection[nullable MPropDef] */
-2391, /* HashMapKeys[MPropDef, APropdef] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
-1971, /* Collection[MPropDef] */
+307, /* HashSetIterator[Object] */
+1473, /* HashSetIterator[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashSetIteratormodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MPropDef, APropdef] */
-&type_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MPropDef, APropdef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MPropDef, /* RemovableCollection#0: MPropDef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MPropDef, /* Collection#0: MPropDef */
-&type_abstract_collection__Collectionmodel__MPropDef, /* Collection[Collection#0]: Collection[MPropDef] */
+&type_hash_collection__HashSetmodel__MClass, /* HashSet[HashSetIterator#0]: HashSet[MClass] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type HashMapValues[MPropDef, APropdef] */
-const struct type type_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef = {
-2392,
-"HashMapValues[MPropDef, APropdef]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[MClass]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass = {
+1474,
+"NativeArray[nullable HashSetNode[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef,
-8,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-2392, /* HashMapValues[MPropDef, APropdef] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-1978, /* Collection[APropdef] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1474, /* NativeArray[nullable HashSetNode[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MPropDef, APropdef] */
-&type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MPropDef, APropdef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__APropdef, /* Collection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
+&type_nullable_hash_collection__HashSetNodemodel__MClass, /* NativeArray#0: nullable HashSetNode[MClass] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MClass]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
-306,
-"NativeArray[nullable HashMapNode[MPropDef, APropdef]]", /* class_name_string */
-2,
+/* runtime type HashSetNode[MMethodDef] */
+const struct type type_hash_collection__HashSetNodemodel__MMethodDef = {
+2458,
+"HashSetNode[MMethodDef]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef,
-3,
+&resolution_table_hash_collection__HashSetNodemodel__MMethodDef,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-306, /* NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+1456, /* HashSetNode[Object] */
+1475, /* nullable HashSetNode[MMethodDef] */
+2458, /* HashSetNode[MMethodDef] */
+2071, /* HashSetNode[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashSetNodemodel__MMethodDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* NativeArray#0: nullable HashMapNode[MPropDef, APropdef] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MPropDef, APropdef]] */
+&type_model__MMethodDef, /* HashSetNode#0: MMethodDef */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MMethodDef, /* N: HashSetNode[MMethodDef] */
+&type_model__MMethodDef, /* HashNode#0: MMethodDef */
 }
 };
-/* runtime type HashMapNode[MPropDef, APropdef] */
-const struct type type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
-1504,
-"HashMapNode[MPropDef, APropdef]", /* class_name_string */
-3,
+/* runtime type HashSetNode[PropertyLayoutElement] */
+const struct type type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
+2071,
+"HashSetNode[PropertyLayoutElement]", /* class_name_string */
+7,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef,
-4,
+&resolution_table_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-117, /* nullable HashMapNode[MPropDef, APropdef] */
-1504, /* HashMapNode[MPropDef, APropdef] */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+1456, /* HashSetNode[Object] */
+-1, /* empty */
+-1, /* empty */
+2071, /* HashSetNode[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_model__MPropDef, /* HashMapNode#0: MPropDef */
-&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
-&type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* N: HashMapNode[MPropDef, APropdef] */
-&type_model__MPropDef, /* HashNode#0: MPropDef */
+&type_layout_builders__PropertyLayoutElement, /* HashSetNode#0: PropertyLayoutElement */
+NULL, /* empty */
+&type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* N: HashSetNode[PropertyLayoutElement] */
+&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
 }
 };
-/* runtime type nullable HashMapNode[MPropDef, APropdef] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
-117,
-"nullable HashMapNode[MPropDef, APropdef]", /* class_name_string */
-2,
+/* runtime type nullable HashSetNode[MMethodDef] */
+const struct type type_nullable_hash_collection__HashSetNodemodel__MMethodDef = {
+1475,
+"nullable HashSetNode[MMethodDef]", /* class_name_string */
+5,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef,
-3,
+&resolution_table_nullable_hash_collection__HashSetNodemodel__MMethodDef,
+6,
 {
 0, /* nullable Object */
 -1, /* empty */
-117, /* nullable HashMapNode[MPropDef, APropdef] */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+-1, /* empty */
+1475, /* nullable HashSetNode[MMethodDef] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MMethodDef = {
 0, /* dummy */
 {
-&type_model__MPropDef, /* HashMapNode#0: MPropDef */
-&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
-&type_hash_collection__HashMapNodemodel__MPropDefparser_nodes__APropdef, /* N: HashMapNode[MPropDef, APropdef] */
-&type_model__MPropDef, /* HashNode#0: MPropDef */
+&type_model__MMethodDef, /* HashSetNode#0: MMethodDef */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MMethodDef, /* N: HashSetNode[MMethodDef] */
+&type_model__MMethodDef, /* HashNode#0: MMethodDef */
 }
 };
-/* runtime type HashMapIterator[MPropDef, APropdef] */
-const struct type type_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef = {
-1505,
-"HashMapIterator[MPropDef, APropdef]", /* class_name_string */
+/* runtime type nullable HashSetNode[PropertyLayoutElement] */
+const struct type type_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
+316,
+"nullable HashSetNode[PropertyLayoutElement]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement,
 4,
 {
 0, /* nullable Object */
-1, /* Object */
-307, /* MapIterator[MPropDef, APropdef] */
-1505, /* HashMapIterator[MPropDef, APropdef] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropDefparser_nodes__APropdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MPropDef, APropdef] */
+&type_layout_builders__PropertyLayoutElement, /* HashSetNode#0: PropertyLayoutElement */
+NULL, /* empty */
+&type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* N: HashSetNode[PropertyLayoutElement] */
+&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
 }
 };
-/* runtime type MapIterator[MPropDef, APropdef] */
-const struct type type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef = {
-307,
-"MapIterator[MPropDef, APropdef]", /* class_name_string */
-2,
+/* runtime type HashSetIterator[MMethodDef] */
+const struct type type_hash_collection__HashSetIteratormodel__MMethodDef = {
+1801,
+"HashSetIterator[MMethodDef]", /* class_name_string */
+4,
 0,
-NULL,
-3,
+&resolution_table_hash_collection__HashSetIteratormodel__MMethodDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* MapIterator[MPropDef, APropdef] */
+307, /* HashSetIterator[Object] */
+1476, /* HashSetIterator[PropertyLayoutElement] */
+1801, /* HashSetIterator[MMethodDef] */
 },
 };
-/* runtime type HashSetNode[MModule] */
-const struct type type_hash_collection__HashSetNodemodel_base__MModule = {
-2120,
-"HashSetNode[MModule]", /* class_name_string */
-5,
+const struct types resolution_table_hash_collection__HashSetIteratormodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetmodel__MMethodDef, /* HashSet[HashSetIterator#0]: HashSet[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+}
+};
+/* runtime type HashSetIterator[PropertyLayoutElement] */
+const struct type type_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement = {
+1476,
+"HashSetIterator[PropertyLayoutElement]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashSetNodemodel_base__MModule,
-6,
+&resolution_table_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-308, /* nullable HashSetNode[MModule] */
-1506, /* HashSetNode[Object] */
-2120, /* HashSetNode[MModule] */
+307, /* HashSetIterator[Object] */
+1476, /* HashSetIterator[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashSetNode#0: MModule */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel_base__MModule, /* N: HashSetNode[MModule] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashSetlayout_builders__PropertyLayoutElement, /* HashSet[HashSetIterator#0]: HashSet[PropertyLayoutElement] */
+&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[PropertyLayoutElement] */
 }
 };
-/* runtime type HashSetNode[Object] */
-const struct type type_hash_collection__HashSetNodekernel__Object = {
-1506,
-"HashSetNode[Object]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[MMethodDef]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef = {
+1802,
+"NativeArray[nullable HashSetNode[MMethodDef]]", /* class_name_string */
 4,
 0,
-&resolution_table_hash_collection__HashSetNodekernel__Object,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
--1, /* empty */
-1506, /* HashSetNode[Object] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1477, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+1802, /* NativeArray[nullable HashSetNode[MMethodDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodekernel__Object = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef = {
 0, /* dummy */
 {
-&type_kernel__Object, /* HashSetNode#0: Object */
-NULL, /* empty */
-&type_hash_collection__HashSetNodekernel__Object, /* N: HashSetNode[Object] */
-&type_kernel__Object, /* HashNode#0: Object */
+&type_nullable_hash_collection__HashSetNodemodel__MMethodDef, /* NativeArray#0: nullable HashSetNode[MMethodDef] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MMethodDef]] */
 }
 };
-/* runtime type nullable HashSetNode[MModule] */
-const struct type type_nullable_hash_collection__HashSetNodemodel_base__MModule = {
-308,
-"nullable HashSetNode[MModule]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
+1477,
+"NativeArray[nullable HashSetNode[PropertyLayoutElement]]", /* class_name_string */
 3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel_base__MModule,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement,
 4,
 {
 0, /* nullable Object */
--1, /* empty */
-118, /* nullable HashSetNode[Object] */
-308, /* nullable HashSetNode[MModule] */
+1, /* Object */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1477, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel_base__MModule = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashSetNode#0: MModule */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel_base__MModule, /* N: HashSetNode[MModule] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* NativeArray#0: nullable HashSetNode[PropertyLayoutElement] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
 }
 };
-/* runtime type nullable HashSetNode[Object] */
-const struct type type_nullable_hash_collection__HashSetNodekernel__Object = {
-118,
-"nullable HashSetNode[Object]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodekernel__Object,
-3,
+/* runtime type HashSetNode[MMethod] */
+const struct type type_hash_collection__HashSetNodemodel__MMethod = {
+2548,
+"HashSetNode[MMethod]", /* class_name_string */
+9,
+0,
+&resolution_table_hash_collection__HashSetNodemodel__MMethod,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+1456, /* HashSetNode[Object] */
+1478, /* nullable HashSetNode[MProperty] */
+1803, /* nullable HashSetNode[MMethod] */
+2071, /* HashSetNode[PropertyLayoutElement] */
+2459, /* HashSetNode[MProperty] */
+2548, /* HashSetNode[MMethod] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetNodemodel__MMethod = {
+0, /* dummy */
+{
+&type_model__MMethod, /* HashSetNode#0: MMethod */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MMethod, /* N: HashSetNode[MMethod] */
+&type_model__MMethod, /* HashNode#0: MMethod */
+}
+};
+/* runtime type HashSetNode[MProperty] */
+const struct type type_hash_collection__HashSetNodemodel__MProperty = {
+2459,
+"HashSetNode[MProperty]", /* class_name_string */
+8,
+0,
+&resolution_table_hash_collection__HashSetNodemodel__MProperty,
+9,
 {
 0, /* nullable Object */
+1, /* Object */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+1456, /* HashSetNode[Object] */
+1478, /* nullable HashSetNode[MProperty] */
 -1, /* empty */
-118, /* nullable HashSetNode[Object] */
+2071, /* HashSetNode[PropertyLayoutElement] */
+2459, /* HashSetNode[MProperty] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodekernel__Object = {
+const struct types resolution_table_hash_collection__HashSetNodemodel__MProperty = {
 0, /* dummy */
 {
-&type_kernel__Object, /* HashSetNode#0: Object */
+&type_model__MProperty, /* HashSetNode#0: MProperty */
 NULL, /* empty */
-&type_hash_collection__HashSetNodekernel__Object, /* N: HashSetNode[Object] */
-&type_kernel__Object, /* HashNode#0: Object */
+&type_hash_collection__HashSetNodemodel__MProperty, /* N: HashSetNode[MProperty] */
+&type_model__MProperty, /* HashNode#0: MProperty */
 }
 };
-/* runtime type HashSetIterator[MModule] */
-const struct type type_hash_collection__HashSetIteratormodel_base__MModule = {
-1507,
-"HashSetIterator[MModule]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashSetIteratormodel_base__MModule,
-4,
+/* runtime type nullable HashSetNode[MMethod] */
+const struct type type_nullable_hash_collection__HashSetNodemodel__MMethod = {
+1803,
+"nullable HashSetNode[MMethod]", /* class_name_string */
+6,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodemodel__MMethod,
+7,
 {
 0, /* nullable Object */
-1, /* Object */
-309, /* HashSetIterator[Object] */
-1507, /* HashSetIterator[MModule] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+-1, /* empty */
+1478, /* nullable HashSetNode[MProperty] */
+1803, /* nullable HashSetNode[MMethod] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel_base__MModule = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MMethod = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel_base__MModule, /* HashSet[HashSetIterator#0]: HashSet[MModule] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_model__MMethod, /* HashSetNode#0: MMethod */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MMethod, /* N: HashSetNode[MMethod] */
+&type_model__MMethod, /* HashNode#0: MMethod */
 }
 };
-/* runtime type HashSetIterator[Object] */
-const struct type type_hash_collection__HashSetIteratorkernel__Object = {
-309,
-"HashSetIterator[Object]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashSetIteratorkernel__Object,
-3,
+/* runtime type nullable HashSetNode[MProperty] */
+const struct type type_nullable_hash_collection__HashSetNodemodel__MProperty = {
+1478,
+"nullable HashSetNode[MProperty]", /* class_name_string */
+5,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodemodel__MProperty,
+6,
 {
 0, /* nullable Object */
-1, /* Object */
-309, /* HashSetIterator[Object] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+316, /* nullable HashSetNode[PropertyLayoutElement] */
+-1, /* empty */
+1478, /* nullable HashSetNode[MProperty] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratorkernel__Object = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetkernel__Object, /* HashSet[HashSetIterator#0]: HashSet[Object] */
-&type_array__Arraykernel__Object, /* Array[Iterator#0]: Array[Object] */
+&type_model__MProperty, /* HashSetNode#0: MProperty */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemodel__MProperty, /* N: HashSetNode[MProperty] */
+&type_model__MProperty, /* HashNode#0: MProperty */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MModule]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule = {
-1508,
-"NativeArray[nullable HashSetNode[MModule]]", /* class_name_string */
-3,
+/* runtime type HashSetIterator[MMethod] */
+const struct type type_hash_collection__HashSetIteratormodel__MMethod = {
+2072,
+"HashSetIterator[MMethod]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule,
-4,
+&resolution_table_hash_collection__HashSetIteratormodel__MMethod,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1508, /* NativeArray[nullable HashSetNode[MModule]] */
+307, /* HashSetIterator[Object] */
+1476, /* HashSetIterator[PropertyLayoutElement] */
+1804, /* HashSetIterator[MProperty] */
+2072, /* HashSetIterator[MMethod] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashSetIteratormodel__MMethod = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel_base__MModule, /* NativeArray#0: nullable HashSetNode[MModule] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MModule]] */
+&type_hash_collection__HashSetmodel__MMethod, /* HashSet[HashSetIterator#0]: HashSet[MMethod] */
+&type_array__Arraymodel__MMethod, /* Array[Iterator#0]: Array[MMethod] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[Object]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object = {
-310,
-"NativeArray[nullable HashSetNode[Object]]", /* class_name_string */
-2,
+/* runtime type HashSetIterator[MProperty] */
+const struct type type_hash_collection__HashSetIteratormodel__MProperty = {
+1804,
+"HashSetIterator[MProperty]", /* class_name_string */
+4,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object,
-3,
+&resolution_table_hash_collection__HashSetIteratormodel__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
+307, /* HashSetIterator[Object] */
+1476, /* HashSetIterator[PropertyLayoutElement] */
+1804, /* HashSetIterator[MProperty] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object = {
+const struct types resolution_table_hash_collection__HashSetIteratormodel__MProperty = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodekernel__Object, /* NativeArray#0: nullable HashSetNode[Object] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodekernel__Object, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Object]] */
+&type_hash_collection__HashSetmodel__MProperty, /* HashSet[HashSetIterator#0]: HashSet[MProperty] */
+&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
 }
 };
-/* runtime type ArrayIterator[MClassDef] */
-const struct type type_array__ArrayIteratormodel__MClassDef = {
-1509,
-"ArrayIterator[MClassDef]", /* class_name_string */
-3,
+/* runtime type NativeArray[nullable HashSetNode[MMethod]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod = {
+2073,
+"NativeArray[nullable HashSetNode[MMethod]]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratormodel__MClassDef,
-4,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1509, /* ArrayIterator[MClassDef] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1477, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+1805, /* NativeArray[nullable HashSetNode[MProperty]] */
+2073, /* NativeArray[nullable HashSetNode[MMethod]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MClassDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MClassDef] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_nullable_hash_collection__HashSetNodemodel__MMethod, /* NativeArray#0: nullable HashSetNode[MMethod] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MMethod]] */
 }
 };
-/* runtime type NativeArray[MClassDef] */
-const struct type type_array__NativeArraymodel__MClassDef = {
-1510,
-"NativeArray[MClassDef]", /* class_name_string */
-3,
-0,
-&resolution_table_array__NativeArraymodel__MClassDef,
+/* runtime type NativeArray[nullable HashSetNode[MProperty]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty = {
+1805,
+"NativeArray[nullable HashSetNode[MProperty]]", /* class_name_string */
 4,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1510, /* NativeArray[MClassDef] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1477, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+1805, /* NativeArray[nullable HashSetNode[MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* NativeArray#0: MClassDef */
-&type_array__NativeArraymodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[MClassDef] */
+&type_nullable_hash_collection__HashSetNodemodel__MProperty, /* NativeArray#0: nullable HashSetNode[MProperty] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MProperty]] */
 }
 };
-/* runtime type HashMapKeys[MClass, Set[MProperty]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty = {
-2393,
-"HashMapKeys[MClass, Set[MProperty]]", /* class_name_string */
+/* runtime type ListNode[MMethodDef] */
+const struct type type_list__ListNodemodel__MMethodDef = {
+2506,
+"ListNode[MMethodDef]", /* class_name_string */
 6,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty,
-7,
+&resolution_table_list__ListNodemodel__MMethodDef,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2121, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
-2393, /* HashMapKeys[MClass, Set[MProperty]] */
+188, /* Collection[nullable MPropDef] */
+2460, /* Container[MMethodDef] */
+164, /* Collection[Object] */
+590, /* Collection[PropertyLayoutElement] */
+2506, /* ListNode[MMethodDef] */
+-1, /* empty */
+1920, /* Collection[MPropDef] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2202, /* Collection[MMethodDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_list__ListNodemodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MProperty]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[MProperty]] */
-NULL, /* empty */
+&type_model__MMethodDef, /* ListNode#0: MMethodDef */
+&type_list__ListNodemodel__MMethodDef, /* ListNode[ListNode#0]: ListNode[MMethodDef] */
+&type_abstract_collection__ContainerIteratormodel__MMethodDef, /* ContainerIterator[Container#0]: ContainerIterator[MMethodDef] */
+&type_model__MMethodDef, /* Container#0: MMethodDef */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_model__MMethodDef, /* Collection#0: MMethodDef */
+&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
 }
 };
-/* runtime type HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-2121,
-"HashMapKeys[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type Container[MMethodDef] */
+const struct type type_abstract_collection__Containermodel__MMethodDef = {
+2460,
+"Container[MMethodDef]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
-6,
+NULL,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2121, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
+188, /* Collection[nullable MPropDef] */
+2460, /* Container[MMethodDef] */
+164, /* Collection[Object] */
+590, /* Collection[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+1920, /* Collection[MPropDef] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2202, /* Collection[MMethodDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+/* runtime type ListIterator[MMethodDef] */
+const struct type type_list__ListIteratormodel__MMethodDef = {
+317,
+"ListIterator[MMethodDef]", /* class_name_string */
+2,
+0,
+&resolution_table_list__ListIteratormodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+317, /* ListIterator[MMethodDef] */
+},
+};
+const struct types resolution_table_list__ListIteratormodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[PropertyLayoutElement]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_model__MMethodDef, /* ListIterator#0: MMethodDef */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_list__Listmodel__MMethodDef, /* List[ListIterator#0]: List[MMethodDef] */
 }
 };
-/* runtime type HashMapValues[MClass, Set[MProperty]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty = {
-2394,
-"HashMapValues[MClass, Set[MProperty]]", /* class_name_string */
-6,
+/* runtime type HashMapKeys[MClassDef, HashSet[MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType = {
+1806,
+"HashMapKeys[MClassDef, HashSet[MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty,
-7,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-1846, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-2394, /* HashMapValues[MClass, Set[MProperty]] */
+591, /* Collection[MClassDef] */
+1806, /* HashMapKeys[MClassDef, HashSet[MType]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MProperty]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MProperty]] */
+&type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassDef, HashSet[MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassDef, HashSet[MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MProperty, /* RemovableCollection#0: Set[MProperty] */
+&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MProperty, /* Collection#0: Set[MProperty] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Collection#0]: Collection[Set[MProperty]] */
+&type_model__MClassDef, /* Collection#0: MClassDef */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
 }
 };
-/* runtime type HashMapValues[MClass, Set[PropertyLayoutElement]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-1846,
-"HashMapValues[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type HashMapValues[MClassDef, HashSet[MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType = {
+2074,
+"HashMapValues[MClassDef, HashSet[MType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-1846, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
-166, /* Collection[Object] */
+1479, /* Collection[Set[MType]] */
+2074, /* HashMapValues[MClassDef, HashSet[MType]] */
+164, /* Collection[Object] */
+1807, /* Collection[HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[PropertyLayoutElement]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+&type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassDef, HashSet[MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassDef, HashSet[MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* RemovableCollection#0: Set[PropertyLayoutElement] */
+&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[Set[PropertyLayoutElement]] */
+&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
 }
 };
-/* runtime type Collection[Set[MProperty]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty = {
-1847,
-"Collection[Set[MProperty]]", /* class_name_string */
+/* runtime type Collection[HashSet[MType]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashSetmodel__MType = {
+1807,
+"Collection[HashSet[MType]]", /* class_name_string */
 5,
 0,
 NULL,
@@ -7969,16 +8018,16 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
+1479, /* Collection[Set[MType]] */
 -1, /* empty */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
+164, /* Collection[Object] */
+1807, /* Collection[HashSet[MType]] */
 },
 };
-/* runtime type Collection[Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-1511,
-"Collection[Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type Collection[Set[MType]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MType = {
+1479,
+"Collection[Set[MType]]", /* class_name_string */
 2,
 0,
 NULL,
@@ -7986,218 +8035,104 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
+1479, /* Collection[Set[MType]] */
 -1, /* empty */
-166, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
-1512,
-"NativeArray[nullable HashMapNode[MClass, Set[MProperty]]]", /* class_name_string */
-3,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-311, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-1512, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
-0, /* dummy */
-{
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* NativeArray#0: nullable HashMapNode[MClass, Set[MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-}
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-311,
-"NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
+318,
+"NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-311, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+318, /* NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray#0: nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* NativeArray#0: nullable HashMapNode[MClassDef, HashSet[MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
 }
 };
-/* runtime type HashMapNode[MClass, Set[MProperty]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
-2122,
-"HashMapNode[MClass, Set[MProperty]]", /* class_name_string */
-6,
+/* runtime type HashMapNode[MClassDef, HashSet[MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
+1480,
+"HashMapNode[MClassDef, HashSet[MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-119, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-312, /* nullable HashMapNode[MClass, Set[MProperty]] */
-1513, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
--1, /* empty */
-2122, /* HashMapNode[MClass, Set[MProperty]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
-0, /* dummy */
-{
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MProperty, /* HashMapNode#1: Set[MProperty] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
-&type_model__MClass, /* HashNode#0: MClass */
-}
-};
-/* runtime type HashMapNode[MClass, Set[PropertyLayoutElement]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-1513,
-"HashMapNode[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+&resolution_table_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType,
 4,
-0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
-5,
 {
 0, /* nullable Object */
 1, /* Object */
-119, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
--1, /* empty */
-1513, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapNode#1: Set[PropertyLayoutElement] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* N: HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_model__MClass, /* HashNode#0: MClass */
-}
-};
-/* runtime type nullable HashMapNode[MClass, Set[MProperty]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
-312,
-"nullable HashMapNode[MClass, Set[MProperty]]", /* class_name_string */
-3,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty,
-4,
-{
-0, /* nullable Object */
--1, /* empty */
-119, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-312, /* nullable HashMapNode[MClass, Set[MProperty]] */
+119, /* nullable HashMapNode[MClassDef, HashSet[MType]] */
+1480, /* HashMapNode[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MProperty, /* HashMapNode#1: Set[MProperty] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MProperty, /* N: HashMapNode[MClass, Set[MProperty]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_model__MClassDef, /* HashMapNode#0: MClassDef */
+&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
+&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* N: HashMapNode[MClassDef, HashSet[MType]] */
+&type_model__MClassDef, /* HashNode#0: MClassDef */
 }
 };
-/* runtime type nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+/* runtime type nullable HashMapNode[MClassDef, HashSet[MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
 119,
-"nullable HashMapNode[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+"nullable HashMapNode[MClassDef, HashSet[MType]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-119, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMapNode#1: Set[PropertyLayoutElement] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* N: HashMapNode[MClass, Set[PropertyLayoutElement]] */
-&type_model__MClass, /* HashNode#0: MClass */
-}
-};
-/* runtime type HashMapIterator[MClass, Set[MProperty]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
-2123,
-"HashMapIterator[MClass, Set[MProperty]]", /* class_name_string */
-6,
-0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-313, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
-1514, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-1515, /* MapIterator[MClass, Set[MProperty]] */
--1, /* empty */
-2123, /* HashMapIterator[MClass, Set[MProperty]] */
+119, /* nullable HashMapNode[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MProperty]] */
+&type_model__MClassDef, /* HashMapNode#0: MClassDef */
+&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
+&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* N: HashMapNode[MClassDef, HashSet[MType]] */
+&type_model__MClassDef, /* HashNode#0: MClassDef */
 }
 };
-/* runtime type HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-1514,
-"HashMapIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type HashMapIterator[MClassDef, HashSet[MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+1481,
+"HashMapIterator[MClassDef, HashSet[MType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-313, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
-1514, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
+319, /* MapIterator[MClassDef, HashSet[MType]] */
+1481, /* HashMapIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[PropertyLayoutElement]] */
+&type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassDef, HashSet[MType]] */
 }
 };
-/* runtime type MapIterator[MClass, Set[MProperty]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
-1515,
-"MapIterator[MClass, Set[MProperty]]", /* class_name_string */
-4,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-313, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
--1, /* empty */
-1515, /* MapIterator[MClass, Set[MProperty]] */
-},
-};
-/* runtime type MapIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-313,
-"MapIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type MapIterator[MClassDef, HashSet[MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+319,
+"MapIterator[MClassDef, HashSet[MType]]", /* class_name_string */
 2,
 0,
 NULL,
@@ -8205,194 +8140,173 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-313, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
-},
-};
-/* runtime type ArrayIterator[Option] */
-const struct type type_array__ArrayIteratoropts__Option = {
-1516,
-"ArrayIterator[Option]", /* class_name_string */
-3,
-0,
-&resolution_table_array__ArrayIteratoropts__Option,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-279, /* ArrayIterator[Object] */
-1516, /* ArrayIterator[Option] */
+319, /* MapIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratoropts__Option = {
-0, /* dummy */
-{
-&type_array__AbstractArrayReadopts__Option, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Option] */
-&type_array__Arrayopts__Option, /* Array[Iterator#0]: Array[Option] */
-}
-};
-/* runtime type HashMapKeys[String, Option] */
-const struct type type_hash_collection__HashMapKeysstring__Stringopts__Option = {
-1848,
-"HashMapKeys[String, Option]", /* class_name_string */
+/* runtime type HashMapKeys[MClass, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MClasskernel__Int = {
+2075,
+"HashMapKeys[MClass, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringopts__Option,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClasskernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-597, /* Collection[String] */
-1848, /* HashMapKeys[String, Option] */
-166, /* Collection[Object] */
+171, /* Collection[nullable MClass] */
+2075, /* HashMapKeys[MClass, Int] */
+164, /* Collection[Object] */
+1733, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringopts__Option = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringopts__Option, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Option] */
-&type_abstract_collection__MapKeysIteratorstring__Stringopts__Option, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Option] */
+&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
+&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[String, Option] */
-const struct type type_hash_collection__HashMapValuesstring__Stringopts__Option = {
-1849,
-"HashMapValues[String, Option]", /* class_name_string */
+/* runtime type HashMapValues[MClass, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MClasskernel__Int = {
+1808,
+"HashMapValues[MClass, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringopts__Option,
+&resolution_table_hash_collection__HashMapValuesmodel__MClasskernel__Int,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-601, /* Collection[Option] */
-1849, /* HashMapValues[String, Option] */
-166, /* Collection[Object] */
+612, /* Collection[Int] */
+1808, /* HashMapValues[MClass, Int] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringopts__Option = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringopts__Option, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Option] */
-&type_abstract_collection__MapValuesIteratorstring__Stringopts__Option, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Option] */
+&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MClasskernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_opts__Option, /* RemovableCollection#0: Option */
+&type_kernel__Int, /* RemovableCollection#0: Int */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_opts__Option, /* Collection#0: Option */
-&type_abstract_collection__Collectionopts__Option, /* Collection[Collection#0]: Collection[Option] */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[String, Option]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option = {
-314,
-"NativeArray[nullable HashMapNode[String, Option]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClass, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
+320,
+"NativeArray[nullable HashMapNode[MClass, Int]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-314, /* NativeArray[nullable HashMapNode[String, Option]] */
+320, /* NativeArray[nullable HashMapNode[MClass, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringopts__Option, /* NativeArray#0: nullable HashMapNode[String, Option] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringopts__Option, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Option]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* NativeArray#0: nullable HashMapNode[MClass, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Int]] */
 }
 };
-/* runtime type HashMapNode[String, Option] */
-const struct type type_hash_collection__HashMapNodestring__Stringopts__Option = {
-1517,
-"HashMapNode[String, Option]", /* class_name_string */
+/* runtime type HashMapNode[MClass, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MClasskernel__Int = {
+1482,
+"HashMapNode[MClass, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringopts__Option,
+&resolution_table_hash_collection__HashMapNodemodel__MClasskernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-120, /* nullable HashMapNode[String, Option] */
-1517, /* HashMapNode[String, Option] */
+120, /* nullable HashMapNode[MClass, Int] */
+1482, /* HashMapNode[MClass, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringopts__Option = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_opts__Option, /* HashMapNode#1: Option */
-&type_hash_collection__HashMapNodestring__Stringopts__Option, /* N: HashMapNode[String, Option] */
-&type_string__String, /* HashNode#0: String */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* N: HashMapNode[MClass, Int] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[String, Option] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringopts__Option = {
+/* runtime type nullable HashMapNode[MClass, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
 120,
-"nullable HashMapNode[String, Option]", /* class_name_string */
+"nullable HashMapNode[MClass, Int]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringopts__Option,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-120, /* nullable HashMapNode[String, Option] */
+120, /* nullable HashMapNode[MClass, Int] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringopts__Option = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_opts__Option, /* HashMapNode#1: Option */
-&type_hash_collection__HashMapNodestring__Stringopts__Option, /* N: HashMapNode[String, Option] */
-&type_string__String, /* HashNode#0: String */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* N: HashMapNode[MClass, Int] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapIterator[String, Option] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringopts__Option = {
-1518,
-"HashMapIterator[String, Option]", /* class_name_string */
+/* runtime type HashMapIterator[MClass, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MClasskernel__Int = {
+1483,
+"HashMapIterator[MClass, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringopts__Option,
+&resolution_table_hash_collection__HashMapIteratormodel__MClasskernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-315, /* MapIterator[String, Option] */
-1518, /* HashMapIterator[String, Option] */
+321, /* MapIterator[MClass, Int] */
+1483, /* HashMapIterator[MClass, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringopts__Option = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringopts__Option, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Option] */
+&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Int] */
 }
 };
-/* runtime type MapIterator[String, Option] */
-const struct type type_abstract_collection__MapIteratorstring__Stringopts__Option = {
-315,
-"MapIterator[String, Option]", /* class_name_string */
+/* runtime type MapIterator[MClass, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MClasskernel__Int = {
+321,
+"MapIterator[MClass, Int]", /* class_name_string */
 2,
 0,
 NULL,
@@ -8400,1053 +8314,1078 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-315, /* MapIterator[String, Option] */
+321, /* MapIterator[MClass, Int] */
 },
 };
-/* runtime type ArrayIterator[Char] */
-const struct type type_array__ArrayIteratorkernel__Char = {
-1519,
-"ArrayIterator[Char]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType = {
+2076,
+"HashMapKeys[MType, Array[nullable MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorkernel__Char,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1519, /* ArrayIterator[Char] */
+2076, /* HashMapKeys[MType, Array[nullable MType]] */
+-1, /* empty */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+-1, /* empty */
+1737, /* Collection[MType] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorkernel__Char = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadkernel__Char, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Char] */
-&type_array__Arraykernel__Char, /* Array[Iterator#0]: Array[Char] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[nullable MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[nullable MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type Array[Char] */
-const struct type type_array__Arraykernel__Char = {
-2613,
-"Array[Char]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType = {
+2077,
+"HashMapValues[MType, Array[nullable MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arraykernel__Char,
-10,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-2613, /* Array[Char] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-604, /* Collection[Char] */
-1778, /* AbstractArrayRead[Object] */
-1969, /* SequenceRead[Char] */
-2464, /* AbstractArrayRead[Char] */
-1962, /* Array[Object] */
+322, /* Collection[nullable Array[nullable MType]] */
+2077, /* HashMapValues[MType, Array[nullable MType]] */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__Arraykernel__Char = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_array__Arraykernel__Char, /* Array[Array#0]: Array[Char] */
-&type_array__NativeArraykernel__Char, /* NativeArray[Array#0]: NativeArray[Char] */
-&type_kernel__Char, /* Sequence#0: Char */
-&type_kernel__Char, /* SimpleCollection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Array#0]: Collection[Char] */
-&type_kernel__Char, /* Array#0: Char */
-&type_array__NativeArraykernel__Char, /* NativeArray[ArrayCapable#0]: NativeArray[Char] */
-&type_kernel__Char, /* AbstractArray#0: Char */
-&type_kernel__Char, /* RemovableCollection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Sequence#0]: Collection[Char] */
-&type_array__Arraykernel__Char, /* Array[Sequence#0]: Array[Char] */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[SimpleCollection#0]: Collection[Char] */
-&type_kernel__Char, /* Collection#0: Char */
-&type_abstract_collection__Collectionkernel__Char, /* Collection[Collection#0]: Collection[Char] */
-&type_kernel__Char, /* SequenceRead#0: Char */
-&type_kernel__Char, /* AbstractArrayRead#0: Char */
-&type_array__Arraykernel__Char, /* Array[AbstractArrayRead#0]: Array[Char] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Char] not a live type) */
-&type_array__ArrayIteratorkernel__Char, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Char] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[nullable MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[nullable MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraynullable_model__MType, /* RemovableCollection#0: Array[nullable MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraynullable_model__MType, /* Collection#0: Array[nullable MType] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[Array[nullable MType]] */
 }
 };
-/* runtime type HashSetNode[MClassType] */
-const struct type type_hash_collection__HashSetNodemodel__MClassType = {
-2523,
-"HashSetNode[MClassType]", /* class_name_string */
-7,
+/* runtime type Collection[Array[nullable MType]] */
+const struct type type_abstract_collection__Collectionarray__Arraynullable_model__MType = {
+1809,
+"Collection[Array[nullable MType]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MClassType,
-8,
+NULL,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[MType] */
-1506, /* HashSetNode[Object] */
-1520, /* nullable HashSetNode[MClassType] */
-2124, /* HashSetNode[MType] */
-2523, /* HashSetNode[MClassType] */
+322, /* Collection[nullable Array[nullable MType]] */
+-1, /* empty */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MClassType = {
+/* runtime type Collection[nullable Array[nullable MType]] */
+const struct type type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType = {
+322,
+"Collection[nullable Array[nullable MType]]", /* class_name_string */
+2,
+0,
+NULL,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+322, /* Collection[nullable Array[nullable MType]] */
+},
+};
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
+323,
+"NativeArray[nullable HashMapNode[MType, Array[nullable MType]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+323, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashSetNode#0: MClassType */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MClassType, /* N: HashSetNode[MClassType] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* NativeArray#0: nullable HashMapNode[MType, Array[nullable MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
 }
 };
-/* runtime type HashSetNode[MType] */
-const struct type type_hash_collection__HashSetNodemodel__MType = {
-2124,
-"HashSetNode[MType]", /* class_name_string */
-6,
+/* runtime type HashMapNode[MType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
+1484,
+"HashMapNode[MType, Array[nullable MType]]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MType,
-7,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[MType] */
-1506, /* HashSetNode[Object] */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
 -1, /* empty */
-2124, /* HashSetNode[MType] */
+1484, /* HashMapNode[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MType, /* HashSetNode#0: MType */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MType, /* N: HashSetNode[MType] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* N: HashMapNode[MType, Array[nullable MType]] */
 &type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type nullable HashSetNode[MClassType] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MClassType = {
-1520,
-"nullable HashSetNode[MClassType]", /* class_name_string */
-5,
+/* runtime type nullable HashMapNode[MType, Array[nullable MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
+121,
+"nullable HashMapNode[MType, Array[nullable MType]]", /* class_name_string */
+2,
 1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MClassType,
-6,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 -1, /* empty */
-118, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[MType] */
--1, /* empty */
-1520, /* nullable HashSetNode[MClassType] */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MClassType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashSetNode#0: MClassType */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MClassType, /* N: HashSetNode[MClassType] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* N: HashMapNode[MType, Array[nullable MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type nullable HashSetNode[MType] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MType = {
-316,
-"nullable HashSetNode[MType]", /* class_name_string */
+/* runtime type HashMapIterator[MType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType = {
+1485,
+"HashMapIterator[MType, Array[nullable MType]]", /* class_name_string */
 3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MType,
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType,
 4,
 {
 0, /* nullable Object */
--1, /* empty */
-118, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[MType] */
+1, /* Object */
+324, /* MapIterator[MType, Array[nullable MType]] */
+1485, /* HashMapIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MType, /* HashSetNode#0: MType */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MType, /* N: HashSetNode[MType] */
-&type_model__MType, /* HashNode#0: MType */
+&type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[nullable MType]] */
 }
 };
-/* runtime type HashSetIterator[MClassType] */
-const struct type type_hash_collection__HashSetIteratormodel__MClassType = {
-1850,
-"HashSetIterator[MClassType]", /* class_name_string */
-4,
+/* runtime type MapIterator[MType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType = {
+324,
+"MapIterator[MType, Array[nullable MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MClassType,
-5,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1521, /* HashSetIterator[MType] */
-1850, /* HashSetIterator[MClassType] */
+324, /* MapIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MClassType = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetmodel__MClassType, /* HashSet[HashSetIterator#0]: HashSet[MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
-}
-};
-/* runtime type HashSetIterator[MType] */
-const struct type type_hash_collection__HashSetIteratormodel__MType = {
-1521,
-"HashSetIterator[MType]", /* class_name_string */
+/* runtime type HashMapKeys[MClassType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType = {
+2461,
+"HashMapKeys[MClassType, Array[nullable MType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MType,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1521, /* HashSetIterator[MType] */
+2076, /* HashMapKeys[MType, Array[nullable MType]] */
+2461, /* HashMapKeys[MClassType, Array[nullable MType]] */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+-1, /* empty */
+1737, /* Collection[MType] */
+-1, /* empty */
+-1, /* empty */
+1916, /* Collection[MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MType, /* HashSet[HashSetIterator#0]: HashSet[MType] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Array[nullable MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Array[nullable MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MClassType]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType = {
-1851,
-"NativeArray[nullable HashSetNode[MClassType]]", /* class_name_string */
-4,
+/* runtime type HashMapValues[MClassType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType = {
+2354,
+"HashMapValues[MClassType, Array[nullable MType]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1522, /* NativeArray[nullable HashSetNode[MType]] */
-1851, /* NativeArray[nullable HashSetNode[MClassType]] */
+322, /* Collection[nullable Array[nullable MType]] */
+2077, /* HashMapValues[MType, Array[nullable MType]] */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
+2354, /* HashMapValues[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MClassType, /* NativeArray#0: nullable HashSetNode[MClassType] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MClassType]] */
+&type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Array[nullable MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Array[nullable MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraynullable_model__MType, /* RemovableCollection#0: Array[nullable MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraynullable_model__MType, /* Collection#0: Array[nullable MType] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[Array[nullable MType]] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MType]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType = {
-1522,
-"NativeArray[nullable HashSetNode[MType]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
+1486,
+"NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1522, /* NativeArray[nullable HashSetNode[MType]] */
+323, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+1486, /* NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MType, /* NativeArray#0: nullable HashSetNode[MType] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MType]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* NativeArray#0: nullable HashMapNode[MClassType, Array[nullable MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
 }
 };
-/* runtime type HashSetNode[MClass] */
-const struct type type_hash_collection__HashSetNodemodel__MClass = {
-2125,
-"HashSetNode[MClass]", /* class_name_string */
+/* runtime type HashMapNode[MClassType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
+2078,
+"HashMapNode[MClassType, Array[nullable MType]]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MClass,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-317, /* nullable HashSetNode[MClass] */
-1506, /* HashSetNode[Object] */
-2125, /* HashSetNode[MClass] */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
+325, /* nullable HashMapNode[MClassType, Array[nullable MType]] */
+1484, /* HashMapNode[MType, Array[nullable MType]] */
+2078, /* HashMapNode[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashSetNode#0: MClass */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MClass, /* N: HashSetNode[MClass] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
+&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* N: HashMapNode[MClassType, Array[nullable MType]] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type nullable HashSetNode[MClass] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MClass = {
-317,
-"nullable HashSetNode[MClass]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClassType, Array[nullable MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
+325,
+"nullable HashMapNode[MClassType, Array[nullable MType]]", /* class_name_string */
 3,
 1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MClass,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType,
 4,
 {
 0, /* nullable Object */
 -1, /* empty */
-118, /* nullable HashSetNode[Object] */
-317, /* nullable HashSetNode[MClass] */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
+325, /* nullable HashMapNode[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MClass = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashSetNode#0: MClass */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MClass, /* N: HashSetNode[MClass] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
+&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* N: HashMapNode[MClassType, Array[nullable MType]] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type HashSetIterator[MClass] */
-const struct type type_hash_collection__HashSetIteratormodel__MClass = {
-1523,
-"HashSetIterator[MClass]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MClassType, Array[nullable MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+2079,
+"HashMapIterator[MClassType, Array[nullable MType]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MClass,
-4,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypearray__Arraynullable_model__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1523, /* HashSetIterator[MClass] */
+324, /* MapIterator[MType, Array[nullable MType]] */
+1485, /* HashMapIterator[MType, Array[nullable MType]] */
+1487, /* MapIterator[MClassType, Array[nullable MType]] */
+2079, /* HashMapIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MClass, /* HashSet[HashSetIterator#0]: HashSet[MClass] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Array[nullable MType]] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MClass]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass = {
-1524,
-"NativeArray[nullable HashSetNode[MClass]]", /* class_name_string */
-3,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass,
+/* runtime type MapIterator[MClassType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+1487,
+"MapIterator[MClassType, Array[nullable MType]]", /* class_name_string */
 4,
+0,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1524, /* NativeArray[nullable HashSetNode[MClass]] */
+324, /* MapIterator[MType, Array[nullable MType]] */
+-1, /* empty */
+1487, /* MapIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass = {
-0, /* dummy */
-{
-&type_nullable_hash_collection__HashSetNodemodel__MClass, /* NativeArray#0: nullable HashSetNode[MClass] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MClass]] */
-}
-};
-/* runtime type HashSetNode[MMethodDef] */
-const struct type type_hash_collection__HashSetNodemodel__MMethodDef = {
-2524,
-"HashSetNode[MMethodDef]", /* class_name_string */
-6,
+/* runtime type HashMapKeys[MClass, Array[nullable MPropDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MPropDef = {
+2080,
+"HashMapKeys[MClass, Array[nullable MPropDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MMethodDef,
-8,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MPropDef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
-1506, /* HashSetNode[Object] */
-1525, /* nullable HashSetNode[MMethodDef] */
-2524, /* HashSetNode[MMethodDef] */
-2126, /* HashSetNode[PropertyLayoutElement] */
+171, /* Collection[nullable MClass] */
+2080, /* HashMapKeys[MClass, Array[nullable MPropDef]] */
+164, /* Collection[Object] */
+1733, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_model__MMethodDef, /* HashSetNode#0: MMethodDef */
+&type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Array[nullable MPropDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Array[nullable MPropDef]] */
 NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MMethodDef, /* N: HashSetNode[MMethodDef] */
-&type_model__MMethodDef, /* HashNode#0: MMethodDef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* RemovableCollection#0: MClass */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashSetNode[PropertyLayoutElement] */
-const struct type type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
-2126,
-"HashSetNode[PropertyLayoutElement]", /* class_name_string */
-7,
+/* runtime type HashMapValues[MClass, Array[nullable MPropDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MPropDef = {
+1810,
+"HashMapValues[MClass, Array[nullable MPropDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement,
-8,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MPropDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
-1506, /* HashSetNode[Object] */
--1, /* empty */
--1, /* empty */
-2126, /* HashSetNode[PropertyLayoutElement] */
+1488, /* Collection[Array[nullable MPropDef]] */
+1810, /* HashMapValues[MClass, Array[nullable MPropDef]] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_layout_builders__PropertyLayoutElement, /* HashSetNode#0: PropertyLayoutElement */
+&type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Array[nullable MPropDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Array[nullable MPropDef]] */
 NULL, /* empty */
-&type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* N: HashSetNode[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
-}
-};
-/* runtime type nullable HashSetNode[MMethodDef] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MMethodDef = {
-1525,
-"nullable HashSetNode[MMethodDef]", /* class_name_string */
-5,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MMethodDef,
-6,
-{
-0, /* nullable Object */
--1, /* empty */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
--1, /* empty */
-1525, /* nullable HashSetNode[MMethodDef] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MMethodDef = {
-0, /* dummy */
-{
-&type_model__MMethodDef, /* HashSetNode#0: MMethodDef */
 NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MMethodDef, /* N: HashSetNode[MMethodDef] */
-&type_model__MMethodDef, /* HashNode#0: MMethodDef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraynullable_model__MPropDef, /* RemovableCollection#0: Array[nullable MPropDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraynullable_model__MPropDef, /* Collection#0: Array[nullable MPropDef] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Collection#0]: Collection[Array[nullable MPropDef]] */
 }
 };
-/* runtime type nullable HashSetNode[PropertyLayoutElement] */
-const struct type type_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
-318,
-"nullable HashSetNode[PropertyLayoutElement]", /* class_name_string */
-3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement,
-4,
+/* runtime type Collection[Array[nullable MPropDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef = {
+1488,
+"Collection[Array[nullable MPropDef]]", /* class_name_string */
+2,
+0,
+NULL,
+5,
 {
 0, /* nullable Object */
+1, /* Object */
+1488, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
-0, /* dummy */
-{
-&type_layout_builders__PropertyLayoutElement, /* HashSetNode#0: PropertyLayoutElement */
-NULL, /* empty */
-&type_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* N: HashSetNode[PropertyLayoutElement] */
-&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
-}
-};
-/* runtime type HashSetIterator[MMethodDef] */
-const struct type type_hash_collection__HashSetIteratormodel__MMethodDef = {
-1852,
-"HashSetIterator[MMethodDef]", /* class_name_string */
-4,
+/* runtime type NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef = {
+326,
+"NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MMethodDef,
-5,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1526, /* HashSetIterator[PropertyLayoutElement] */
-1852, /* HashSetIterator[MMethodDef] */
+326, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MMethodDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MMethodDef, /* HashSet[HashSetIterator#0]: HashSet[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* NativeArray#0: nullable HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Array[nullable MPropDef]]] */
 }
 };
-/* runtime type HashSetIterator[PropertyLayoutElement] */
-const struct type type_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement = {
-1526,
-"HashSetIterator[PropertyLayoutElement]", /* class_name_string */
+/* runtime type HashMapNode[MClass, Array[nullable MPropDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef = {
+1489,
+"HashMapNode[MClass, Array[nullable MPropDef]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement,
+&resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1526, /* HashSetIterator[PropertyLayoutElement] */
+122, /* nullable HashMapNode[MClass, Array[nullable MPropDef]] */
+1489, /* HashMapNode[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratorlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetlayout_builders__PropertyLayoutElement, /* HashSet[HashSetIterator#0]: HashSet[PropertyLayoutElement] */
-&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[PropertyLayoutElement] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_array__Arraynullable_model__MPropDef, /* HashMapNode#1: Array[nullable MPropDef] */
+&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* N: HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MMethodDef]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef = {
-1853,
-"NativeArray[nullable HashSetNode[MMethodDef]]", /* class_name_string */
-4,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef,
-5,
+/* runtime type nullable HashMapNode[MClass, Array[nullable MPropDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef = {
+122,
+"nullable HashMapNode[MClass, Array[nullable MPropDef]]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1527, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-1853, /* NativeArray[nullable HashSetNode[MMethodDef]] */
+-1, /* empty */
+122, /* nullable HashMapNode[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MMethodDef, /* NativeArray#0: nullable HashSetNode[MMethodDef] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MMethodDef]] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_array__Arraynullable_model__MPropDef, /* HashMapNode#1: Array[nullable MPropDef] */
+&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MPropDef, /* N: HashMapNode[MClass, Array[nullable MPropDef]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
-1527,
-"NativeArray[nullable HashSetNode[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type HashMapIterator[MClass, Array[nullable MPropDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+1490,
+"HashMapIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MPropDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1527, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+327, /* MapIterator[MClass, Array[nullable MPropDef]] */
+1490, /* HashMapIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* NativeArray#0: nullable HashSetNode[PropertyLayoutElement] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodelayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
+&type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Array[nullable MPropDef]] */
 }
 };
-/* runtime type HashSetNode[MMethod] */
-const struct type type_hash_collection__HashSetNodemodel__MMethod = {
-2614,
-"HashSetNode[MMethod]", /* class_name_string */
-9,
+/* runtime type MapIterator[MClass, Array[nullable MPropDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+327,
+"MapIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MMethod,
-10,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
-1506, /* HashSetNode[Object] */
-1528, /* nullable HashSetNode[MProperty] */
-1854, /* nullable HashSetNode[MMethod] */
-2126, /* HashSetNode[PropertyLayoutElement] */
-2525, /* HashSetNode[MProperty] */
-2614, /* HashSetNode[MMethod] */
+327, /* MapIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MMethod = {
+/* runtime type ListNode[CodeFile] */
+const struct type type_list__ListNodeabstract_compiler__CodeFile = {
+2081,
+"ListNode[CodeFile]", /* class_name_string */
+5,
+0,
+&resolution_table_list__ListNodeabstract_compiler__CodeFile,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+606, /* Collection[CodeFile] */
+1811, /* Container[CodeFile] */
+164, /* Collection[Object] */
+2081, /* ListNode[CodeFile] */
+},
+};
+const struct types resolution_table_list__ListNodeabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_model__MMethod, /* HashSetNode#0: MMethod */
+&type_abstract_compiler__CodeFile, /* ListNode#0: CodeFile */
+&type_list__ListNodeabstract_compiler__CodeFile, /* ListNode[ListNode#0]: ListNode[CodeFile] */
+&type_abstract_collection__ContainerIteratorabstract_compiler__CodeFile, /* ContainerIterator[Container#0]: ContainerIterator[CodeFile] */
+&type_abstract_compiler__CodeFile, /* Container#0: CodeFile */
 NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MMethod, /* N: HashSetNode[MMethod] */
-&type_model__MMethod, /* HashNode#0: MMethod */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_compiler__CodeFile, /* Collection#0: CodeFile */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Collection#0]: Collection[CodeFile] */
 }
 };
-/* runtime type HashSetNode[MProperty] */
-const struct type type_hash_collection__HashSetNodemodel__MProperty = {
-2525,
-"HashSetNode[MProperty]", /* class_name_string */
-8,
+/* runtime type Container[CodeFile] */
+const struct type type_abstract_collection__Containerabstract_compiler__CodeFile = {
+1811,
+"Container[CodeFile]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MProperty,
-9,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
-1506, /* HashSetNode[Object] */
-1528, /* nullable HashSetNode[MProperty] */
--1, /* empty */
-2126, /* HashSetNode[PropertyLayoutElement] */
-2525, /* HashSetNode[MProperty] */
+606, /* Collection[CodeFile] */
+1811, /* Container[CodeFile] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MProperty = {
+/* runtime type ListIterator[CodeFile] */
+const struct type type_list__ListIteratorabstract_compiler__CodeFile = {
+328,
+"ListIterator[CodeFile]", /* class_name_string */
+2,
+0,
+&resolution_table_list__ListIteratorabstract_compiler__CodeFile,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+328, /* ListIterator[CodeFile] */
+},
+};
+const struct types resolution_table_list__ListIteratorabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_model__MProperty, /* HashSetNode#0: MProperty */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MProperty, /* N: HashSetNode[MProperty] */
-&type_model__MProperty, /* HashNode#0: MProperty */
+&type_abstract_compiler__CodeFile, /* ListIterator#0: CodeFile */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
+&type_list__Listabstract_compiler__CodeFile, /* List[ListIterator#0]: List[CodeFile] */
 }
 };
-/* runtime type nullable HashSetNode[MMethod] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MMethod = {
-1854,
-"nullable HashSetNode[MMethod]", /* class_name_string */
-6,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MMethod,
-7,
+/* runtime type HashMapKeys[String, String] */
+const struct type type_hash_collection__HashMapKeysstring__Stringstring__String = {
+1812,
+"HashMapKeys[String, String]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapKeysstring__Stringstring__String,
+5,
 {
 0, /* nullable Object */
--1, /* empty */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
--1, /* empty */
-1528, /* nullable HashSetNode[MProperty] */
-1854, /* nullable HashSetNode[MMethod] */
+1, /* Object */
+595, /* Collection[String] */
+1812, /* HashMapKeys[String, String] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MMethod = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_model__MMethod, /* HashSetNode#0: MMethod */
+&type_hash_collection__HashMapstring__Stringstring__String, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, String] */
+&type_abstract_collection__MapKeysIteratorstring__Stringstring__String, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, String] */
 NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MMethod, /* N: HashSetNode[MMethod] */
-&type_model__MMethod, /* HashNode#0: MMethod */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type nullable HashSetNode[MProperty] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MProperty = {
-1528,
-"nullable HashSetNode[MProperty]", /* class_name_string */
+/* runtime type HashMapValues[String, String] */
+const struct type type_hash_collection__HashMapValuesstring__Stringstring__String = {
+1813,
+"HashMapValues[String, String]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapValuesstring__Stringstring__String,
 5,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MProperty,
-6,
 {
 0, /* nullable Object */
--1, /* empty */
-118, /* nullable HashSetNode[Object] */
-318, /* nullable HashSetNode[PropertyLayoutElement] */
--1, /* empty */
-1528, /* nullable HashSetNode[MProperty] */
+1, /* Object */
+595, /* Collection[String] */
+1813, /* HashMapValues[String, String] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_model__MProperty, /* HashSetNode#0: MProperty */
+&type_hash_collection__HashMapstring__Stringstring__String, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, String] */
+&type_abstract_collection__MapValuesIteratorstring__Stringstring__String, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, String] */
 NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MProperty, /* N: HashSetNode[MProperty] */
-&type_model__MProperty, /* HashNode#0: MProperty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type HashSetIterator[MMethod] */
-const struct type type_hash_collection__HashSetIteratormodel__MMethod = {
-2127,
-"HashSetIterator[MMethod]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[String, String]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringstring__String = {
+329,
+"NativeArray[nullable HashMapNode[String, String]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MMethod,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1526, /* HashSetIterator[PropertyLayoutElement] */
-1855, /* HashSetIterator[MProperty] */
-2127, /* HashSetIterator[MMethod] */
+329, /* NativeArray[nullable HashMapNode[String, String]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MMethod = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringstring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MMethod, /* HashSet[HashSetIterator#0]: HashSet[MMethod] */
-&type_array__Arraymodel__MMethod, /* Array[Iterator#0]: Array[MMethod] */
+&type_nullable_hash_collection__HashMapNodestring__Stringstring__String, /* NativeArray#0: nullable HashMapNode[String, String] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringstring__String, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, String]] */
 }
 };
-/* runtime type HashSetIterator[MProperty] */
-const struct type type_hash_collection__HashSetIteratormodel__MProperty = {
-1855,
-"HashSetIterator[MProperty]", /* class_name_string */
-4,
+/* runtime type HashMapNode[String, String] */
+const struct type type_hash_collection__HashMapNodestring__Stringstring__String = {
+1491,
+"HashMapNode[String, String]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MProperty,
-5,
+&resolution_table_hash_collection__HashMapNodestring__Stringstring__String,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1526, /* HashSetIterator[PropertyLayoutElement] */
-1855, /* HashSetIterator[MProperty] */
+123, /* nullable HashMapNode[String, String] */
+1491, /* HashMapNode[String, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringstring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MProperty, /* HashSet[HashSetIterator#0]: HashSet[MProperty] */
-&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
+&type_string__String, /* HashMapNode#0: String */
+&type_string__String, /* HashMapNode#1: String */
+&type_hash_collection__HashMapNodestring__Stringstring__String, /* N: HashMapNode[String, String] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MMethod]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod = {
-2128,
-"NativeArray[nullable HashSetNode[MMethod]]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod,
-6,
+/* runtime type nullable HashMapNode[String, String] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringstring__String = {
+123,
+"nullable HashMapNode[String, String]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringstring__String,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1527, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-1856, /* NativeArray[nullable HashSetNode[MProperty]] */
-2128, /* NativeArray[nullable HashSetNode[MMethod]] */
+-1, /* empty */
+123, /* nullable HashMapNode[String, String] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringstring__String = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MMethod, /* NativeArray#0: nullable HashSetNode[MMethod] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MMethod, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MMethod]] */
+&type_string__String, /* HashMapNode#0: String */
+&type_string__String, /* HashMapNode#1: String */
+&type_hash_collection__HashMapNodestring__Stringstring__String, /* N: HashMapNode[String, String] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MProperty]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty = {
-1856,
-"NativeArray[nullable HashSetNode[MProperty]]", /* class_name_string */
-4,
+/* runtime type HashMapIterator[String, String] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringstring__String = {
+1492,
+"HashMapIterator[String, String]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty,
-5,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringstring__String,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1527, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-1856, /* NativeArray[nullable HashSetNode[MProperty]] */
+330, /* MapIterator[String, String] */
+1492, /* HashMapIterator[String, String] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MProperty, /* NativeArray#0: nullable HashSetNode[MProperty] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MProperty]] */
+&type_hash_collection__HashMapstring__Stringstring__String, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, String] */
 }
 };
-/* runtime type ListNode[MMethodDef] */
-const struct type type_list__ListNodemodel__MMethodDef = {
-2572,
-"ListNode[MMethodDef]", /* class_name_string */
-6,
+/* runtime type MapIterator[String, String] */
+const struct type type_abstract_collection__MapIteratorstring__Stringstring__String = {
+330,
+"MapIterator[String, String]", /* class_name_string */
+2,
 0,
-&resolution_table_list__ListNodemodel__MMethodDef,
-13,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-190, /* Collection[nullable MPropDef] */
-2526, /* Container[MMethodDef] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-2572, /* ListNode[MMethodDef] */
--1, /* empty */
-1971, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2261, /* Collection[MMethodDef] */
+330, /* MapIterator[String, String] */
 },
 };
-const struct types resolution_table_list__ListNodemodel__MMethodDef = {
-0, /* dummy */
+/* runtime type ArrayIterator[ExternCFile] */
+const struct type type_array__ArrayIteratorabstract_compiler__ExternCFile = {
+1493,
+"ArrayIterator[ExternCFile]", /* class_name_string */
+3,
+0,
+&resolution_table_array__ArrayIteratorabstract_compiler__ExternCFile,
+4,
 {
-&type_model__MMethodDef, /* ListNode#0: MMethodDef */
-&type_list__ListNodemodel__MMethodDef, /* ListNode[ListNode#0]: ListNode[MMethodDef] */
-&type_abstract_collection__ContainerIteratormodel__MMethodDef, /* ContainerIterator[Container#0]: ContainerIterator[MMethodDef] */
-&type_model__MMethodDef, /* Container#0: MMethodDef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MMethodDef, /* Collection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
+0, /* nullable Object */
+1, /* Object */
+277, /* ArrayIterator[Object] */
+1493, /* ArrayIterator[ExternCFile] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_compiler__ExternCFile = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadabstract_compiler__ExternCFile, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ExternCFile] */
+&type_array__Arrayabstract_compiler__ExternCFile, /* Array[Iterator#0]: Array[ExternCFile] */
 }
 };
-/* runtime type Container[MMethodDef] */
-const struct type type_abstract_collection__Containermodel__MMethodDef = {
-2526,
-"Container[MMethodDef]", /* class_name_string */
+/* runtime type NativeArray[ExternCFile] */
+const struct type type_array__NativeArrayabstract_compiler__ExternCFile = {
+1494,
+"NativeArray[ExternCFile]", /* class_name_string */
 3,
 0,
-NULL,
-13,
+&resolution_table_array__NativeArrayabstract_compiler__ExternCFile,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-190, /* Collection[nullable MPropDef] */
-2526, /* Container[MMethodDef] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
-1971, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2261, /* Collection[MMethodDef] */
+185, /* NativeArray[Object] */
+1494, /* NativeArray[ExternCFile] */
 },
 };
-/* runtime type ListIterator[MMethodDef] */
-const struct type type_list__ListIteratormodel__MMethodDef = {
-319,
-"ListIterator[MMethodDef]", /* class_name_string */
+const struct types resolution_table_array__NativeArrayabstract_compiler__ExternCFile = {
+0, /* dummy */
+{
+&type_abstract_compiler__ExternCFile, /* NativeArray#0: ExternCFile */
+&type_array__NativeArrayabstract_compiler__ExternCFile, /* NativeArray[NativeArray#0]: NativeArray[ExternCFile] */
+}
+};
+/* runtime type ArraySetIterator[String] */
+const struct type type_array__ArraySetIteratorstring__String = {
+331,
+"ArraySetIterator[String]", /* class_name_string */
 2,
 0,
-&resolution_table_list__ListIteratormodel__MMethodDef,
+&resolution_table_array__ArraySetIteratorstring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-319, /* ListIterator[MMethodDef] */
+331, /* ArraySetIterator[String] */
 },
 };
-const struct types resolution_table_list__ListIteratormodel__MMethodDef = {
+const struct types resolution_table_array__ArraySetIteratorstring__String = {
 0, /* dummy */
 {
-&type_model__MMethodDef, /* ListIterator#0: MMethodDef */
-&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
-&type_list__Listmodel__MMethodDef, /* List[ListIterator#0]: List[MMethodDef] */
+&type_array__ArrayIteratorstring__String, /* ArrayIterator[ArraySetIterator#0]: ArrayIterator[String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type HashMapKeys[MClassDef, HashSet[MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType = {
-1857,
-"HashMapKeys[MClassDef, HashSet[MType]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MClassType, String] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypestring__String = {
+2355,
+"HashMapKeys[MClassType, String]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypestring__String,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-593, /* Collection[MClassDef] */
-1857, /* HashMapKeys[MClassDef, HashSet[MType]] */
-166, /* Collection[Object] */
+2355, /* HashMapKeys[MClassType, String] */
+-1, /* empty */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+-1, /* empty */
+1737, /* Collection[MType] */
+-1, /* empty */
+-1, /* empty */
+1916, /* Collection[MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassDef, HashSet[MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassDef, HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MClassTypestring__String, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, String] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypestring__String, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, String] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClassDef, /* Collection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type HashMapValues[MClassDef, HashSet[MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType = {
-2129,
-"HashMapValues[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type HashMapValues[MClassType, String] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypestring__String = {
+1814,
+"HashMapValues[MClassType, String]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType,
-6,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypestring__String,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-2129, /* HashMapValues[MClassDef, HashSet[MType]] */
-166, /* Collection[Object] */
-1858, /* Collection[HashSet[MType]] */
+595, /* Collection[String] */
+1814, /* HashMapValues[MClassType, String] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassDef, HashSet[MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassDef, HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MClassTypestring__String, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, String] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypestring__String, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, String] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
+&type_string__String, /* RemovableCollection#0: String */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type Collection[HashSet[MType]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashSetmodel__MType = {
-1858,
-"Collection[HashSet[MType]]", /* class_name_string */
-5,
-0,
-NULL,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-1529, /* Collection[Set[MType]] */
--1, /* empty */
-166, /* Collection[Object] */
-1858, /* Collection[HashSet[MType]] */
-},
-};
-/* runtime type Collection[Set[MType]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MType = {
-1529,
-"Collection[Set[MType]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1529, /* Collection[Set[MType]] */
--1, /* empty */
-166, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
-320,
-"NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClassType, String]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypestring__String = {
+332,
+"NativeArray[nullable HashMapNode[MClassType, String]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypestring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-320, /* NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
+332, /* NativeArray[nullable HashMapNode[MClassType, String]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* NativeArray#0: nullable HashMapNode[MClassDef, HashSet[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassDef, HashSet[MType]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypestring__String, /* NativeArray#0: nullable HashMapNode[MClassType, String] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypestring__String, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, String]] */
 }
 };
-/* runtime type HashMapNode[MClassDef, HashSet[MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
-1530,
-"HashMapNode[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type HashMapNode[MClassType, String] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypestring__String = {
+1495,
+"HashMapNode[MClassType, String]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypestring__String,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-121, /* nullable HashMapNode[MClassDef, HashSet[MType]] */
-1530, /* HashMapNode[MClassDef, HashSet[MType]] */
+124, /* nullable HashMapNode[MClassType, String] */
+1495, /* HashMapNode[MClassType, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashMapNode#0: MClassDef */
-&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
-&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* N: HashMapNode[MClassDef, HashSet[MType]] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_string__String, /* HashMapNode#1: String */
+&type_hash_collection__HashMapNodemodel__MClassTypestring__String, /* N: HashMapNode[MClassType, String] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type nullable HashMapNode[MClassDef, HashSet[MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
-121,
-"nullable HashMapNode[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClassType, String] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypestring__String = {
+124,
+"nullable HashMapNode[MClassType, String]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypestring__String,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-121, /* nullable HashMapNode[MClassDef, HashSet[MType]] */
+124, /* nullable HashMapNode[MClassType, String] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashMapNode#0: MClassDef */
-&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
-&type_hash_collection__HashMapNodemodel__MClassDefhash_collection__HashSetmodel__MType, /* N: HashMapNode[MClassDef, HashSet[MType]] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_string__String, /* HashMapNode#1: String */
+&type_hash_collection__HashMapNodemodel__MClassTypestring__String, /* N: HashMapNode[MClassType, String] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type HashMapIterator[MClassDef, HashSet[MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
-1531,
-"HashMapIterator[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type HashMapIterator[MClassType, String] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypestring__String = {
+1496,
+"HashMapIterator[MClassType, String]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypestring__String,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-321, /* MapIterator[MClassDef, HashSet[MType]] */
-1531, /* HashMapIterator[MClassDef, HashSet[MType]] */
+333, /* MapIterator[MClassType, String] */
+1496, /* HashMapIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefhash_collection__HashSetmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassDef, HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MClassTypestring__String, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, String] */
 }
 };
-/* runtime type MapIterator[MClassDef, HashSet[MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
-321,
-"MapIterator[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type MapIterator[MClassType, String] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypestring__String = {
+333,
+"MapIterator[MClassType, String]", /* class_name_string */
 2,
 0,
 NULL,
@@ -9454,539 +9393,606 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-321, /* MapIterator[MClassDef, HashSet[MType]] */
+333, /* MapIterator[MClassType, String] */
 },
 };
-/* runtime type HashMapKeys[MClass, Int] */
-const struct type type_hash_collection__HashMapKeysmodel__MClasskernel__Int = {
-2130,
-"HashMapKeys[MClass, Int]", /* class_name_string */
-3,
+/* runtime type ListNode[AbstractRuntimeFunction] */
+const struct type type_list__ListNodeabstract_compiler__AbstractRuntimeFunction = {
+2082,
+"ListNode[AbstractRuntimeFunction]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClasskernel__Int,
+&resolution_table_list__ListNodeabstract_compiler__AbstractRuntimeFunction,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2130, /* HashMapKeys[MClass, Int] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
+609, /* Collection[AbstractRuntimeFunction] */
+1815, /* Container[AbstractRuntimeFunction] */
+164, /* Collection[Object] */
+2082, /* ListNode[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClasskernel__Int = {
+const struct types resolution_table_list__ListNodeabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Int] */
-&type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Int] */
-NULL, /* empty */
+&type_abstract_compiler__AbstractRuntimeFunction, /* ListNode#0: AbstractRuntimeFunction */
+&type_list__ListNodeabstract_compiler__AbstractRuntimeFunction, /* ListNode[ListNode#0]: ListNode[AbstractRuntimeFunction] */
+&type_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction, /* ContainerIterator[Container#0]: ContainerIterator[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* Container#0: AbstractRuntimeFunction */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* Collection#0: AbstractRuntimeFunction */
+&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Collection#0]: Collection[AbstractRuntimeFunction] */
 }
 };
-/* runtime type HashMapValues[MClass, Int] */
-const struct type type_hash_collection__HashMapValuesmodel__MClasskernel__Int = {
-1859,
-"HashMapValues[MClass, Int]", /* class_name_string */
+/* runtime type Container[AbstractRuntimeFunction] */
+const struct type type_abstract_collection__Containerabstract_compiler__AbstractRuntimeFunction = {
+1815,
+"Container[AbstractRuntimeFunction]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClasskernel__Int,
+NULL,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-614, /* Collection[Int] */
-1859, /* HashMapValues[MClass, Int] */
-166, /* Collection[Object] */
+609, /* Collection[AbstractRuntimeFunction] */
+1815, /* Container[AbstractRuntimeFunction] */
+164, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClasskernel__Int = {
+/* runtime type ListIterator[AbstractRuntimeFunction] */
+const struct type type_list__ListIteratorabstract_compiler__AbstractRuntimeFunction = {
+334,
+"ListIterator[AbstractRuntimeFunction]", /* class_name_string */
+2,
+0,
+&resolution_table_list__ListIteratorabstract_compiler__AbstractRuntimeFunction,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+334, /* ListIterator[AbstractRuntimeFunction] */
+},
+};
+const struct types resolution_table_list__ListIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Int] */
-&type_abstract_collection__MapValuesIteratormodel__MClasskernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* ListIterator#0: AbstractRuntimeFunction */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
+&type_list__Listabstract_compiler__AbstractRuntimeFunction, /* List[ListIterator#0]: List[AbstractRuntimeFunction] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
-322,
-"NativeArray[nullable HashMapNode[MClass, Int]]", /* class_name_string */
-2,
+/* runtime type HashSetNode[AbstractRuntimeFunction] */
+const struct type type_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction = {
+2083,
+"HashSetNode[AbstractRuntimeFunction]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int,
-3,
+&resolution_table_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* NativeArray[nullable HashMapNode[MClass, Int]] */
+116, /* nullable HashSetNode[Object] */
+335, /* nullable HashSetNode[AbstractRuntimeFunction] */
+1456, /* HashSetNode[Object] */
+2083, /* HashSetNode[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
+const struct types resolution_table_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* NativeArray#0: nullable HashMapNode[MClass, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasskernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Int]] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* HashSetNode#0: AbstractRuntimeFunction */
+NULL, /* empty */
+&type_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* N: HashSetNode[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* HashNode#0: AbstractRuntimeFunction */
 }
 };
-/* runtime type HashMapNode[MClass, Int] */
-const struct type type_hash_collection__HashMapNodemodel__MClasskernel__Int = {
-1532,
-"HashMapNode[MClass, Int]", /* class_name_string */
+/* runtime type nullable HashSetNode[AbstractRuntimeFunction] */
+const struct type type_nullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction = {
+335,
+"nullable HashSetNode[AbstractRuntimeFunction]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapNodemodel__MClasskernel__Int,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction,
 4,
 {
 0, /* nullable Object */
-1, /* Object */
-122, /* nullable HashMapNode[MClass, Int] */
-1532, /* HashMapNode[MClass, Int] */
+-1, /* empty */
+116, /* nullable HashSetNode[Object] */
+335, /* nullable HashSetNode[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClasskernel__Int = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* N: HashMapNode[MClass, Int] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_abstract_compiler__AbstractRuntimeFunction, /* HashSetNode#0: AbstractRuntimeFunction */
+NULL, /* empty */
+&type_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* N: HashSetNode[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* HashNode#0: AbstractRuntimeFunction */
 }
 };
-/* runtime type nullable HashMapNode[MClass, Int] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
-122,
-"nullable HashMapNode[MClass, Int]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int,
+/* runtime type HashSetIterator[AbstractRuntimeFunction] */
+const struct type type_hash_collection__HashSetIteratorabstract_compiler__AbstractRuntimeFunction = {
+1497,
+"HashSetIterator[AbstractRuntimeFunction]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashSetIteratorabstract_compiler__AbstractRuntimeFunction,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-122, /* nullable HashMapNode[MClass, Int] */
+1, /* Object */
+307, /* HashSetIterator[Object] */
+1497, /* HashSetIterator[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClasskernel__Int = {
+const struct types resolution_table_hash_collection__HashSetIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MClasskernel__Int, /* N: HashMapNode[MClass, Int] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_hash_collection__HashSetabstract_compiler__AbstractRuntimeFunction, /* HashSet[HashSetIterator#0]: HashSet[AbstractRuntimeFunction] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
 }
 };
-/* runtime type HashMapIterator[MClass, Int] */
-const struct type type_hash_collection__HashMapIteratormodel__MClasskernel__Int = {
-1533,
-"HashMapIterator[MClass, Int]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[AbstractRuntimeFunction]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction = {
+1498,
+"NativeArray[nullable HashSetNode[AbstractRuntimeFunction]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClasskernel__Int,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-323, /* MapIterator[MClass, Int] */
-1533, /* HashMapIterator[MClass, Int] */
+308, /* NativeArray[nullable HashSetNode[Object]] */
+1498, /* NativeArray[nullable HashSetNode[AbstractRuntimeFunction]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClasskernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Int] */
+&type_nullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* NativeArray#0: nullable HashSetNode[AbstractRuntimeFunction] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodeabstract_compiler__AbstractRuntimeFunction, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[AbstractRuntimeFunction]] */
 }
 };
-/* runtime type MapIterator[MClass, Int] */
-const struct type type_abstract_collection__MapIteratormodel__MClasskernel__Int = {
-323,
-"MapIterator[MClass, Int]", /* class_name_string */
-2,
+/* runtime type HashMapKeys[MType, Array[MClassType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MClassType = {
+2462,
+"HashMapKeys[MType, Array[MClassType]]", /* class_name_string */
+6,
 0,
-NULL,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MClassType,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+2076, /* HashMapKeys[MType, Array[nullable MType]] */
+2356, /* HashMapKeys[MType, Array[MType]] */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+2462, /* HashMapKeys[MType, Array[MClassType]] */
+1737, /* Collection[MType] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MClassType = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MClassType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MClassType]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MClassType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+}
+};
+/* runtime type HashMapKeys[MType, Array[MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MType = {
+2356,
+"HashMapKeys[MType, Array[MType]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MType,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-323, /* MapIterator[MClass, Int] */
+2076, /* HashMapKeys[MType, Array[nullable MType]] */
+2356, /* HashMapKeys[MType, Array[MType]] */
+164, /* Collection[Object] */
+173, /* Collection[nullable MType] */
+-1, /* empty */
+1737, /* Collection[MType] */
 },
 };
-/* runtime type HashMapKeys[MType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType = {
-2131,
-"HashMapKeys[MType, Array[nullable MType]]", /* class_name_string */
-2,
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MType = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+}
+};
+/* runtime type HashMapValues[MType, Array[MClassType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MClassType = {
+2549,
+"HashMapValues[MType, Array[MClassType]]", /* class_name_string */
+7,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType,
-8,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MClassType,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-2131, /* HashMapKeys[MType, Array[nullable MType]] */
+322, /* Collection[nullable Array[nullable MType]] */
+2077, /* HashMapValues[MType, Array[nullable MType]] */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
+2463, /* HashMapValues[MType, Array[MType]] */
+2549, /* HashMapValues[MType, Array[MClassType]] */
+2084, /* Collection[Array[MType]] */
 -1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+2357, /* Collection[Array[MClassType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[nullable MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MClassType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MClassType]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MClassType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
+&type_array__Arraymodel__MClassType, /* RemovableCollection#0: Array[MClassType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_array__Arraymodel__MClassType, /* Collection#0: Array[MClassType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Collection#0]: Collection[Array[MClassType]] */
 }
 };
-/* runtime type HashMapValues[MType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType = {
-2132,
-"HashMapValues[MType, Array[nullable MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType,
+/* runtime type HashMapValues[MType, Array[MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MType = {
+2463,
+"HashMapValues[MType, Array[MType]]", /* class_name_string */
 6,
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MType,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-2132, /* HashMapValues[MType, Array[nullable MType]] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
+322, /* Collection[nullable Array[nullable MType]] */
+2077, /* HashMapValues[MType, Array[nullable MType]] */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
+2463, /* HashMapValues[MType, Array[MType]] */
+-1, /* empty */
+2084, /* Collection[Array[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[nullable MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_array__Arraynullable_model__MType, /* RemovableCollection#0: Array[nullable MType] */
+&type_array__Arraymodel__MType, /* RemovableCollection#0: Array[MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_array__Arraynullable_model__MType, /* Collection#0: Array[nullable MType] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[Array[nullable MType]] */
+&type_array__Arraymodel__MType, /* Collection#0: Array[MType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Collection#0]: Collection[Array[MType]] */
 }
 };
-/* runtime type Collection[Array[nullable MType]] */
-const struct type type_abstract_collection__Collectionarray__Arraynullable_model__MType = {
-1860,
-"Collection[Array[nullable MType]]", /* class_name_string */
-5,
+/* runtime type Collection[Array[MClassType]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MClassType = {
+2357,
+"Collection[Array[MClassType]]", /* class_name_string */
+11,
 0,
 NULL,
-6,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
+322, /* Collection[nullable Array[nullable MType]] */
+-1, /* empty */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
+-1, /* empty */
+-1, /* empty */
+2084, /* Collection[Array[MType]] */
+-1, /* empty */
 -1, /* empty */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
+2357, /* Collection[Array[MClassType]] */
 },
 };
-/* runtime type Collection[nullable Array[nullable MType]] */
-const struct type type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType = {
-324,
-"Collection[nullable Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type Collection[Array[MType]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MType = {
+2084,
+"Collection[Array[MType]]", /* class_name_string */
+8,
 0,
 NULL,
-3,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
+322, /* Collection[nullable Array[nullable MType]] */
+-1, /* empty */
+164, /* Collection[Object] */
+1809, /* Collection[Array[nullable MType]] */
+-1, /* empty */
+-1, /* empty */
+2084, /* Collection[Array[MType]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
-325,
-"NativeArray[nullable HashMapNode[MType, Array[nullable MType]]]", /* class_name_string */
-2,
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MClassType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType = {
+1816,
+"NativeArray[nullable HashMapNode[MType, Array[MClassType]]]", /* class_name_string */
+4,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType,
-3,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-325, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+323, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+1499, /* NativeArray[nullable HashMapNode[MType, Array[MType]]] */
+1816, /* NativeArray[nullable HashMapNode[MType, Array[MClassType]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* NativeArray#0: nullable HashMapNode[MType, Array[nullable MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* NativeArray#0: nullable HashMapNode[MType, Array[MClassType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MClassType]]] */
 }
 };
-/* runtime type HashMapNode[MType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
-1534,
-"HashMapNode[MType, Array[nullable MType]]", /* class_name_string */
-4,
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType = {
+1499,
+"NativeArray[nullable HashMapNode[MType, Array[MType]]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType,
-5,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-123, /* nullable HashMapNode[MType, Array[nullable MType]] */
--1, /* empty */
-1534, /* HashMapNode[MType, Array[nullable MType]] */
+323, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
+1499, /* NativeArray[nullable HashMapNode[MType, Array[MType]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* N: HashMapNode[MType, Array[nullable MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* NativeArray#0: nullable HashMapNode[MType, Array[MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MType]]] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Array[nullable MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
-123,
-"nullable HashMapNode[MType, Array[nullable MType]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType,
-3,
+/* runtime type HashMapNode[MType, Array[MClassType]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType = {
+2464,
+"HashMapNode[MType, Array[MClassType]]", /* class_name_string */
+7,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType,
+8,
 {
 0, /* nullable Object */
--1, /* empty */
-123, /* nullable HashMapNode[MType, Array[nullable MType]] */
+1, /* Object */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
+336, /* nullable HashMapNode[MType, Array[MType]] */
+1484, /* HashMapNode[MType, Array[nullable MType]] */
+1500, /* nullable HashMapNode[MType, Array[MClassType]] */
+2085, /* HashMapNode[MType, Array[MType]] */
+2464, /* HashMapNode[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
 &type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraynullable_model__MType, /* N: HashMapNode[MType, Array[nullable MType]] */
+&type_array__Arraymodel__MClassType, /* HashMapNode#1: Array[MClassType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* N: HashMapNode[MType, Array[MClassType]] */
 &type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type HashMapIterator[MType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType = {
-1535,
-"HashMapIterator[MType, Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MType, Array[MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType = {
+2085,
+"HashMapNode[MType, Array[MType]]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-326, /* MapIterator[MType, Array[nullable MType]] */
-1535, /* HashMapIterator[MType, Array[nullable MType]] */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
+336, /* nullable HashMapNode[MType, Array[MType]] */
+1484, /* HashMapNode[MType, Array[nullable MType]] */
+-1, /* empty */
+2085, /* HashMapNode[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraynullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[nullable MType]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MType, /* HashMapNode#1: Array[MType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* N: HashMapNode[MType, Array[MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type MapIterator[MType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType = {
-326,
-"MapIterator[MType, Array[nullable MType]]", /* class_name_string */
-2,
-0,
-NULL,
-3,
+/* runtime type nullable HashMapNode[MType, Array[MClassType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType = {
+1500,
+"nullable HashMapNode[MType, Array[MClassType]]", /* class_name_string */
+5,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType,
+6,
 {
 0, /* nullable Object */
-1, /* Object */
-326, /* MapIterator[MType, Array[nullable MType]] */
+-1, /* empty */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
+336, /* nullable HashMapNode[MType, Array[MType]] */
+-1, /* empty */
+1500, /* nullable HashMapNode[MType, Array[MClassType]] */
 },
 };
-/* runtime type HashMapKeys[MClassType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType = {
-2527,
-"HashMapKeys[MClassType, Array[nullable MType]]", /* class_name_string */
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType = {
+0, /* dummy */
+{
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MClassType, /* HashMapNode#1: Array[MClassType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MClassType, /* N: HashMapNode[MType, Array[MClassType]] */
+&type_model__MType, /* HashNode#0: MType */
+}
+};
+/* runtime type nullable HashMapNode[MType, Array[MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType = {
+336,
+"nullable HashMapNode[MType, Array[MType]]", /* class_name_string */
 3,
-0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType,
-11,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-2131, /* HashMapKeys[MType, Array[nullable MType]] */
-2527, /* HashMapKeys[MClassType, Array[nullable MType]] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1967, /* Collection[MClassType] */
+121, /* nullable HashMapNode[MType, Array[nullable MType]] */
+336, /* nullable HashMapNode[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Array[nullable MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Array[nullable MType]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MType, /* HashMapNode#1: Array[MType] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MType, /* N: HashMapNode[MType, Array[MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type HashMapValues[MClassType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType = {
-2395,
-"HashMapValues[MClassType, Array[nullable MType]]", /* class_name_string */
-6,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType,
+/* runtime type HashMapIterator[MType, Array[MClassType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MClassType = {
+2465,
+"HashMapIterator[MType, Array[MClassType]]", /* class_name_string */
 7,
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MClassType,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-2132, /* HashMapValues[MType, Array[nullable MType]] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-2395, /* HashMapValues[MClassType, Array[nullable MType]] */
+324, /* MapIterator[MType, Array[nullable MType]] */
+1485, /* HashMapIterator[MType, Array[nullable MType]] */
+1501, /* MapIterator[MType, Array[MType]] */
+1817, /* MapIterator[MType, Array[MClassType]] */
+2086, /* HashMapIterator[MType, Array[MType]] */
+2465, /* HashMapIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypearray__Arraynullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Array[nullable MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Array[nullable MType]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraynullable_model__MType, /* RemovableCollection#0: Array[nullable MType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraynullable_model__MType, /* Collection#0: Array[nullable MType] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MClassType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MClassType]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
-1536,
-"NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MType, Array[MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MType = {
+2086,
+"HashMapIterator[MType, Array[MType]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType,
-4,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-325, /* NativeArray[nullable HashMapNode[MType, Array[nullable MType]]] */
-1536, /* NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
+324, /* MapIterator[MType, Array[nullable MType]] */
+1485, /* HashMapIterator[MType, Array[nullable MType]] */
+1501, /* MapIterator[MType, Array[MType]] */
+-1, /* empty */
+2086, /* HashMapIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* NativeArray#0: nullable HashMapNode[MClassType, Array[nullable MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Array[nullable MType]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MType]] */
 }
 };
-/* runtime type HashMapNode[MClassType, Array[nullable MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
-2133,
-"HashMapNode[MClassType, Array[nullable MType]]", /* class_name_string */
+/* runtime type MapIterator[MType, Array[MClassType]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType = {
+1817,
+"MapIterator[MType, Array[MClassType]]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType,
+NULL,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-123, /* nullable HashMapNode[MType, Array[nullable MType]] */
-327, /* nullable HashMapNode[MClassType, Array[nullable MType]] */
-1534, /* HashMapNode[MType, Array[nullable MType]] */
-2133, /* HashMapNode[MClassType, Array[nullable MType]] */
+324, /* MapIterator[MType, Array[nullable MType]] */
+-1, /* empty */
+1501, /* MapIterator[MType, Array[MType]] */
+1817, /* MapIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
-0, /* dummy */
-{
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
-&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* N: HashMapNode[MClassType, Array[nullable MType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
-}
-};
-/* runtime type nullable HashMapNode[MClassType, Array[nullable MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
-327,
-"nullable HashMapNode[MClassType, Array[nullable MType]]", /* class_name_string */
-3,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType,
+/* runtime type MapIterator[MType, Array[MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType = {
+1501,
+"MapIterator[MType, Array[MType]]", /* class_name_string */
 4,
+0,
+NULL,
+5,
 {
 0, /* nullable Object */
+1, /* Object */
+324, /* MapIterator[MType, Array[nullable MType]] */
 -1, /* empty */
-123, /* nullable HashMapNode[MType, Array[nullable MType]] */
-327, /* nullable HashMapNode[MClassType, Array[nullable MType]] */
+1501, /* MapIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType = {
-0, /* dummy */
-{
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_array__Arraynullable_model__MType, /* HashMapNode#1: Array[nullable MType] */
-&type_hash_collection__HashMapNodemodel__MClassTypearray__Arraynullable_model__MType, /* N: HashMapNode[MClassType, Array[nullable MType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
-}
-};