stdlib/strings: Minor style fix
[nit.git] / c_src / nitg.types.6.c
index 0c6271c..56bf51f 100644 (file)
 #include "nitg.types.0.h"
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_poset__POSetElementmodel__MType, /* HashMapNode#1: POSetElement[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* N: HashMapNode[MType, POSetElement[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable MProperty] */
+&type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, nullable MProperty] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+&type_string__String, /* MapRead#0: String */
+&type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, nullable MProperty] */
+&type_string__String, /* Map#0: String */
+&type_nullable_model__MProperty, /* Map#1: nullable MProperty */
+&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, nullable MProperty] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable MProperty] not a live type) */
+&type_nullable_model__MProperty, /* MapRead#1: nullable MProperty */
+&type_string__String, /* HashCollection#0: String */
+&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[String, nullable MProperty] */
 }
 };
-/* runtime type nullable HashMapNode[MClassType, POSetElement[MClassType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
-407,
-"nullable HashMapNode[MClassType, POSetElement[MClassType]]", /* class_name_string */
+/* runtime type MapKeysIterator[String, nullable ModulePath] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath = {
+438,
+"MapKeysIterator[String, nullable ModulePath]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath,
 3,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType,
-4,
 {
 0, /* nullable Object */
--1, /* empty */
-145, /* nullable HashMapNode[MType, POSetElement[MType]] */
-407, /* nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+1, /* Object */
+438, /* MapKeysIterator[String, nullable ModulePath] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_poset__POSetElementmodel__MClassType, /* HashMapNode#1: POSetElement[MClassType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* N: HashMapNode[MClassType, POSetElement[MClassType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_abstract_collection__MapIteratorstring__Stringnullable_modelbuilder__ModulePath, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, nullable ModulePath] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type nullable HashMapNode[MType, POSetElement[MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
-145,
-"nullable HashMapNode[MType, POSetElement[MType]]", /* class_name_string */
+/* runtime type MapValuesIterator[String, nullable ModulePath] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath = {
+439,
+"MapValuesIterator[String, nullable ModulePath]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType,
+0,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-145, /* nullable HashMapNode[MType, POSetElement[MType]] */
+1, /* Object */
+439, /* MapValuesIterator[String, nullable ModulePath] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_poset__POSetElementmodel__MType, /* HashMapNode#1: POSetElement[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* N: HashMapNode[MType, POSetElement[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_abstract_collection__MapIteratorstring__Stringnullable_modelbuilder__ModulePath, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, nullable ModulePath] */
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[Iterator#0]: Array[nullable ModulePath] */
 }
 };
-/* runtime type HashMapIterator[MClassType, POSetElement[MClassType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-2182,
-"HashMapIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[String, nullable MGroup] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup = {
+440,
+"MapKeysIterator[String, nullable MGroup]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
-6,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-408, /* MapIterator[MType, POSetElement[MType]] */
-1643, /* HashMapIterator[MType, POSetElement[MType]] */
-1644, /* MapIterator[MClassType, POSetElement[MClassType]] */
-2182, /* HashMapIterator[MClassType, POSetElement[MClassType]] */
+440, /* MapKeysIterator[String, nullable MGroup] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, POSetElement[MClassType]] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_mproject__MGroup, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, nullable MGroup] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type HashMapIterator[MType, POSetElement[MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType = {
-1643,
-"HashMapIterator[MType, POSetElement[MType]]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[String, nullable MGroup] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup = {
+441,
+"MapValuesIterator[String, nullable MGroup]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-408, /* MapIterator[MType, POSetElement[MType]] */
-1643, /* HashMapIterator[MType, POSetElement[MType]] */
+441, /* MapValuesIterator[String, nullable MGroup] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, POSetElement[MType]] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_mproject__MGroup, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, nullable MGroup] */
+&type_array__Arraynullable_mproject__MGroup, /* Array[Iterator#0]: Array[nullable MGroup] */
 }
 };
-/* runtime type MapIterator[MClassType, POSetElement[MClassType]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1644,
-"MapIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
-4,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-408, /* MapIterator[MType, POSetElement[MType]] */
--1, /* empty */
-1644, /* MapIterator[MClassType, POSetElement[MClassType]] */
-},
-};
-/* runtime type MapIterator[MType, POSetElement[MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType = {
-408,
-"MapIterator[MType, POSetElement[MType]]", /* class_name_string */
+/* runtime type MapKeysIterator[MModule, AModule] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule = {
+442,
+"MapKeysIterator[MModule, AModule]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-408, /* MapIterator[MType, POSetElement[MType]] */
+442, /* MapKeysIterator[MModule, AModule] */
 },
 };
-/* runtime type MapKeysIterator[String, Array[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass = {
-409,
-"MapKeysIterator[String, Array[MClass]]", /* class_name_string */
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratormmodule__MModuleparser_nodes__AModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, AModule] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+}
+};
+/* runtime type MapValuesIterator[MModule, AModule] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule = {
+443,
+"MapValuesIterator[MModule, AModule]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-409, /* MapKeysIterator[String, Array[MClass]] */
+443, /* MapValuesIterator[MModule, AModule] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MClass]] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratormmodule__MModuleparser_nodes__AModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, AModule] */
+&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
 }
 };
-/* runtime type MapValuesIterator[String, Array[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass = {
-410,
-"MapValuesIterator[String, Array[MClass]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClassDef, AClassdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
+444,
+"MapKeysIterator[MClassDef, AClassdef]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-410, /* MapValuesIterator[String, Array[MClass]] */
+444, /* MapKeysIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MClass]] */
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, AClassdef] */
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
 }
 };
-/* runtime type MapKeysIterator[String, Array[MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty = {
-411,
-"MapKeysIterator[String, Array[MProperty]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassDef, AClassdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
+445,
+"MapValuesIterator[MClassDef, AClassdef]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-411, /* MapKeysIterator[String, Array[MProperty]] */
+445, /* MapValuesIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MProperty]] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, AClassdef] */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
 }
 };
-/* runtime type MapValuesIterator[String, Array[MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty = {
-412,
-"MapValuesIterator[String, Array[MProperty]]", /* class_name_string */
+/* runtime type MapKeysIterator[MPropDef, APropdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
+446,
+"MapKeysIterator[MPropDef, APropdef]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-412, /* MapValuesIterator[String, Array[MProperty]] */
+446, /* MapKeysIterator[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MProperty]] */
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Iterator#0]: Array[Array[MProperty]] */
+&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MPropDef, APropdef] */
+&type_array__Arraymodel__MPropDef, /* Array[Iterator#0]: Array[MPropDef] */
 }
 };
-/* runtime type HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1912,
-"HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MPropDef, APropdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
+447,
+"MapValuesIterator[MPropDef, APropdef]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-590, /* Collection[MModule] */
-1912, /* HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
-166, /* Collection[Object] */
+447, /* MapValuesIterator[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-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_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MPropDef, APropdef] */
+&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
 }
 };
-/* runtime type HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1913,
-"HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Set[MProperty]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+1642,
+"MapKeysIterator[MClass, Set[MProperty]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1645, /* Collection[HashMap2[MType, String, nullable MProperty]] */
-1913, /* HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
-166, /* Collection[Object] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1642, /* MapKeysIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap2[MType, String, nullable MProperty] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection#0: HashMap2[MType, String, nullable MProperty] */
-&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[Collection#0]: Collection[HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MProperty]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type Collection[HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1645,
-"Collection[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1645, /* Collection[HashMap2[MType, String, nullable MProperty]] */
--1, /* empty */
-166, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-413,
-"NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+448,
+"MapKeysIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-413, /* NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1646,
-"HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Set[MProperty]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+1643,
+"MapValuesIterator[MClass, Set[MProperty]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-146, /* nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-1646, /* HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1643, /* MapValuesIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap2[MType, String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* N: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MProperty]] */
+&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Iterator#0]: Array[Set[MProperty]] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-146,
-"nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+449,
+"MapValuesIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-146, /* nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+1, /* Object */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap2[MType, String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* N: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
+&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1647,
-"HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+/* runtime type NativeArray[Char] */
+const struct type type_array__NativeArraykernel__Char = {
+1644,
+"NativeArray[Char]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_array__NativeArraykernel__Char,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-414, /* MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-1647, /* HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+193, /* NativeArray[Object] */
+1644, /* NativeArray[Char] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArraykernel__Char = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_kernel__Char, /* NativeArray#0: Char */
+&type_array__NativeArraykernel__Char, /* NativeArray[NativeArray#0]: NativeArray[Char] */
 }
 };
-/* runtime type MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-414,
-"MapIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+/* runtime type MapKeysIterator[String, Option] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
+450,
+"MapKeysIterator[String, Option]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-414, /* MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+450, /* MapKeysIterator[String, Option] */
 },
 };
-/* runtime type HashMap[MType, HashMap[String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-415,
-"HashMap[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Option] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+}
+};
+/* runtime type MapValuesIterator[String, Option] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
+451,
+"MapValuesIterator[String, Option]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-415, /* HashMap[MType, HashMap[String, nullable MProperty]] */
+451, /* MapValuesIterator[String, Option] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, HashMap[String, nullable MProperty]] */
-&type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, HashMap[String, nullable MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, HashMap[String, nullable MProperty]] */
-&type_model__MType, /* Map#0: MType */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Map#1: HashMap[String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, HashMap[String, nullable MProperty]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, HashMap[String, nullable MProperty]] not a live type) */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapRead#1: HashMap[String, nullable MProperty] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Option] */
+&type_array__Arrayopts__Option, /* Array[Iterator#0]: Array[Option] */
 }
 };
-/* runtime type HashMap[String, nullable MProperty] */
-const struct type type_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
-416,
-"HashMap[String, nullable MProperty]", /* class_name_string */
+/* runtime type MapKeysIterator[MClassDef, HashSet[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+452,
+"MapKeysIterator[MClassDef, HashSet[MType]]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-416, /* HashMap[String, nullable MProperty] */
+452, /* MapKeysIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable MProperty] */
-&type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, nullable MProperty] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
-&type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, nullable MProperty] */
-&type_string__String, /* Map#0: String */
-&type_nullable_model__MProperty, /* Map#1: nullable MProperty */
-&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, nullable MProperty] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable MProperty] not a live type) */
-&type_nullable_model__MProperty, /* MapRead#1: nullable MProperty */
-&type_string__String, /* HashCollection#0: String */
-&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[String, nullable MProperty] */
+&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
 }
 };
-/* runtime type MapKeysIterator[String, AModule] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule = {
-417,
-"MapKeysIterator[String, AModule]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassDef, HashSet[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+453,
+"MapValuesIterator[MClassDef, HashSet[MType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-417, /* MapKeysIterator[String, AModule] */
+453, /* MapValuesIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringparser_nodes__AModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, AModule] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
+&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
 }
 };
-/* runtime type MapValuesIterator[String, AModule] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule = {
-418,
-"MapValuesIterator[String, AModule]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
+454,
+"MapKeysIterator[MClass, Int]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-418, /* MapValuesIterator[String, AModule] */
+454, /* MapKeysIterator[MClass, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringparser_nodes__AModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, AModule] */
-&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
-}
+&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Int] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+}
 };
-/* runtime type MapKeysIterator[MModule, AModule] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule = {
-419,
-"MapKeysIterator[MModule, AModule]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
+455,
+"MapValuesIterator[MClass, Int]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-419, /* MapKeysIterator[MModule, AModule] */
+455, /* MapValuesIterator[MClass, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleparser_nodes__AModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, AModule] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type MapValuesIterator[MModule, AModule] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule = {
-420,
-"MapValuesIterator[MModule, AModule]", /* class_name_string */
+/* runtime type MapKeysIterator[MType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
+456,
+"MapKeysIterator[MType, Array[nullable MType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-420, /* MapValuesIterator[MModule, AModule] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleparser_nodes__AModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, AModule] */
-&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[nullable MType]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type MapKeysIterator[MClassDef, AClassdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
-421,
-"MapKeysIterator[MClassDef, AClassdef]", /* class_name_string */
+/* runtime type MapValuesIterator[MType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
+457,
+"MapValuesIterator[MType, Array[nullable MType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-421, /* MapKeysIterator[MClassDef, AClassdef] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, AClassdef] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[nullable MType]] */
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
 }
 };
-/* runtime type MapValuesIterator[MClassDef, AClassdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
-422,
-"MapValuesIterator[MClassDef, AClassdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef,
+/* runtime type MapKeysIterator[MClassType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+1645,
+"MapKeysIterator[MClassType, Array[nullable MType]]", /* class_name_string */
 3,
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-422, /* MapValuesIterator[MClassDef, AClassdef] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
+1645, /* MapKeysIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
+&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type MapKeysIterator[MPropDef, APropdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
-423,
-"MapKeysIterator[MPropDef, APropdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef,
+/* runtime type MapValuesIterator[MClassType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+1646,
+"MapValuesIterator[MClassType, Array[nullable MType]]", /* class_name_string */
 3,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-423, /* MapKeysIterator[MPropDef, APropdef] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
+1646, /* MapValuesIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MPropDef, APropdef] */
-&type_array__Arraymodel__MPropDef, /* Array[Iterator#0]: Array[MPropDef] */
+&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
 }
 };
-/* runtime type MapValuesIterator[MPropDef, APropdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
-424,
-"MapValuesIterator[MPropDef, APropdef]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Array[nullable MPropDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+458,
+"MapKeysIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-424, /* MapValuesIterator[MPropDef, APropdef] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MPropDef, APropdef] */
-&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
-}
-};
-/* runtime type MapKeysIterator[MClass, Set[MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
-1648,
-"MapKeysIterator[MClass, Set[MProperty]]", /* class_name_string */
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef,
 3,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty,
-4,
 {
 0, /* nullable Object */
 1, /* Object */
-425, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-1648, /* MapKeysIterator[MClass, Set[MProperty]] */
+458, /* MapKeysIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MProperty]] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
 &type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-425,
-"MapKeysIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Array[nullable MPropDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+459,
+"MapValuesIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-425, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+459, /* MapValuesIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
+&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[Array[nullable MPropDef]] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Set[MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
-1649,
-"MapValuesIterator[MClass, Set[MProperty]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[String, String] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
+460,
+"MapKeysIterator[String, String]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty,
-4,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-426, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-1649, /* MapValuesIterator[MClass, Set[MProperty]] */
+460, /* MapKeysIterator[String, String] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MProperty]] */
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Iterator#0]: Array[Set[MProperty]] */
+&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-426,
-"MapValuesIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type MapValuesIterator[String, String] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
+461,
+"MapValuesIterator[String, String]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-426, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+461, /* MapValuesIterator[String, String] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
-&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[Set[PropertyLayoutElement]] */
+&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type MapKeysIterator[String, Option] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
-427,
-"MapKeysIterator[String, Option]", /* class_name_string */
+/* runtime type ContainerIterator[CodeFile] */
+const struct type type_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
+462,
+"ContainerIterator[CodeFile]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option,
+&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-427, /* MapKeysIterator[String, Option] */
+462, /* ContainerIterator[CodeFile] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
+const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Option] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__Containerabstract_compiler__CodeFile, /* Container[ContainerIterator#0]: Container[CodeFile] */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
 }
 };
-/* runtime type MapValuesIterator[String, Option] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
-428,
-"MapValuesIterator[String, Option]", /* class_name_string */
-2,
+/* runtime type Array[CodeFile] */
+const struct type type_array__Arrayabstract_compiler__CodeFile = {
+2583,
+"Array[CodeFile]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option,
-3,
+&resolution_table_array__Arrayabstract_compiler__CodeFile,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-428, /* MapValuesIterator[String, Option] */
+642, /* Collection[CodeFile] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2444, /* AbstractArrayRead[CodeFile] */
+1782, /* AbstractArrayRead[Object] */
+2583, /* Array[CodeFile] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
+const struct types resolution_table_array__Arrayabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Option] */
-&type_array__Arrayopts__Option, /* Array[Iterator#0]: Array[Option] */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Array#0]: Array[CodeFile] */
+&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[Array#0]: NativeArray[CodeFile] */
+&type_abstract_compiler__CodeFile, /* Sequence#0: CodeFile */
+&type_abstract_compiler__CodeFile, /* SimpleCollection#0: CodeFile */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Array#0]: Collection[CodeFile] */
+&type_abstract_compiler__CodeFile, /* Array#0: CodeFile */
+&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[ArrayCapable#0]: NativeArray[CodeFile] */
+&type_abstract_compiler__CodeFile, /* AbstractArray#0: CodeFile */
+&type_abstract_compiler__CodeFile, /* RemovableCollection#0: CodeFile */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Sequence#0]: Collection[CodeFile] */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Sequence#0]: Array[CodeFile] */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[SimpleCollection#0]: Collection[CodeFile] */
+&type_abstract_compiler__CodeFile, /* Collection#0: CodeFile */
+&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Collection#0]: Collection[CodeFile] */
+&type_abstract_compiler__CodeFile, /* SequenceRead#0: CodeFile */
+&type_abstract_compiler__CodeFile, /* AbstractArrayRead#0: CodeFile */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[AbstractArrayRead#0]: Array[CodeFile] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[CodeFile] not a live type) */
+&type_array__ArrayIteratorabstract_compiler__CodeFile, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CodeFile] */
 }
 };
-/* runtime type NativeArray[Char] */
-const struct type type_array__NativeArraykernel__Char = {
-1650,
-"NativeArray[Char]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[CodeFile] */
+const struct type type_array__AbstractArrayReadabstract_compiler__CodeFile = {
+2444,
+"AbstractArrayRead[CodeFile]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraykernel__Char,
-4,
+NULL,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1650, /* NativeArray[Char] */
+642, /* Collection[CodeFile] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2444, /* AbstractArrayRead[CodeFile] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraykernel__Char = {
-0, /* dummy */
-{
-&type_kernel__Char, /* NativeArray#0: Char */
-&type_array__NativeArraykernel__Char, /* NativeArray[NativeArray#0]: NativeArray[Char] */
-}
-};
 /* runtime type ContainerIterator[MMethodDef] */
 const struct type type_abstract_collection__ContainerIteratormodel__MMethodDef = {
-429,
+463,
 "ContainerIterator[MMethodDef]", /* class_name_string */
 2,
 0,
@@ -801,7 +729,7 @@ const struct type type_abstract_collection__ContainerIteratormodel__MMethodDef =
 {
 0, /* nullable Object */
 1, /* Object */
-429, /* ContainerIterator[MMethodDef] */
+463, /* ContainerIterator[MMethodDef] */
 },
 };
 const struct types resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef = {
@@ -811,680 +739,321 @@ const struct types resolution_table_abstract_collection__ContainerIteratormodel_
 &type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
 }
 };
-/* runtime type MapKeysIterator[MClassDef, HashSet[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
-430,
-"MapKeysIterator[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClassType, String] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
+464,
+"MapKeysIterator[MClassType, String]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-430, /* MapKeysIterator[MClassDef, HashSet[MType]] */
+464, /* MapKeysIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, String] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type MapValuesIterator[MClassDef, HashSet[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
-431,
-"MapValuesIterator[MClassDef, HashSet[MType]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassType, String] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
+465,
+"MapValuesIterator[MClassType, String]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-431, /* MapValuesIterator[MClassDef, HashSet[MType]] */
+465, /* MapValuesIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
+&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
-432,
-"MapKeysIterator[MClass, Int]", /* class_name_string */
+/* runtime type ContainerIterator[AbstractRuntimeFunction] */
+const struct type type_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
+466,
+"ContainerIterator[AbstractRuntimeFunction]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int,
+&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-432, /* MapKeysIterator[MClass, Int] */
+466, /* ContainerIterator[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Int] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__Containerabstract_compiler__AbstractRuntimeFunction, /* Container[ContainerIterator#0]: Container[AbstractRuntimeFunction] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
-433,
-"MapValuesIterator[MClass, Int]", /* class_name_string */
-2,
+/* runtime type Array[AbstractRuntimeFunction] */
+const struct type type_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
+2584,
+"Array[AbstractRuntimeFunction]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int,
-3,
+&resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-433, /* MapValuesIterator[MClass, Int] */
+645, /* Collection[AbstractRuntimeFunction] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2445, /* AbstractArrayRead[AbstractRuntimeFunction] */
+1782, /* AbstractArrayRead[Object] */
+2584, /* Array[AbstractRuntimeFunction] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
+const struct types resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Array#0]: Array[AbstractRuntimeFunction] */
+&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[Array#0]: NativeArray[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* Sequence#0: AbstractRuntimeFunction */
+&type_abstract_compiler__AbstractRuntimeFunction, /* SimpleCollection#0: AbstractRuntimeFunction */
+&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Array#0]: Collection[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* Array#0: AbstractRuntimeFunction */
+&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[ArrayCapable#0]: NativeArray[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* AbstractArray#0: AbstractRuntimeFunction */
+&type_abstract_compiler__AbstractRuntimeFunction, /* RemovableCollection#0: AbstractRuntimeFunction */
+&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Sequence#0]: Collection[AbstractRuntimeFunction] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Sequence#0]: Array[AbstractRuntimeFunction] */
+&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[SimpleCollection#0]: Collection[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* Collection#0: AbstractRuntimeFunction */
+&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Collection#0]: Collection[AbstractRuntimeFunction] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* SequenceRead#0: AbstractRuntimeFunction */
+&type_abstract_compiler__AbstractRuntimeFunction, /* AbstractArrayRead#0: AbstractRuntimeFunction */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[AbstractArrayRead#0]: Array[AbstractRuntimeFunction] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AbstractRuntimeFunction] not a live type) */
+&type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AbstractRuntimeFunction] */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
-434,
-"MapKeysIterator[MType, Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[AbstractRuntimeFunction] */
+const struct type type_array__AbstractArrayReadabstract_compiler__AbstractRuntimeFunction = {
+2445,
+"AbstractArrayRead[AbstractRuntimeFunction]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType,
-3,
+NULL,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-434, /* MapKeysIterator[MType, Array[nullable MType]] */
+645, /* Collection[AbstractRuntimeFunction] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2445, /* AbstractArrayRead[AbstractRuntimeFunction] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[nullable MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-}
-};
-/* runtime type MapValuesIterator[MType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
-435,
-"MapValuesIterator[MType, Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MType, Array[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
+1920,
+"MapKeysIterator[MType, Array[MClassType]]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType,
-3,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-435, /* MapValuesIterator[MType, Array[nullable MType]] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
+1647, /* MapKeysIterator[MType, Array[MType]] */
+1920, /* MapKeysIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[nullable MType]] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MClassType]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type MapKeysIterator[MClassType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
-1651,
-"MapKeysIterator[MClassType, Array[nullable MType]]", /* class_name_string */
+/* runtime type MapKeysIterator[MType, Array[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
+1647,
+"MapKeysIterator[MType, Array[MType]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-434, /* MapKeysIterator[MType, Array[nullable MType]] */
-1651, /* MapKeysIterator[MClassType, Array[nullable MType]] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
+1647, /* MapKeysIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MType]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type MapValuesIterator[MClassType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
-1652,
-"MapValuesIterator[MClassType, Array[nullable MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType,
+/* runtime type MapValuesIterator[MType, Array[MClassType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
+1921,
+"MapValuesIterator[MType, Array[MClassType]]", /* class_name_string */
 4,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-435, /* MapValuesIterator[MType, Array[nullable MType]] */
-1652, /* MapValuesIterator[MClassType, Array[nullable MType]] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
+1648, /* MapValuesIterator[MType, Array[MType]] */
+1921, /* MapValuesIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MClassType]] */
+&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Iterator#0]: Array[Array[MClassType]] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Array[nullable MPropDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
-436,
-"MapKeysIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef,
+/* runtime type MapValuesIterator[MType, Array[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
+1648,
+"MapValuesIterator[MType, Array[MType]]", /* class_name_string */
 3,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-436, /* MapKeysIterator[MClass, Array[nullable MPropDef]] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
+1648, /* MapValuesIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MType]] */
+&type_array__Arrayarray__Arraymodel__MType, /* Array[Iterator#0]: Array[Array[MType]] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Array[nullable MPropDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
-437,
-"MapValuesIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
+/* runtime type MapKeysIterator[String, Int] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
+467,
+"MapKeysIterator[String, Int]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-437, /* MapValuesIterator[MClass, Array[nullable MPropDef]] */
+467, /* MapKeysIterator[String, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[Array[nullable MPropDef]] */
+&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Int] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type ContainerIterator[CodeFile] */
-const struct type type_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
-438,
-"ContainerIterator[CodeFile]", /* class_name_string */
+/* runtime type MapValuesIterator[String, Int] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
+468,
+"MapValuesIterator[String, Int]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-438, /* ContainerIterator[CodeFile] */
+468, /* MapValuesIterator[String, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerabstract_compiler__CodeFile, /* Container[ContainerIterator#0]: Container[CodeFile] */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
+&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type Array[CodeFile] */
-const struct type type_array__Arrayabstract_compiler__CodeFile = {
-2576,
-"Array[CodeFile]", /* class_name_string */
-7,
+/* runtime type HashMapKeys[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
+2446,
+"HashMapKeys[MClass, Array[MClass]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__Arrayabstract_compiler__CodeFile,
-10,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-608, /* Collection[CodeFile] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2420, /* AbstractArrayRead[CodeFile] */
-1778, /* AbstractArrayRead[Object] */
-2576, /* Array[CodeFile] */
--1, /* empty */
-1962, /* Array[Object] */
+178, /* Collection[nullable MClass] */
+2166, /* HashMapKeys[MClass, Array[nullable MClass]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
+2446, /* HashMapKeys[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_compiler__CodeFile = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Array#0]: Array[CodeFile] */
-&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[Array#0]: NativeArray[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Sequence#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* SimpleCollection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Array#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Array#0: CodeFile */
-&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[ArrayCapable#0]: NativeArray[CodeFile] */
-&type_abstract_compiler__CodeFile, /* AbstractArray#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* RemovableCollection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Sequence#0]: Collection[CodeFile] */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Sequence#0]: Array[CodeFile] */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[SimpleCollection#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Collection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Collection#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* SequenceRead#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* AbstractArrayRead#0: CodeFile */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[AbstractArrayRead#0]: Array[CodeFile] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[CodeFile] not a live type) */
-&type_array__ArrayIteratorabstract_compiler__CodeFile, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CodeFile] */
+&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Array[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Array[MClass]] */
+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] */
 }
 };
-/* runtime type AbstractArrayRead[CodeFile] */
-const struct type type_array__AbstractArrayReadabstract_compiler__CodeFile = {
-2420,
-"AbstractArrayRead[CodeFile]", /* class_name_string */
-5,
+/* runtime type HashMapValues[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
+2447,
+"HashMapValues[MClass, Array[MClass]]", /* class_name_string */
+6,
 0,
-NULL,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass,
 7,
 {
 0, /* nullable Object */
 1, /* Object */
-608, /* Collection[CodeFile] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2420, /* AbstractArrayRead[CodeFile] */
-1778, /* AbstractArrayRead[Object] */
+1479, /* Collection[Array[nullable MClass]] */
+1893, /* HashMapValues[MClass, Array[nullable MClass]] */
+170, /* Collection[Object] */
+1843, /* Collection[Array[MClass]] */
+2447, /* HashMapValues[MClass, Array[MClass]] */
 },
 };
-/* runtime type MapKeysIterator[String, String] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
-439,
-"MapKeysIterator[String, String]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-439, /* MapKeysIterator[String, String] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
-}
-};
-/* runtime type MapValuesIterator[String, String] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
-440,
-"MapValuesIterator[String, String]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-440, /* MapValuesIterator[String, String] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
-}
-};
-/* runtime type MapKeysIterator[MClassType, String] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
-441,
-"MapKeysIterator[MClassType, String]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-441, /* MapKeysIterator[MClassType, String] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, String] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
-}
-};
-/* runtime type MapValuesIterator[MClassType, String] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
-442,
-"MapValuesIterator[MClassType, String]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-442, /* MapValuesIterator[MClassType, String] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
-}
-};
-/* runtime type ContainerIterator[AbstractRuntimeFunction] */
-const struct type type_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
-443,
-"ContainerIterator[AbstractRuntimeFunction]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-443, /* ContainerIterator[AbstractRuntimeFunction] */
-},
-};
-const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
-0, /* dummy */
-{
-&type_abstract_collection__Containerabstract_compiler__AbstractRuntimeFunction, /* Container[ContainerIterator#0]: Container[AbstractRuntimeFunction] */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
-}
-};
-/* runtime type Array[AbstractRuntimeFunction] */
-const struct type type_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
-2577,
-"Array[AbstractRuntimeFunction]", /* class_name_string */
-7,
-0,
-&resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-611, /* Collection[AbstractRuntimeFunction] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2421, /* AbstractArrayRead[AbstractRuntimeFunction] */
-1778, /* AbstractArrayRead[Object] */
-2577, /* Array[AbstractRuntimeFunction] */
--1, /* empty */
-1962, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
-0, /* dummy */
-{
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Array#0]: Array[AbstractRuntimeFunction] */
-&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[Array#0]: NativeArray[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Sequence#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SimpleCollection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Array#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Array#0: AbstractRuntimeFunction */
-&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[ArrayCapable#0]: NativeArray[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* AbstractArray#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* RemovableCollection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Sequence#0]: Collection[AbstractRuntimeFunction] */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Sequence#0]: Array[AbstractRuntimeFunction] */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[SimpleCollection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Collection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Collection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SequenceRead#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* AbstractArrayRead#0: AbstractRuntimeFunction */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[AbstractArrayRead#0]: Array[AbstractRuntimeFunction] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AbstractRuntimeFunction] not a live type) */
-&type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AbstractRuntimeFunction] */
-}
-};
-/* runtime type AbstractArrayRead[AbstractRuntimeFunction] */
-const struct type type_array__AbstractArrayReadabstract_compiler__AbstractRuntimeFunction = {
-2421,
-"AbstractArrayRead[AbstractRuntimeFunction]", /* class_name_string */
-5,
-0,
-NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-611, /* Collection[AbstractRuntimeFunction] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2421, /* AbstractArrayRead[AbstractRuntimeFunction] */
-1778, /* AbstractArrayRead[Object] */
-},
-};
-/* runtime type MapKeysIterator[MType, Array[MClassType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
-1914,
-"MapKeysIterator[MType, Array[MClassType]]", /* class_name_string */
-4,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-434, /* MapKeysIterator[MType, Array[nullable MType]] */
-1653, /* MapKeysIterator[MType, Array[MType]] */
-1914, /* MapKeysIterator[MType, Array[MClassType]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MClassType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-}
-};
-/* runtime type MapKeysIterator[MType, Array[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
-1653,
-"MapKeysIterator[MType, Array[MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-434, /* MapKeysIterator[MType, Array[nullable MType]] */
-1653, /* MapKeysIterator[MType, Array[MType]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-}
-};
-/* runtime type MapValuesIterator[MType, Array[MClassType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
-1915,
-"MapValuesIterator[MType, Array[MClassType]]", /* class_name_string */
-4,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-435, /* MapValuesIterator[MType, Array[nullable MType]] */
-1654, /* MapValuesIterator[MType, Array[MType]] */
-1915, /* MapValuesIterator[MType, Array[MClassType]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MClassType]] */
-&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Iterator#0]: Array[Array[MClassType]] */
-}
-};
-/* runtime type MapValuesIterator[MType, Array[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
-1654,
-"MapValuesIterator[MType, Array[MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-435, /* MapValuesIterator[MType, Array[nullable MType]] */
-1654, /* MapValuesIterator[MType, Array[MType]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MType]] */
-&type_array__Arrayarray__Arraymodel__MType, /* Array[Iterator#0]: Array[Array[MType]] */
-}
-};
-/* runtime type ContainerIterator[MClassType] */
-const struct type type_abstract_collection__ContainerIteratormodel__MClassType = {
-444,
-"ContainerIterator[MClassType]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__ContainerIteratormodel__MClassType,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-444, /* ContainerIterator[MClassType] */
-},
-};
-const struct types resolution_table_abstract_collection__ContainerIteratormodel__MClassType = {
-0, /* dummy */
-{
-&type_abstract_collection__Containermodel__MClassType, /* Container[ContainerIterator#0]: Container[MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
-}
-};
-/* runtime type MapKeysIterator[String, Int] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
-445,
-"MapKeysIterator[String, Int]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-445, /* MapKeysIterator[String, Int] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Int] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
-}
-};
-/* runtime type MapValuesIterator[String, Int] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
-446,
-"MapValuesIterator[String, Int]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-446, /* MapValuesIterator[String, Int] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
-}
-};
-/* runtime type HashMapKeys[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
-2422,
-"HashMapKeys[MClass, Array[MClass]]", /* class_name_string */
-6,
-0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-173, /* Collection[nullable MClass] */
-2159, /* HashMapKeys[MClass, Array[nullable MClass]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
-2422, /* HashMapKeys[MClass, Array[MClass]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Array[MClass]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Array[MClass]] */
-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] */
-}
-};
-/* runtime type HashMapValues[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
-2423,
-"HashMapValues[MClass, Array[MClass]]", /* class_name_string */
-6,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
-1893, /* HashMapValues[MClass, Array[nullable MClass]] */
-166, /* Collection[Object] */
-1838, /* Collection[Array[MClass]] */
-2423, /* HashMapValues[MClass, Array[MClass]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
-0, /* dummy */
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
+0, /* dummy */
 {
 &type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Array[MClass]] */
 &type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Array[MClass]] */
@@ -1504,7 +1073,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
-1655,
+1649,
 "NativeArray[nullable HashMapNode[MClass, Array[MClass]]]", /* class_name_string */
 3,
 0,
@@ -1513,8 +1082,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-367, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
-1655, /* NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
+377, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
+1649, /* NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
@@ -1526,7 +1095,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MClass, Array[MClass]] */
 const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
-2183,
+2193,
 "HashMapNode[MClass, Array[MClass]]", /* class_name_string */
 5,
 0,
@@ -1536,9 +1105,9 @@ const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraymode
 0, /* nullable Object */
 1, /* Object */
 133, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
-447, /* nullable HashMapNode[MClass, Array[MClass]] */
-1591, /* HashMapNode[MClass, Array[nullable MClass]] */
-2183, /* HashMapNode[MClass, Array[MClass]] */
+469, /* nullable HashMapNode[MClass, Array[MClass]] */
+1575, /* HashMapNode[MClass, Array[nullable MClass]] */
+2193, /* HashMapNode[MClass, Array[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
@@ -1552,7 +1121,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarr
 };
 /* runtime type nullable HashMapNode[MClass, Array[MClass]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
-447,
+469,
 "nullable HashMapNode[MClass, Array[MClass]]", /* class_name_string */
 3,
 1,
@@ -1562,7 +1131,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__
 0, /* nullable Object */
 -1, /* empty */
 133, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
-447, /* nullable HashMapNode[MClass, Array[MClass]] */
+469, /* nullable HashMapNode[MClass, Array[MClass]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
@@ -1576,7 +1145,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MClass, Array[MClass]] */
 const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
-2184,
+2194,
 "HashMapIterator[MClass, Array[MClass]]", /* class_name_string */
 5,
 0,
@@ -1585,10 +1154,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Array
 {
 0, /* nullable Object */
 1, /* Object */
-368, /* MapIterator[MClass, Array[nullable MClass]] */
-1592, /* HashMapIterator[MClass, Array[nullable MClass]] */
-1656, /* MapIterator[MClass, Array[MClass]] */
-2184, /* HashMapIterator[MClass, Array[MClass]] */
+378, /* MapIterator[MClass, Array[nullable MClass]] */
+1576, /* HashMapIterator[MClass, Array[nullable MClass]] */
+1650, /* MapIterator[MClass, Array[MClass]] */
+2194, /* HashMapIterator[MClass, Array[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
@@ -1599,7 +1168,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type MapIterator[MClass, Array[MClass]] */
 const struct type type_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass = {
-1656,
+1650,
 "MapIterator[MClass, Array[MClass]]", /* class_name_string */
 4,
 0,
@@ -1608,14 +1177,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-368, /* MapIterator[MClass, Array[nullable MClass]] */
+378, /* MapIterator[MClass, Array[nullable MClass]] */
 -1, /* empty */
-1656, /* MapIterator[MClass, Array[MClass]] */
+1650, /* MapIterator[MClass, Array[MClass]] */
 },
 };
 /* runtime type HashMapKeys[MClass, HashSet[MClass]] */
 const struct type type_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
-2424,
+2448,
 "HashMapKeys[MClass, HashSet[MClass]]", /* class_name_string */
 6,
 0,
@@ -1624,11 +1193,11 @@ const struct type type_hash_collection__HashMapKeysmodel__MClasshash_collection_
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2185, /* HashMapKeys[MClass, Set[MClass]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
-2424, /* HashMapKeys[MClass, HashSet[MClass]] */
+178, /* Collection[nullable MClass] */
+2195, /* HashMapKeys[MClass, Set[MClass]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
+2448, /* HashMapKeys[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -1652,7 +1221,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapKeys[MClass, Set[MClass]] */
 const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
-2185,
+2195,
 "HashMapKeys[MClass, Set[MClass]]", /* class_name_string */
 3,
 0,
@@ -1661,10 +1230,10 @@ const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collect
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2185, /* HashMapKeys[MClass, Set[MClass]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
+178, /* Collection[nullable MClass] */
+2195, /* HashMapKeys[MClass, Set[MClass]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
@@ -1688,7 +1257,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MClass, HashSet[MClass]] */
 const struct type type_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
-2425,
+2449,
 "HashMapValues[MClass, HashSet[MClass]]", /* class_name_string */
 6,
 0,
@@ -1697,11 +1266,11 @@ const struct type type_hash_collection__HashMapValuesmodel__MClasshash_collectio
 {
 0, /* nullable Object */
 1, /* Object */
-1586, /* Collection[Set[MClass]] */
-1916, /* HashMapValues[MClass, Set[MClass]] */
-166, /* Collection[Object] */
-1917, /* Collection[HashSet[MClass]] */
-2425, /* HashMapValues[MClass, HashSet[MClass]] */
+1580, /* Collection[Set[MClass]] */
+1922, /* HashMapValues[MClass, Set[MClass]] */
+170, /* Collection[Object] */
+1923, /* Collection[HashSet[MClass]] */
+2449, /* HashMapValues[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -1725,7 +1294,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MClass, Set[MClass]] */
 const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
-1916,
+1922,
 "HashMapValues[MClass, Set[MClass]]", /* class_name_string */
 3,
 0,
@@ -1734,9 +1303,9 @@ const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_colle
 {
 0, /* nullable Object */
 1, /* Object */
-1586, /* Collection[Set[MClass]] */
-1916, /* HashMapValues[MClass, Set[MClass]] */
-166, /* Collection[Object] */
+1580, /* Collection[Set[MClass]] */
+1922, /* HashMapValues[MClass, Set[MClass]] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
@@ -1760,7 +1329,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[HashSet[MClass]] */
 const struct type type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass = {
-1917,
+1923,
 "Collection[HashSet[MClass]]", /* class_name_string */
 5,
 0,
@@ -1769,15 +1338,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1586, /* Collection[Set[MClass]] */
+1580, /* Collection[Set[MClass]] */
 -1, /* empty */
-166, /* Collection[Object] */
-1917, /* Collection[HashSet[MClass]] */
+170, /* Collection[Object] */
+1923, /* Collection[HashSet[MClass]] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
-1657,
+1651,
 "NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]]", /* class_name_string */
 3,
 0,
@@ -1786,8 +1355,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-448, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
-1657, /* NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
+470, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+1651, /* NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -1799,7 +1368,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
-448,
+470,
 "NativeArray[nullable HashMapNode[MClass, Set[MClass]]]", /* class_name_string */
 2,
 0,
@@ -1808,7 +1377,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-448, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+470, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
@@ -1820,7 +1389,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MClass, HashSet[MClass]] */
 const struct type type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
-2186,
+2196,
 "HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
 5,
 0,
@@ -1829,10 +1398,10 @@ const struct type type_hash_collection__HashMapNodemodel__MClasshash_collection_
 {
 0, /* nullable Object */
 1, /* Object */
-147, /* nullable HashMapNode[MClass, Set[MClass]] */
-449, /* nullable HashMapNode[MClass, HashSet[MClass]] */
-1658, /* HashMapNode[MClass, Set[MClass]] */
-2186, /* HashMapNode[MClass, HashSet[MClass]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
+471, /* nullable HashMapNode[MClass, HashSet[MClass]] */
+1652, /* HashMapNode[MClass, Set[MClass]] */
+2196, /* HashMapNode[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -1846,7 +1415,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClasshas
 };
 /* runtime type HashMapNode[MClass, Set[MClass]] */
 const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
-1658,
+1652,
 "HashMapNode[MClass, Set[MClass]]", /* class_name_string */
 4,
 0,
@@ -1855,9 +1424,9 @@ const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collect
 {
 0, /* nullable Object */
 1, /* Object */
-147, /* nullable HashMapNode[MClass, Set[MClass]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
 -1, /* empty */
-1658, /* HashMapNode[MClass, Set[MClass]] */
+1652, /* HashMapNode[MClass, Set[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
@@ -1871,7 +1440,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabs
 };
 /* runtime type nullable HashMapNode[MClass, HashSet[MClass]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
-449,
+471,
 "nullable HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
 3,
 1,
@@ -1880,8 +1449,8 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClasshash_co
 {
 0, /* nullable Object */
 -1, /* empty */
-147, /* nullable HashMapNode[MClass, Set[MClass]] */
-449, /* nullable HashMapNode[MClass, HashSet[MClass]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
+471, /* nullable HashMapNode[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -1895,7 +1464,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type nullable HashMapNode[MClass, Set[MClass]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
-147,
+150,
 "nullable HashMapNode[MClass, Set[MClass]]", /* class_name_string */
 2,
 1,
@@ -1904,7 +1473,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstrac
 {
 0, /* nullable Object */
 -1, /* empty */
-147, /* nullable HashMapNode[MClass, Set[MClass]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
@@ -1918,7 +1487,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MClass, HashSet[MClass]] */
 const struct type type_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-2187,
+2197,
 "HashMapIterator[MClass, HashSet[MClass]]", /* class_name_string */
 5,
 0,
@@ -1927,10 +1496,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MClasshash_collect
 {
 0, /* nullable Object */
 1, /* Object */
-450, /* MapIterator[MClass, Set[MClass]] */
-1659, /* HashMapIterator[MClass, Set[MClass]] */
-1660, /* MapIterator[MClass, HashSet[MClass]] */
-2187, /* HashMapIterator[MClass, HashSet[MClass]] */
+472, /* MapIterator[MClass, Set[MClass]] */
+1653, /* HashMapIterator[MClass, Set[MClass]] */
+1654, /* MapIterator[MClass, HashSet[MClass]] */
+2197, /* HashMapIterator[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -1941,7 +1510,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type HashMapIterator[MClass, Set[MClass]] */
 const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-1659,
+1653,
 "HashMapIterator[MClass, Set[MClass]]", /* class_name_string */
 3,
 0,
@@ -1950,8 +1519,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_col
 {
 0, /* nullable Object */
 1, /* Object */
-450, /* MapIterator[MClass, Set[MClass]] */
-1659, /* HashMapIterator[MClass, Set[MClass]] */
+472, /* MapIterator[MClass, Set[MClass]] */
+1653, /* HashMapIterator[MClass, Set[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
@@ -1962,7 +1531,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type MapIterator[MClass, HashSet[MClass]] */
 const struct type type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-1660,
+1654,
 "MapIterator[MClass, HashSet[MClass]]", /* class_name_string */
 4,
 0,
@@ -1971,14 +1540,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-450, /* MapIterator[MClass, Set[MClass]] */
+472, /* MapIterator[MClass, Set[MClass]] */
 -1, /* empty */
-1660, /* MapIterator[MClass, HashSet[MClass]] */
+1654, /* MapIterator[MClass, HashSet[MClass]] */
 },
 };
 /* runtime type MapIterator[MClass, Set[MClass]] */
 const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-450,
+472,
 "MapIterator[MClass, Set[MClass]]", /* class_name_string */
 2,
 0,
@@ -1987,12 +1556,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-450, /* MapIterator[MClass, Set[MClass]] */
+472, /* MapIterator[MClass, Set[MClass]] */
 },
 };
 /* runtime type HashMapKeys[MClass, Map[MClass, Int]] */
 const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-2188,
+2198,
 "HashMapKeys[MClass, Map[MClass, Int]]", /* class_name_string */
 3,
 0,
@@ -2001,10 +1570,10 @@ const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collect
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2188, /* HashMapKeys[MClass, Map[MClass, Int]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
+178, /* Collection[nullable MClass] */
+2198, /* HashMapKeys[MClass, Map[MClass, Int]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -2028,7 +1597,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MClass, Map[MClass, Int]] */
 const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1918,
+1924,
 "HashMapValues[MClass, Map[MClass, Int]]", /* class_name_string */
 3,
 0,
@@ -2037,9 +1606,9 @@ const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_colle
 {
 0, /* nullable Object */
 1, /* Object */
-1661, /* Collection[Map[MClass, Int]] */
-1918, /* HashMapValues[MClass, Map[MClass, Int]] */
-166, /* Collection[Object] */
+1655, /* Collection[Map[MClass, Int]] */
+1924, /* HashMapValues[MClass, Map[MClass, Int]] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -2063,7 +1632,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[Map[MClass, Int]] */
 const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int = {
-1661,
+1655,
 "Collection[Map[MClass, Int]]", /* class_name_string */
 2,
 0,
@@ -2072,14 +1641,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1661, /* Collection[Map[MClass, Int]] */
+1655, /* Collection[Map[MClass, Int]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-451,
+473,
 "NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]]", /* class_name_string */
 2,
 0,
@@ -2088,7 +1657,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-451, /* NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
+473, /* NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -2100,7 +1669,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MClass, Map[MClass, Int]] */
 const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1662,
+1656,
 "HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
 3,
 0,
@@ -2109,8 +1678,8 @@ const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collect
 {
 0, /* nullable Object */
 1, /* Object */
-148, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
-1662, /* HashMapNode[MClass, Map[MClass, Int]] */
+151, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
+1656, /* HashMapNode[MClass, Map[MClass, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -2124,7 +1693,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabs
 };
 /* runtime type nullable HashMapNode[MClass, Map[MClass, Int]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-148,
+151,
 "nullable HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
 2,
 1,
@@ -2133,7 +1702,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstrac
 {
 0, /* nullable Object */
 -1, /* empty */
-148, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
+151, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -2147,7 +1716,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MClass, Map[MClass, Int]] */
 const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1663,
+1657,
 "HashMapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
 3,
 0,
@@ -2156,8 +1725,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_col
 {
 0, /* nullable Object */
 1, /* Object */
-452, /* MapIterator[MClass, Map[MClass, Int]] */
-1663, /* HashMapIterator[MClass, Map[MClass, Int]] */
+474, /* MapIterator[MClass, Map[MClass, Int]] */
+1657, /* HashMapIterator[MClass, Map[MClass, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -2168,7 +1737,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type MapIterator[MClass, Map[MClass, Int]] */
 const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-452,
+474,
 "MapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
 2,
 0,
@@ -2177,12 +1746,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-452, /* MapIterator[MClass, Map[MClass, Int]] */
+474, /* MapIterator[MClass, Map[MClass, Int]] */
 },
 };
 /* runtime type MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1919,
+1925,
 "MapKeysIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
 4,
 0,
@@ -2191,9 +1760,9 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract
 {
 0, /* nullable Object */
 1, /* Object */
-425, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-1648, /* MapKeysIterator[MClass, Set[MProperty]] */
-1919, /* MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1642, /* MapKeysIterator[MClass, Set[MProperty]] */
+1925, /* MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
@@ -2205,7 +1774,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1920,
+1926,
 "MapValuesIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
 4,
 0,
@@ -2214,9 +1783,9 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstra
 {
 0, /* nullable Object */
 1, /* Object */
-426, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-1649, /* MapValuesIterator[MClass, Set[MProperty]] */
-1920, /* MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1643, /* MapValuesIterator[MClass, Set[MProperty]] */
+1926, /* MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
@@ -2228,7 +1797,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type Array[MVirtualTypeProp] */
 const struct type type_array__Arraymodel__MVirtualTypeProp = {
-2709,
+2718,
 "Array[MVirtualTypeProp]", /* class_name_string */
 17,
 0,
@@ -2237,22 +1806,22 @@ const struct type type_array__Arraymodel__MVirtualTypeProp = {
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-1778, /* AbstractArrayRead[Object] */
-1785, /* AbstractArrayRead[nullable MProperty] */
-1964, /* Array[nullable MProperty] */
-1962, /* Array[Object] */
-1965, /* Collection[MProperty] */
-2253, /* AbstractArrayRead[PropertyLayoutElement] */
-2268, /* Collection[MVirtualTypeProp] */
-2547, /* Array[PropertyLayoutElement] */
-2618, /* AbstractArrayRead[MProperty] */
-2671, /* AbstractArrayRead[MVirtualTypeProp] */
-2675, /* Array[MProperty] */
-2709, /* Array[MVirtualTypeProp] */
+179, /* Collection[nullable MProperty] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+1782, /* AbstractArrayRead[Object] */
+1789, /* AbstractArrayRead[nullable MProperty] */
+1975, /* Array[nullable MProperty] */
+1973, /* Array[Object] */
+1976, /* Collection[MProperty] */
+2264, /* AbstractArrayRead[PropertyLayoutElement] */
+2277, /* Collection[MVirtualTypeProp] */
+2553, /* Array[PropertyLayoutElement] */
+2630, /* AbstractArrayRead[MProperty] */
+2682, /* AbstractArrayRead[MVirtualTypeProp] */
+2686, /* Array[MProperty] */
+2718, /* Array[MVirtualTypeProp] */
 },
 };
 const struct types resolution_table_array__Arraymodel__MVirtualTypeProp = {
@@ -2281,7 +1850,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualTypePr
 };
 /* runtime type AbstractArrayRead[MVirtualTypeProp] */
 const struct type type_array__AbstractArrayReadmodel__MVirtualTypeProp = {
-2671,
+2682,
 "AbstractArrayRead[MVirtualTypeProp]", /* class_name_string */
 15,
 0,
@@ -2290,25 +1859,25 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-1778, /* AbstractArrayRead[Object] */
-1785, /* AbstractArrayRead[nullable MProperty] */
+179, /* Collection[nullable MProperty] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+1782, /* AbstractArrayRead[Object] */
+1789, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
-1965, /* Collection[MProperty] */
-2253, /* AbstractArrayRead[PropertyLayoutElement] */
-2268, /* Collection[MVirtualTypeProp] */
+1976, /* Collection[MProperty] */
+2264, /* AbstractArrayRead[PropertyLayoutElement] */
+2277, /* Collection[MVirtualTypeProp] */
 -1, /* empty */
-2618, /* AbstractArrayRead[MProperty] */
-2671, /* AbstractArrayRead[MVirtualTypeProp] */
+2630, /* AbstractArrayRead[MProperty] */
+2682, /* AbstractArrayRead[MVirtualTypeProp] */
 },
 };
 /* runtime type HashMapKeys[MVirtualTypeProp, Int] */
 const struct type type_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
-2578,
+2585,
 "HashMapKeys[MVirtualTypeProp, Int]", /* class_name_string */
 6,
 0,
@@ -2317,17 +1886,17 @@ const struct type type_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-1921, /* HashMapKeys[PropertyLayoutElement, Int] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-2578, /* HashMapKeys[MVirtualTypeProp, Int] */
+179, /* Collection[nullable MProperty] */
+1927, /* HashMapKeys[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+2585, /* HashMapKeys[MVirtualTypeProp, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1965, /* Collection[MProperty] */
+1976, /* Collection[MProperty] */
 -1, /* empty */
-2268, /* Collection[MVirtualTypeProp] */
+2277, /* Collection[MVirtualTypeProp] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
@@ -2351,7 +1920,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapKeys[PropertyLayoutElement, Int] */
 const struct type type_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
-1921,
+1927,
 "HashMapKeys[PropertyLayoutElement, Int]", /* class_name_string */
 3,
 0,
@@ -2361,9 +1930,9 @@ const struct type type_hash_collection__HashMapKeyslayout_builders__PropertyLayo
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-1921, /* HashMapKeys[PropertyLayoutElement, Int] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
+1927, /* HashMapKeys[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
@@ -2387,7 +1956,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MVirtualTypeProp, Int] */
 const struct type type_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
-2189,
+2199,
 "HashMapValues[MVirtualTypeProp, Int]", /* class_name_string */
 5,
 0,
@@ -2396,10 +1965,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MVirtualTypePropkern
 {
 0, /* nullable Object */
 1, /* Object */
-614, /* Collection[Int] */
-1922, /* HashMapValues[PropertyLayoutElement, Int] */
-166, /* Collection[Object] */
-2189, /* HashMapValues[MVirtualTypeProp, Int] */
+653, /* Collection[Int] */
+1928, /* HashMapValues[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+2199, /* HashMapValues[MVirtualTypeProp, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
@@ -2423,7 +1992,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[PropertyLayoutElement, Int] */
 const struct type type_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
-1922,
+1928,
 "HashMapValues[PropertyLayoutElement, Int]", /* class_name_string */
 3,
 0,
@@ -2432,9 +2001,9 @@ const struct type type_hash_collection__HashMapValueslayout_builders__PropertyLa
 {
 0, /* nullable Object */
 1, /* Object */
-614, /* Collection[Int] */
-1922, /* HashMapValues[PropertyLayoutElement, Int] */
-166, /* Collection[Object] */
+653, /* Collection[Int] */
+1928, /* HashMapValues[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
@@ -2458,7 +2027,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
-1664,
+1658,
 "NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]]", /* class_name_string */
 3,
 0,
@@ -2467,8 +2036,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
-1664, /* NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
+475, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+1658, /* NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
@@ -2480,7 +2049,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
-453,
+475,
 "NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]]", /* class_name_string */
 2,
 0,
@@ -2489,7 +2058,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodela
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+475, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
@@ -2501,7 +2070,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MVirtualTypeProp, Int] */
 const struct type type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
-2190,
+2200,
 "HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
 5,
 0,
@@ -2510,10 +2079,10 @@ const struct type type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel
 {
 0, /* nullable Object */
 1, /* Object */
-149, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-454, /* nullable HashMapNode[MVirtualTypeProp, Int] */
-1665, /* HashMapNode[PropertyLayoutElement, Int] */
-2190, /* HashMapNode[MVirtualTypeProp, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+476, /* nullable HashMapNode[MVirtualTypeProp, Int] */
+1659, /* HashMapNode[PropertyLayoutElement, Int] */
+2200, /* HashMapNode[MVirtualTypeProp, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
@@ -2527,7 +2096,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MVirtualT
 };
 /* runtime type HashMapNode[PropertyLayoutElement, Int] */
 const struct type type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
-1665,
+1659,
 "HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
 4,
 0,
@@ -2536,9 +2105,9 @@ const struct type type_hash_collection__HashMapNodelayout_builders__PropertyLayo
 {
 0, /* nullable Object */
 1, /* Object */
-149, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
 -1, /* empty */
-1665, /* HashMapNode[PropertyLayoutElement, Int] */
+1659, /* HashMapNode[PropertyLayoutElement, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
@@ -2552,7 +2121,7 @@ const struct types resolution_table_hash_collection__HashMapNodelayout_builders_
 };
 /* runtime type nullable HashMapNode[MVirtualTypeProp, Int] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
-454,
+476,
 "nullable HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
 3,
 1,
@@ -2561,8 +2130,8 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MVirtualTypeP
 {
 0, /* nullable Object */
 -1, /* empty */
-149, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-454, /* nullable HashMapNode[MVirtualTypeProp, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+476, /* nullable HashMapNode[MVirtualTypeProp, Int] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
@@ -2576,7 +2145,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type nullable HashMapNode[PropertyLayoutElement, Int] */
 const struct type type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
-149,
+152,
 "nullable HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
 2,
 1,
@@ -2585,7 +2154,7 @@ const struct type type_nullable_hash_collection__HashMapNodelayout_builders__Pro
 {
 0, /* nullable Object */
 -1, /* empty */
-149, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
@@ -2599,7 +2168,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodelayout_
 };
 /* runtime type HashMapIterator[MVirtualTypeProp, Int] */
 const struct type type_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
-2191,
+2201,
 "HashMapIterator[MVirtualTypeProp, Int]", /* class_name_string */
 5,
 0,
@@ -2608,10 +2177,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MVirtualTypePropke
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* MapIterator[PropertyLayoutElement, Int] */
-1666, /* HashMapIterator[PropertyLayoutElement, Int] */
-1667, /* MapIterator[MVirtualTypeProp, Int] */
-2191, /* HashMapIterator[MVirtualTypeProp, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
+1660, /* HashMapIterator[PropertyLayoutElement, Int] */
+1661, /* MapIterator[MVirtualTypeProp, Int] */
+2201, /* HashMapIterator[MVirtualTypeProp, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
@@ -2622,7 +2191,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MVirt
 };
 /* runtime type HashMapIterator[PropertyLayoutElement, Int] */
 const struct type type_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-1666,
+1660,
 "HashMapIterator[PropertyLayoutElement, Int]", /* class_name_string */
 3,
 0,
@@ -2631,8 +2200,8 @@ const struct type type_hash_collection__HashMapIteratorlayout_builders__Property
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* MapIterator[PropertyLayoutElement, Int] */
-1666, /* HashMapIterator[PropertyLayoutElement, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
+1660, /* HashMapIterator[PropertyLayoutElement, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
@@ -2643,7 +2212,7 @@ const struct types resolution_table_hash_collection__HashMapIteratorlayout_build
 };
 /* runtime type MapIterator[MVirtualTypeProp, Int] */
 const struct type type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int = {
-1667,
+1661,
 "MapIterator[MVirtualTypeProp, Int]", /* class_name_string */
 4,
 0,
@@ -2652,14 +2221,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* MapIterator[PropertyLayoutElement, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
 -1, /* empty */
-1667, /* MapIterator[MVirtualTypeProp, Int] */
+1661, /* MapIterator[MVirtualTypeProp, Int] */
 },
 };
 /* runtime type MapIterator[PropertyLayoutElement, Int] */
 const struct type type_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-455,
+477,
 "MapIterator[PropertyLayoutElement, Int]", /* class_name_string */
 2,
 0,
@@ -2668,12 +2237,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* MapIterator[PropertyLayoutElement, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
 },
 };
 /* runtime type HashMapKeys[MAttribute, Int] */
 const struct type type_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
-2579,
+2586,
 "HashMapKeys[MAttribute, Int]", /* class_name_string */
 6,
 0,
@@ -2682,17 +2251,17 @@ const struct type type_hash_collection__HashMapKeysmodel__MAttributekernel__Int
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-1921, /* HashMapKeys[PropertyLayoutElement, Int] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-2579, /* HashMapKeys[MAttribute, Int] */
+179, /* Collection[nullable MProperty] */
+1927, /* HashMapKeys[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+2586, /* HashMapKeys[MAttribute, Int] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1965, /* Collection[MProperty] */
+1976, /* Collection[MProperty] */
 -1, /* empty */
-2272, /* Collection[MAttribute] */
+2281, /* Collection[MAttribute] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
@@ -2716,7 +2285,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MAttribute, Int] */
 const struct type type_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
-2192,
+2202,
 "HashMapValues[MAttribute, Int]", /* class_name_string */
 5,
 0,
@@ -2725,10 +2294,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MAttributekernel__In
 {
 0, /* nullable Object */
 1, /* Object */
-614, /* Collection[Int] */
-1922, /* HashMapValues[PropertyLayoutElement, Int] */
-166, /* Collection[Object] */
-2192, /* HashMapValues[MAttribute, Int] */
+653, /* Collection[Int] */
+1928, /* HashMapValues[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+2202, /* HashMapValues[MAttribute, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
@@ -2752,7 +2321,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[MAttribute, Int]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
-1668,
+1662,
 "NativeArray[nullable HashMapNode[MAttribute, Int]]", /* class_name_string */
 3,
 0,
@@ -2761,8 +2330,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
-1668, /* NativeArray[nullable HashMapNode[MAttribute, Int]] */
+475, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+1662, /* NativeArray[nullable HashMapNode[MAttribute, Int]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
@@ -2774,7 +2343,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MAttribute, Int] */
 const struct type type_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
-2193,
+2203,
 "HashMapNode[MAttribute, Int]", /* class_name_string */
 5,
 0,
@@ -2783,10 +2352,10 @@ const struct type type_hash_collection__HashMapNodemodel__MAttributekernel__Int
 {
 0, /* nullable Object */
 1, /* Object */
-149, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-456, /* nullable HashMapNode[MAttribute, Int] */
-1665, /* HashMapNode[PropertyLayoutElement, Int] */
-2193, /* HashMapNode[MAttribute, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+478, /* nullable HashMapNode[MAttribute, Int] */
+1659, /* HashMapNode[PropertyLayoutElement, Int] */
+2203, /* HashMapNode[MAttribute, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
@@ -2800,7 +2369,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MAttribut
 };
 /* runtime type nullable HashMapNode[MAttribute, Int] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
-456,
+478,
 "nullable HashMapNode[MAttribute, Int]", /* class_name_string */
 3,
 1,
@@ -2809,8 +2378,8 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MAttributeker
 {
 0, /* nullable Object */
 -1, /* empty */
-149, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-456, /* nullable HashMapNode[MAttribute, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+478, /* nullable HashMapNode[MAttribute, Int] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
@@ -2824,7 +2393,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MAttribute, Int] */
 const struct type type_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
-2194,
+2204,
 "HashMapIterator[MAttribute, Int]", /* class_name_string */
 5,
 0,
@@ -2833,10 +2402,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MAttributekernel__
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* MapIterator[PropertyLayoutElement, Int] */
-1666, /* HashMapIterator[PropertyLayoutElement, Int] */
-1669, /* MapIterator[MAttribute, Int] */
-2194, /* HashMapIterator[MAttribute, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
+1660, /* HashMapIterator[PropertyLayoutElement, Int] */
+1663, /* MapIterator[MAttribute, Int] */
+2204, /* HashMapIterator[MAttribute, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
@@ -2847,7 +2416,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MAttr
 };
 /* runtime type MapIterator[MAttribute, Int] */
 const struct type type_abstract_collection__MapIteratormodel__MAttributekernel__Int = {
-1669,
+1663,
 "MapIterator[MAttribute, Int]", /* class_name_string */
 4,
 0,
@@ -2856,14 +2425,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* MapIterator[PropertyLayoutElement, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
 -1, /* empty */
-1669, /* MapIterator[MAttribute, Int] */
+1663, /* MapIterator[MAttribute, Int] */
 },
 };
 /* runtime type MapKeysIterator[MClass, Set[MAttribute]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
-1923,
+1929,
 "MapKeysIterator[MClass, Set[MAttribute]]", /* class_name_string */
 4,
 0,
@@ -2872,9 +2441,9 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract
 {
 0, /* nullable Object */
 1, /* Object */
-425, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-1648, /* MapKeysIterator[MClass, Set[MProperty]] */
-1923, /* MapKeysIterator[MClass, Set[MAttribute]] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1642, /* MapKeysIterator[MClass, Set[MProperty]] */
+1929, /* MapKeysIterator[MClass, Set[MAttribute]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
@@ -2886,7 +2455,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, Set[MAttribute]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
-1924,
+1930,
 "MapValuesIterator[MClass, Set[MAttribute]]", /* class_name_string */
 4,
 0,
@@ -2895,9 +2464,9 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstra
 {
 0, /* nullable Object */
 1, /* Object */
-426, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-1649, /* MapValuesIterator[MClass, Set[MProperty]] */
-1924, /* MapValuesIterator[MClass, Set[MAttribute]] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1643, /* MapValuesIterator[MClass, Set[MProperty]] */
+1930, /* MapValuesIterator[MClass, Set[MAttribute]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
@@ -2909,7 +2478,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type Array[MAttribute] */
 const struct type type_array__Arraymodel__MAttribute = {
-2710,
+2719,
 "Array[MAttribute]", /* class_name_string */
 17,
 0,
@@ -2918,22 +2487,22 @@ const struct type type_array__Arraymodel__MAttribute = {
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-1778, /* AbstractArrayRead[Object] */
-1785, /* AbstractArrayRead[nullable MProperty] */
-1964, /* Array[nullable MProperty] */
-1962, /* Array[Object] */
-1965, /* Collection[MProperty] */
-2253, /* AbstractArrayRead[PropertyLayoutElement] */
-2272, /* Collection[MAttribute] */
-2547, /* Array[PropertyLayoutElement] */
-2618, /* AbstractArrayRead[MProperty] */
-2672, /* AbstractArrayRead[MAttribute] */
-2675, /* Array[MProperty] */
-2710, /* Array[MAttribute] */
+179, /* Collection[nullable MProperty] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+1782, /* AbstractArrayRead[Object] */
+1789, /* AbstractArrayRead[nullable MProperty] */
+1975, /* Array[nullable MProperty] */
+1973, /* Array[Object] */
+1976, /* Collection[MProperty] */
+2264, /* AbstractArrayRead[PropertyLayoutElement] */
+2281, /* Collection[MAttribute] */
+2553, /* Array[PropertyLayoutElement] */
+2630, /* AbstractArrayRead[MProperty] */
+2683, /* AbstractArrayRead[MAttribute] */
+2686, /* Array[MProperty] */
+2719, /* Array[MAttribute] */
 },
 };
 const struct types resolution_table_array__Arraymodel__MAttribute = {
@@ -2962,7 +2531,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MAttribute] no
 };
 /* runtime type AbstractArrayRead[MAttribute] */
 const struct type type_array__AbstractArrayReadmodel__MAttribute = {
-2672,
+2683,
 "AbstractArrayRead[MAttribute]", /* class_name_string */
 15,
 0,
@@ -2971,25 +2540,46 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-1778, /* AbstractArrayRead[Object] */
-1785, /* AbstractArrayRead[nullable MProperty] */
+179, /* Collection[nullable MProperty] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+1782, /* AbstractArrayRead[Object] */
+1789, /* AbstractArrayRead[nullable MProperty] */
 -1, /* empty */
 -1, /* empty */
-1965, /* Collection[MProperty] */
-2253, /* AbstractArrayRead[PropertyLayoutElement] */
-2272, /* Collection[MAttribute] */
+1976, /* Collection[MProperty] */
+2264, /* AbstractArrayRead[PropertyLayoutElement] */
+2281, /* Collection[MAttribute] */
 -1, /* empty */
-2618, /* AbstractArrayRead[MProperty] */
-2672, /* AbstractArrayRead[MAttribute] */
+2630, /* AbstractArrayRead[MProperty] */
+2683, /* AbstractArrayRead[MAttribute] */
+},
+};
+/* runtime type ContainerIterator[MClassType] */
+const struct type type_abstract_collection__ContainerIteratormodel__MClassType = {
+479,
+"ContainerIterator[MClassType]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__ContainerIteratormodel__MClassType,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+479, /* ContainerIterator[MClassType] */
 },
 };
+const struct types resolution_table_abstract_collection__ContainerIteratormodel__MClassType = {
+0, /* dummy */
+{
+&type_abstract_collection__Containermodel__MClassType, /* Container[ContainerIterator#0]: Container[MClassType] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+}
+};
 /* runtime type ContainerIterator[String] */
 const struct type type_abstract_collection__ContainerIteratorstring__String = {
-457,
+480,
 "ContainerIterator[String]", /* class_name_string */
 2,
 0,
@@ -2998,7 +2588,7 @@ const struct type type_abstract_collection__ContainerIteratorstring__String = {
 {
 0, /* nullable Object */
 1, /* Object */
-457, /* ContainerIterator[String] */
+480, /* ContainerIterator[String] */
 },
 };
 const struct types resolution_table_abstract_collection__ContainerIteratorstring__String = {
@@ -3010,7 +2600,7 @@ const struct types resolution_table_abstract_collection__ContainerIteratorstring
 };
 /* runtime type HashMapKeys[MType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2195,
+2205,
 "HashMapKeys[MType, Map[MType, Int]]", /* class_name_string */
 2,
 0,
@@ -3019,12 +2609,12 @@ const struct type type_hash_collection__HashMapKeysmodel__MTypeabstract_collecti
 {
 0, /* nullable Object */
 1, /* Object */
-2195, /* HashMapKeys[MType, Map[MType, Int]] */
+2205, /* HashMapKeys[MType, Map[MType, Int]] */
 -1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -3048,7 +2638,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1925,
+1931,
 "HashMapValues[MType, Map[MType, Int]]", /* class_name_string */
 3,
 0,
@@ -3057,9 +2647,9 @@ const struct type type_hash_collection__HashMapValuesmodel__MTypeabstract_collec
 {
 0, /* nullable Object */
 1, /* Object */
-1670, /* Collection[Map[MType, Int]] */
-1925, /* HashMapValues[MType, Map[MType, Int]] */
-166, /* Collection[Object] */
+1664, /* Collection[Map[MType, Int]] */
+1931, /* HashMapValues[MType, Map[MType, Int]] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -3083,7 +2673,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[Map[MType, Int]] */
 const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int = {
-1670,
+1664,
 "Collection[Map[MType, Int]]", /* class_name_string */
 2,
 0,
@@ -3092,14 +2682,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1670, /* Collection[Map[MType, Int]] */
+1664, /* Collection[Map[MType, Int]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-458,
+481,
 "NativeArray[nullable HashMapNode[MType, Map[MType, Int]]]", /* class_name_string */
 2,
 0,
@@ -3108,7 +2698,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-458, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+481, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -3120,7 +2710,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1671,
+1665,
 "HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
 4,
 0,
@@ -3129,9 +2719,9 @@ const struct type type_hash_collection__HashMapNodemodel__MTypeabstract_collecti
 {
 0, /* nullable Object */
 1, /* Object */
-150, /* nullable HashMapNode[MType, Map[MType, Int]] */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
 -1, /* empty */
-1671, /* HashMapNode[MType, Map[MType, Int]] */
+1665, /* HashMapNode[MType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -3145,7 +2735,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeabst
 };
 /* runtime type nullable HashMapNode[MType, Map[MType, Int]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-150,
+153,
 "nullable HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
 2,
 1,
@@ -3154,7 +2744,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeabstract
 {
 0, /* nullable Object */
 -1, /* empty */
-150, /* nullable HashMapNode[MType, Map[MType, Int]] */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -3168,7 +2758,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1672,
+1666,
 "HashMapIterator[MType, Map[MType, Int]]", /* class_name_string */
 3,
 0,
@@ -3177,8 +2767,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MTypeabstract_coll
 {
 0, /* nullable Object */
 1, /* Object */
-459, /* MapIterator[MType, Map[MType, Int]] */
-1672, /* HashMapIterator[MType, Map[MType, Int]] */
+482, /* MapIterator[MType, Map[MType, Int]] */
+1666, /* HashMapIterator[MType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -3189,7 +2779,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MType
 };
 /* runtime type MapIterator[MType, Map[MType, Int]] */
 const struct type type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-459,
+482,
 "MapIterator[MType, Map[MType, Int]]", /* class_name_string */
 2,
 0,
@@ -3198,12 +2788,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-459, /* MapIterator[MType, Map[MType, Int]] */
+482, /* MapIterator[MType, Map[MType, Int]] */
 },
 };
 /* runtime type HashMapKeys[MType, HashSet[MType]] */
 const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
-2426,
+2450,
 "HashMapKeys[MType, HashSet[MType]]", /* class_name_string */
 3,
 0,
@@ -3212,12 +2802,12 @@ const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__
 {
 0, /* nullable Object */
 1, /* Object */
-2161, /* HashMapKeys[MType, Set[MType]] */
-2426, /* HashMapKeys[MType, HashSet[MType]] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+2171, /* HashMapKeys[MType, Set[MType]] */
+2450, /* HashMapKeys[MType, HashSet[MType]] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
@@ -3241,7 +2831,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MType, HashSet[MType]] */
 const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
-2427,
+2451,
 "HashMapValues[MType, HashSet[MType]]", /* class_name_string */
 6,
 0,
@@ -3250,11 +2840,11 @@ const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-1894, /* HashMapValues[MType, Set[MType]] */
-166, /* Collection[Object] */
-1858, /* Collection[HashSet[MType]] */
-2427, /* HashMapValues[MType, HashSet[MType]] */
+1516, /* Collection[Set[MType]] */
+1900, /* HashMapValues[MType, Set[MType]] */
+170, /* Collection[Object] */
+1857, /* Collection[HashSet[MType]] */
+2451, /* HashMapValues[MType, HashSet[MType]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
@@ -3278,7 +2868,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
-1673,
+1667,
 "NativeArray[nullable HashMapNode[MType, HashSet[MType]]]", /* class_name_string */
 3,
 0,
@@ -3287,8 +2877,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-370, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
-1673, /* NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
+389, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
+1667, /* NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
@@ -3300,7 +2890,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MType, HashSet[MType]] */
 const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
-2196,
+2206,
 "HashMapNode[MType, HashSet[MType]]", /* class_name_string */
 5,
 0,
@@ -3309,10 +2899,10 @@ const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__
 {
 0, /* nullable Object */
 1, /* Object */
-134, /* nullable HashMapNode[MType, Set[MType]] */
-460, /* nullable HashMapNode[MType, HashSet[MType]] */
-1596, /* HashMapNode[MType, Set[MType]] */
-2196, /* HashMapNode[MType, HashSet[MType]] */
+137, /* nullable HashMapNode[MType, Set[MType]] */
+483, /* nullable HashMapNode[MType, HashSet[MType]] */
+1588, /* HashMapNode[MType, Set[MType]] */
+2206, /* HashMapNode[MType, HashSet[MType]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
@@ -3326,7 +2916,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash
 };
 /* runtime type nullable HashMapNode[MType, HashSet[MType]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
-460,
+483,
 "nullable HashMapNode[MType, HashSet[MType]]", /* class_name_string */
 3,
 1,
@@ -3335,8 +2925,8 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_col
 {
 0, /* nullable Object */
 -1, /* empty */
-134, /* nullable HashMapNode[MType, Set[MType]] */
-460, /* nullable HashMapNode[MType, HashSet[MType]] */
+137, /* nullable HashMapNode[MType, Set[MType]] */
+483, /* nullable HashMapNode[MType, HashSet[MType]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
@@ -3350,7 +2940,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MType, HashSet[MType]] */
 const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-2197,
+2207,
 "HashMapIterator[MType, HashSet[MType]]", /* class_name_string */
 5,
 0,
@@ -3359,10 +2949,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collecti
 {
 0, /* nullable Object */
 1, /* Object */
-372, /* MapIterator[MType, Set[MType]] */
-1597, /* HashMapIterator[MType, Set[MType]] */
-1674, /* MapIterator[MType, HashSet[MType]] */
-2197, /* HashMapIterator[MType, HashSet[MType]] */
+391, /* MapIterator[MType, Set[MType]] */
+1589, /* HashMapIterator[MType, Set[MType]] */
+1668, /* MapIterator[MType, HashSet[MType]] */
+2207, /* HashMapIterator[MType, HashSet[MType]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
@@ -3373,7 +2963,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MType
 };
 /* runtime type MapIterator[MType, HashSet[MType]] */
 const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-1674,
+1668,
 "MapIterator[MType, HashSet[MType]]", /* class_name_string */
 4,
 0,
@@ -3382,14 +2972,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-372, /* MapIterator[MType, Set[MType]] */
+391, /* MapIterator[MType, Set[MType]] */
 -1, /* empty */
-1674, /* MapIterator[MType, HashSet[MType]] */
+1668, /* MapIterator[MType, HashSet[MType]] */
 },
 };
 /* runtime type MapKeysIterator[EscapeMark, String] */
 const struct type type_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
-461,
+484,
 "MapKeysIterator[EscapeMark, String]", /* class_name_string */
 2,
 0,
@@ -3398,82 +2988,312 @@ const struct type type_abstract_collection__MapKeysIteratorscope__EscapeMarkstri
 {
 0, /* nullable Object */
 1, /* Object */
-461, /* MapKeysIterator[EscapeMark, String] */
+484, /* MapKeysIterator[EscapeMark, String] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratorscope__EscapeMarkstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[EscapeMark, String] */
+&type_array__Arrayscope__EscapeMark, /* Array[Iterator#0]: Array[EscapeMark] */
+}
+};
+/* runtime type MapValuesIterator[EscapeMark, String] */
+const struct type type_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
+485,
+"MapValuesIterator[EscapeMark, String]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+485, /* MapValuesIterator[EscapeMark, String] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratorscope__EscapeMarkstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[EscapeMark, String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+}
+};
+/* runtime type MapKeysIterator[Variable, RuntimeVariable] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+486,
+"MapKeysIterator[Variable, RuntimeVariable]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+486, /* MapKeysIterator[Variable, RuntimeVariable] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, RuntimeVariable] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+}
+};
+/* runtime type MapValuesIterator[Variable, RuntimeVariable] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+487,
+"MapValuesIterator[Variable, RuntimeVariable]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+487, /* MapValuesIterator[Variable, RuntimeVariable] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, RuntimeVariable] */
+&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Iterator#0]: Array[RuntimeVariable] */
+}
+};
+/* runtime type HashMapKeys[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup = {
+2208,
+"HashMapKeys[MGroup, POSetElement[MGroup]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+227, /* Collection[nullable MGroup] */
+2208, /* HashMapKeys[MGroup, POSetElement[MGroup]] */
+170, /* Collection[Object] */
+1800, /* Collection[MGroup] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MGroup, POSetElement[MGroup]] */
+&type_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MGroup, POSetElement[MGroup]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mproject__MGroup, /* RemovableCollection#0: MGroup */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mproject__MGroup, /* Collection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Collection#0]: Collection[MGroup] */
+}
+};
+/* runtime type HashMapValues[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup = {
+1932,
+"HashMapValues[MGroup, POSetElement[MGroup]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1669, /* Collection[POSetElement[MGroup]] */
+1932, /* HashMapValues[MGroup, POSetElement[MGroup]] */
+170, /* Collection[Object] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MGroup, POSetElement[MGroup]] */
+&type_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MGroup, POSetElement[MGroup]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmproject__MGroup, /* RemovableCollection#0: POSetElement[MGroup] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmproject__MGroup, /* Collection#0: POSetElement[MGroup] */
+&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[Collection#0]: Collection[POSetElement[MGroup]] */
+}
+};
+/* runtime type Collection[POSetElement[MGroup]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmproject__MGroup = {
+1669,
+"Collection[POSetElement[MGroup]]", /* class_name_string */
+2,
+0,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1669, /* Collection[POSetElement[MGroup]] */
+-1, /* empty */
+170, /* Collection[Object] */
+},
+};
+/* runtime type NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+488,
+"NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+488, /* NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* NativeArray#0: nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
+}
+};
+/* runtime type HashMapNode[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+1670,
+"HashMapNode[MGroup, POSetElement[MGroup]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+154, /* nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+1670, /* HashMapNode[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
+const struct types resolution_table_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__EscapeMarkstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[EscapeMark, String] */
-&type_array__Arrayscope__EscapeMark, /* Array[Iterator#0]: Array[EscapeMark] */
+&type_mproject__MGroup, /* HashMapNode#0: MGroup */
+&type_poset__POSetElementmproject__MGroup, /* HashMapNode#1: POSetElement[MGroup] */
+&type_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* N: HashMapNode[MGroup, POSetElement[MGroup]] */
+&type_mproject__MGroup, /* HashNode#0: MGroup */
 }
 };
-/* runtime type MapValuesIterator[EscapeMark, String] */
-const struct type type_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
-462,
-"MapValuesIterator[EscapeMark, String]", /* class_name_string */
+/* runtime type nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+const struct type type_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+154,
+"nullable HashMapNode[MGroup, POSetElement[MGroup]]", /* class_name_string */
 2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-462, /* MapValuesIterator[EscapeMark, String] */
+-1, /* empty */
+154, /* nullable HashMapNode[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__EscapeMarkstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[EscapeMark, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_mproject__MGroup, /* HashMapNode#0: MGroup */
+&type_poset__POSetElementmproject__MGroup, /* HashMapNode#1: POSetElement[MGroup] */
+&type_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* N: HashMapNode[MGroup, POSetElement[MGroup]] */
+&type_mproject__MGroup, /* HashNode#0: MGroup */
 }
 };
-/* runtime type MapKeysIterator[Variable, RuntimeVariable] */
-const struct type type_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
-463,
-"MapKeysIterator[Variable, RuntimeVariable]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable,
+/* runtime type HashMapIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+1671,
+"HashMapIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-463, /* MapKeysIterator[Variable, RuntimeVariable] */
+489, /* MapIterator[MGroup, POSetElement[MGroup]] */
+1671, /* HashMapIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, RuntimeVariable] */
-&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MGroup, POSetElement[MGroup]] */
 }
 };
-/* runtime type MapValuesIterator[Variable, RuntimeVariable] */
-const struct type type_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
-464,
-"MapValuesIterator[Variable, RuntimeVariable]", /* class_name_string */
+/* runtime type MapIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_abstract_collection__MapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+489,
+"MapIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-464, /* MapValuesIterator[Variable, RuntimeVariable] */
+489, /* MapIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+/* runtime type HashSet[MGroup] */
+const struct type type_hash_collection__HashSetmproject__MGroup = {
+2545,
+"HashSet[MGroup]", /* class_name_string */
+7,
+0,
+&resolution_table_hash_collection__HashSetmproject__MGroup,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+227, /* Collection[nullable MGroup] */
+633, /* Set[Object] */
+170, /* Collection[Object] */
+1800, /* Collection[MGroup] */
+1794, /* HashSet[Object] */
+2545, /* HashSet[MGroup] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetmproject__MGroup = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, RuntimeVariable] */
-&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Iterator#0]: Array[RuntimeVariable] */
+&type_hash_collection__HashSetNodemproject__MGroup, /* HashSetNode[HashSet#0]: HashSetNode[MGroup] */
+&type_hash_collection__HashSetIteratormproject__MGroup, /* HashSetIterator[HashSet#0]: HashSetIterator[MGroup] */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[HashSet#0]: Collection[MGroup] */
+&type_mproject__MGroup, /* SimpleCollection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Set#0]: Collection[MGroup] */
+NULL, /* empty */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MGroup]] */
+NULL, /* empty */
+&type_mproject__MGroup, /* RemovableCollection#0: MGroup */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[SimpleCollection#0]: Collection[MGroup] */
+&type_mproject__MGroup, /* Collection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Collection#0]: Collection[MGroup] */
+&type_mproject__MGroup, /* HashCollection#0: MGroup */
+&type_hash_collection__HashSetNodemproject__MGroup, /* HashCollection#1: HashSetNode[MGroup] */
 }
 };
 /* runtime type ArrayIterator[AClassdef] */
 const struct type type_array__ArrayIteratorparser_nodes__AClassdef = {
-2198,
+2209,
 "ArrayIterator[AClassdef]", /* class_name_string */
 5,
 0,
@@ -3482,10 +3302,10 @@ const struct type type_array__ArrayIteratorparser_nodes__AClassdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2198, /* ArrayIterator[AClassdef] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2209, /* ArrayIterator[AClassdef] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorparser_nodes__AClassdef = {
@@ -3497,7 +3317,7 @@ const struct types resolution_table_array__ArrayIteratorparser_nodes__AClassdef
 };
 /* runtime type NativeArray[AClassdef] */
 const struct type type_array__NativeArrayparser_nodes__AClassdef = {
-2199,
+2210,
 "NativeArray[AClassdef]", /* class_name_string */
 5,
 0,
@@ -3506,10 +3326,10 @@ const struct type type_array__NativeArrayparser_nodes__AClassdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2199, /* NativeArray[AClassdef] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2210, /* NativeArray[AClassdef] */
 },
 };
 const struct types resolution_table_array__NativeArrayparser_nodes__AClassdef = {
@@ -3521,7 +3341,7 @@ const struct types resolution_table_array__NativeArrayparser_nodes__AClassdef =
 };
 /* runtime type ArrayIterator[APropdef] */
 const struct type type_array__ArrayIteratorparser_nodes__APropdef = {
-2200,
+2211,
 "ArrayIterator[APropdef]", /* class_name_string */
 5,
 0,
@@ -3530,10 +3350,10 @@ const struct type type_array__ArrayIteratorparser_nodes__APropdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2200, /* ArrayIterator[APropdef] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2211, /* ArrayIterator[APropdef] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorparser_nodes__APropdef = {
@@ -3545,7 +3365,7 @@ const struct types resolution_table_array__ArrayIteratorparser_nodes__APropdef =
 };
 /* runtime type NativeArray[APropdef] */
 const struct type type_array__NativeArrayparser_nodes__APropdef = {
-2201,
+2212,
 "NativeArray[APropdef]", /* class_name_string */
 5,
 0,
@@ -3554,10 +3374,10 @@ const struct type type_array__NativeArrayparser_nodes__APropdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2201, /* NativeArray[APropdef] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2212, /* NativeArray[APropdef] */
 },
 };
 const struct types resolution_table_array__NativeArrayparser_nodes__APropdef = {
@@ -3569,7 +3389,7 @@ const struct types resolution_table_array__NativeArrayparser_nodes__APropdef = {
 };
 /* runtime type ContainerIterator[ANode] */
 const struct type type_abstract_collection__ContainerIteratorparser_nodes__ANode = {
-465,
+490,
 "ContainerIterator[ANode]", /* class_name_string */
 2,
 0,
@@ -3578,7 +3398,7 @@ const struct type type_abstract_collection__ContainerIteratorparser_nodes__ANode
 {
 0, /* nullable Object */
 1, /* Object */
-465, /* ContainerIterator[ANode] */
+490, /* ContainerIterator[ANode] */
 },
 };
 const struct types resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode = {
@@ -3588,177 +3408,227 @@ const struct types resolution_table_abstract_collection__ContainerIteratorparser
 &type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
 }
 };
-/* runtime type MapKeysIterator[MModule, Set[MClassDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-466,
-"MapKeysIterator[MModule, Set[MClassDef]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Array[nullable MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
+491,
+"MapKeysIterator[MClass, Array[nullable MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-466, /* MapKeysIterator[MModule, Set[MClassDef]] */
+491, /* MapKeysIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClassDef]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MClass]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type MapValuesIterator[MModule, Set[MClassDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-467,
-"MapValuesIterator[MModule, Set[MClassDef]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Array[nullable MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
+492,
+"MapValuesIterator[MClass, Array[nullable MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-467, /* MapValuesIterator[MModule, Set[MClassDef]] */
+492, /* MapValuesIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClassDef]] */
-&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Iterator#0]: Array[Set[MClassDef]] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MClass]] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[Array[nullable MClass]] */
 }
 };
-/* runtime type MapKeysIterator[MModule, Set[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
-468,
-"MapKeysIterator[MModule, Set[MClass]]", /* class_name_string */
+/* runtime type ArrayIterator[MMethodDef] */
+const struct type type_array__ArrayIteratormodel__MMethodDef = {
+2452,
+"ArrayIterator[MMethodDef]", /* class_name_string */
+6,
+0,
+&resolution_table_array__ArrayIteratormodel__MMethodDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+289, /* ArrayIterator[Object] */
+379, /* ArrayIterator[nullable MPropDef] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2167, /* ArrayIterator[MPropDef] */
+2452, /* ArrayIterator[MMethodDef] */
+},
+};
+const struct types resolution_table_array__ArrayIteratormodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+}
+};
+/* runtime type NativeArray[MMethodDef] */
+const struct type type_array__NativeArraymodel__MMethodDef = {
+2453,
+"NativeArray[MMethodDef]", /* class_name_string */
+6,
+0,
+&resolution_table_array__NativeArraymodel__MMethodDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+193, /* NativeArray[Object] */
+380, /* NativeArray[nullable MPropDef] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2168, /* NativeArray[MPropDef] */
+2453, /* NativeArray[MMethodDef] */
+},
+};
+const struct types resolution_table_array__NativeArraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_model__MMethodDef, /* NativeArray#0: MMethodDef */
+&type_array__NativeArraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[MMethodDef] */
+}
+};
+/* runtime type MapKeysIterator[MModule, Set[MClassDef]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
+493,
+"MapKeysIterator[MModule, Set[MClassDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-468, /* MapKeysIterator[MModule, Set[MClass]] */
+493, /* MapKeysIterator[MModule, Set[MClassDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClass]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClassDef]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
 }
 };
-/* runtime type MapValuesIterator[MModule, Set[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
-469,
-"MapValuesIterator[MModule, Set[MClass]]", /* class_name_string */
+/* runtime type MapValuesIterator[MModule, Set[MClassDef]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
+494,
+"MapValuesIterator[MModule, Set[MClassDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-469, /* MapValuesIterator[MModule, Set[MClass]] */
+494, /* MapValuesIterator[MModule, Set[MClassDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClass]] */
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClassDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Iterator#0]: Array[Set[MClassDef]] */
 }
 };
-/* runtime type MapKeysIterator[MModule, Set[MClassType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-470,
-"MapKeysIterator[MModule, Set[MClassType]]", /* class_name_string */
+/* runtime type MapKeysIterator[MModule, Set[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
+495,
+"MapKeysIterator[MModule, Set[MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-470, /* MapKeysIterator[MModule, Set[MClassType]] */
+495, /* MapKeysIterator[MModule, Set[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClassType]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClass]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
 }
 };
-/* runtime type MapValuesIterator[MModule, Set[MClassType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-471,
-"MapValuesIterator[MModule, Set[MClassType]]", /* class_name_string */
+/* runtime type MapValuesIterator[MModule, Set[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
+496,
+"MapValuesIterator[MModule, Set[MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-471, /* MapValuesIterator[MModule, Set[MClassType]] */
+496, /* MapValuesIterator[MModule, Set[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClassType]] */
-&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Iterator#0]: Array[Set[MClassType]] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClass]] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Array[nullable MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
-472,
-"MapKeysIterator[MClass, Array[nullable MClass]]", /* class_name_string */
+/* runtime type MapKeysIterator[MModule, Set[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
+497,
+"MapKeysIterator[MModule, Set[MClassType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-472, /* MapKeysIterator[MClass, Array[nullable MClass]] */
+497, /* MapKeysIterator[MModule, Set[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MClass]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClassType]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Array[nullable MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
-473,
-"MapValuesIterator[MClass, Array[nullable MClass]]", /* class_name_string */
+/* runtime type MapValuesIterator[MModule, Set[MClassType]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
+498,
+"MapValuesIterator[MModule, Set[MClassType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-473, /* MapValuesIterator[MClass, Array[nullable MClass]] */
+498, /* MapValuesIterator[MModule, Set[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MClass]] */
-&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[Array[nullable MClass]] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClassType]] */
+&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Iterator#0]: Array[Set[MClassType]] */
 }
 };
 /* runtime type MapKeysIterator[MClassType, Set[MType]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-1675,
+1672,
 "MapKeysIterator[MClassType, Set[MType]]", /* class_name_string */
 3,
 0,
@@ -3767,8 +3637,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabst
 {
 0, /* nullable Object */
 1, /* Object */
-474, /* MapKeysIterator[MType, Set[MType]] */
-1675, /* MapKeysIterator[MClassType, Set[MType]] */
+499, /* MapKeysIterator[MType, Set[MType]] */
+1672, /* MapKeysIterator[MClassType, Set[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
@@ -3780,7 +3650,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapKeysIterator[MType, Set[MType]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-474,
+499,
 "MapKeysIterator[MType, Set[MType]]", /* class_name_string */
 2,
 0,
@@ -3789,7 +3659,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_
 {
 0, /* nullable Object */
 1, /* Object */
-474, /* MapKeysIterator[MType, Set[MType]] */
+499, /* MapKeysIterator[MType, Set[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
@@ -3801,7 +3671,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClassType, Set[MType]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-1676,
+1673,
 "MapValuesIterator[MClassType, Set[MType]]", /* class_name_string */
 3,
 0,
@@ -3810,8 +3680,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeab
 {
 0, /* nullable Object */
 1, /* Object */
-475, /* MapValuesIterator[MType, Set[MType]] */
-1676, /* MapValuesIterator[MClassType, Set[MType]] */
+500, /* MapValuesIterator[MType, Set[MType]] */
+1673, /* MapValuesIterator[MClassType, Set[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
@@ -3823,7 +3693,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapValuesIterator[MType, Set[MType]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-475,
+500,
 "MapValuesIterator[MType, Set[MType]]", /* class_name_string */
 2,
 0,
@@ -3832,7 +3702,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstrac
 {
 0, /* nullable Object */
 1, /* Object */
-475, /* MapValuesIterator[MType, Set[MType]] */
+500, /* MapValuesIterator[MType, Set[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
@@ -3844,7 +3714,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type HashMapKeys[MClassType, Int] */
 const struct type type_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
-2541,
+2546,
 "HashMapKeys[MClassType, Int]", /* class_name_string */
 3,
 0,
@@ -3853,15 +3723,15 @@ const struct type type_hash_collection__HashMapKeysmodel__MClassTypekernel__Int
 {
 0, /* nullable Object */
 1, /* Object */
-2167, /* HashMapKeys[MType, Int] */
-2541, /* HashMapKeys[MClassType, Int] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+2177, /* HashMapKeys[MType, Int] */
+2546, /* HashMapKeys[MClassType, Int] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
-1967, /* Collection[MClassType] */
+1978, /* Collection[MClassType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
@@ -3885,7 +3755,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MClassType, Int] */
 const struct type type_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
-2202,
+2213,
 "HashMapValues[MClassType, Int]", /* class_name_string */
 5,
 0,
@@ -3894,10 +3764,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MClassTypekernel__In
 {
 0, /* nullable Object */
 1, /* Object */
-614, /* Collection[Int] */
-1895, /* HashMapValues[MType, Int] */
-166, /* Collection[Object] */
-2202, /* HashMapValues[MClassType, Int] */
+653, /* Collection[Int] */
+1901, /* HashMapValues[MType, Int] */
+170, /* Collection[Object] */
+2213, /* HashMapValues[MClassType, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
@@ -3921,7 +3791,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[MClassType, Int]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
-1677,
+1674,
 "NativeArray[nullable HashMapNode[MClassType, Int]]", /* class_name_string */
 3,
 0,
@@ -3930,8 +3800,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-373, /* NativeArray[nullable HashMapNode[MType, Int]] */
-1677, /* NativeArray[nullable HashMapNode[MClassType, Int]] */
+392, /* NativeArray[nullable HashMapNode[MType, Int]] */
+1674, /* NativeArray[nullable HashMapNode[MClassType, Int]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
@@ -3943,7 +3813,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MClassType, Int] */
 const struct type type_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
-2203,
+2214,
 "HashMapNode[MClassType, Int]", /* class_name_string */
 5,
 0,
@@ -3952,10 +3822,10 @@ const struct type type_hash_collection__HashMapNodemodel__MClassTypekernel__Int
 {
 0, /* nullable Object */
 1, /* Object */
-135, /* nullable HashMapNode[MType, Int] */
-476, /* nullable HashMapNode[MClassType, Int] */
-1601, /* HashMapNode[MType, Int] */
-2203, /* HashMapNode[MClassType, Int] */
+138, /* nullable HashMapNode[MType, Int] */
+501, /* nullable HashMapNode[MClassType, Int] */
+1593, /* HashMapNode[MType, Int] */
+2214, /* HashMapNode[MClassType, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
@@ -3969,7 +3839,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTyp
 };
 /* runtime type nullable HashMapNode[MClassType, Int] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
-476,
+501,
 "nullable HashMapNode[MClassType, Int]", /* class_name_string */
 3,
 1,
@@ -3978,8 +3848,8 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeker
 {
 0, /* nullable Object */
 -1, /* empty */
-135, /* nullable HashMapNode[MType, Int] */
-476, /* nullable HashMapNode[MClassType, Int] */
+138, /* nullable HashMapNode[MType, Int] */
+501, /* nullable HashMapNode[MClassType, Int] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
@@ -3993,7 +3863,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MClassType, Int] */
 const struct type type_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
-2204,
+2215,
 "HashMapIterator[MClassType, Int]", /* class_name_string */
 5,
 0,
@@ -4002,10 +3872,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MClassTypekernel__
 {
 0, /* nullable Object */
 1, /* Object */
-374, /* MapIterator[MType, Int] */
-1602, /* HashMapIterator[MType, Int] */
-1678, /* MapIterator[MClassType, Int] */
-2204, /* HashMapIterator[MClassType, Int] */
+393, /* MapIterator[MType, Int] */
+1594, /* HashMapIterator[MType, Int] */
+1675, /* MapIterator[MClassType, Int] */
+2215, /* HashMapIterator[MClassType, Int] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
@@ -4016,7 +3886,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type MapIterator[MClassType, Int] */
 const struct type type_abstract_collection__MapIteratormodel__MClassTypekernel__Int = {
-1678,
+1675,
 "MapIterator[MClassType, Int]", /* class_name_string */
 4,
 0,
@@ -4025,14 +3895,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-374, /* MapIterator[MType, Int] */
+393, /* MapIterator[MType, Int] */
 -1, /* empty */
-1678, /* MapIterator[MClassType, Int] */
+1675, /* MapIterator[MClassType, Int] */
 },
 };
 /* runtime type HashMapKeys[MClassType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2542,
+2547,
 "HashMapKeys[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
 0,
@@ -4041,15 +3911,15 @@ const struct type type_hash_collection__HashMapKeysmodel__MClassTypeabstract_col
 {
 0, /* nullable Object */
 1, /* Object */
-2195, /* HashMapKeys[MType, Map[MType, Int]] */
-2542, /* HashMapKeys[MClassType, Map[MType, Int]] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+2205, /* HashMapKeys[MType, Map[MType, Int]] */
+2547, /* HashMapKeys[MClassType, Map[MType, Int]] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 -1, /* empty */
 -1, /* empty */
-1967, /* Collection[MClassType] */
+1978, /* Collection[MClassType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -4073,7 +3943,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MClassType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2205,
+2216,
 "HashMapValues[MClassType, Map[MType, Int]]", /* class_name_string */
 5,
 0,
@@ -4082,10 +3952,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MClassTypeabstract_c
 {
 0, /* nullable Object */
 1, /* Object */
-1670, /* Collection[Map[MType, Int]] */
-1925, /* HashMapValues[MType, Map[MType, Int]] */
-166, /* Collection[Object] */
-2205, /* HashMapValues[MClassType, Map[MType, Int]] */
+1664, /* Collection[Map[MType, Int]] */
+1931, /* HashMapValues[MType, Map[MType, Int]] */
+170, /* Collection[Object] */
+2216, /* HashMapValues[MClassType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -4109,7 +3979,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1679,
+1676,
 "NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]]", /* class_name_string */
 3,
 0,
@@ -4118,8 +3988,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-458, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
-1679, /* NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+481, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+1676, /* NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -4131,7 +4001,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MClassType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2206,
+2217,
 "HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
 5,
 0,
@@ -4140,10 +4010,10 @@ const struct type type_hash_collection__HashMapNodemodel__MClassTypeabstract_col
 {
 0, /* nullable Object */
 1, /* Object */
-150, /* nullable HashMapNode[MType, Map[MType, Int]] */
-477, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
-1671, /* HashMapNode[MType, Map[MType, Int]] */
-2206, /* HashMapNode[MClassType, Map[MType, Int]] */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
+502, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
+1665, /* HashMapNode[MType, Map[MType, Int]] */
+2217, /* HashMapNode[MClassType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -4157,7 +4027,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTyp
 };
 /* runtime type nullable HashMapNode[MClassType, Map[MType, Int]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-477,
+502,
 "nullable HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
 1,
@@ -4166,8 +4036,8 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeabs
 {
 0, /* nullable Object */
 -1, /* empty */
-150, /* nullable HashMapNode[MType, Map[MType, Int]] */
-477, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
+502, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -4181,7 +4051,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MClassType, Map[MType, Int]] */
 const struct type type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2207,
+2218,
 "HashMapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
 5,
 0,
@@ -4190,10 +4060,10 @@ const struct type type_hash_collection__HashMapIteratormodel__MClassTypeabstract
 {
 0, /* nullable Object */
 1, /* Object */
-459, /* MapIterator[MType, Map[MType, Int]] */
-1672, /* HashMapIterator[MType, Map[MType, Int]] */
-1680, /* MapIterator[MClassType, Map[MType, Int]] */
-2207, /* HashMapIterator[MClassType, Map[MType, Int]] */
+482, /* MapIterator[MType, Map[MType, Int]] */
+1666, /* HashMapIterator[MType, Map[MType, Int]] */
+1677, /* MapIterator[MClassType, Map[MType, Int]] */
+2218, /* HashMapIterator[MClassType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -4204,7 +4074,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type MapIterator[MClassType, Map[MType, Int]] */
 const struct type type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1680,
+1677,
 "MapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
 4,
 0,
@@ -4213,104 +4083,56 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-459, /* MapIterator[MType, Map[MType, Int]] */
--1, /* empty */
-1680, /* MapIterator[MClassType, Map[MType, Int]] */
-},
-};
-/* runtime type MapKeysIterator[MType, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
-478,
-"MapKeysIterator[MType, Int]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-478, /* MapKeysIterator[MType, Int] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Int] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-}
-};
-/* runtime type MapValuesIterator[MType, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
-479,
-"MapValuesIterator[MType, Int]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-479, /* MapValuesIterator[MType, Int] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
-}
-};
-/* runtime type ArrayIterator[AImport] */
-const struct type type_array__ArrayIteratorparser_nodes__AImport = {
-2208,
-"ArrayIterator[AImport]", /* class_name_string */
-5,
+482, /* MapIterator[MType, Map[MType, Int]] */
+-1, /* empty */
+1677, /* MapIterator[MClassType, Map[MType, Int]] */
+},
+};
+/* runtime type MapKeysIterator[MType, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
+503,
+"MapKeysIterator[MType, Int]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AImport,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2208, /* ArrayIterator[AImport] */
+503, /* MapKeysIterator[MType, Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AImport = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AImport, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AImport] */
-&type_array__Arrayparser_nodes__AImport, /* Array[Iterator#0]: Array[AImport] */
+&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Int] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type NativeArray[AImport] */
-const struct type type_array__NativeArrayparser_nodes__AImport = {
-2209,
-"NativeArray[AImport]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MType, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
+504,
+"MapValuesIterator[MType, Int]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AImport,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2209, /* NativeArray[AImport] */
+504, /* MapValuesIterator[MType, Int] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AImport = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_parser_nodes__AImport, /* NativeArray#0: AImport */
-&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[NativeArray#0]: NativeArray[AImport] */
+&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
 /* runtime type MapKeysIterator[MClass, MClassType] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
-480,
+505,
 "MapKeysIterator[MClass, MClassType]", /* class_name_string */
 2,
 0,
@@ -4319,7 +4141,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassmodel__M
 {
 0, /* nullable Object */
 1, /* Object */
-480, /* MapKeysIterator[MClass, MClassType] */
+505, /* MapKeysIterator[MClass, MClassType] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
@@ -4331,7 +4153,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, MClassType] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
-481,
+506,
 "MapValuesIterator[MClass, MClassType]", /* class_name_string */
 2,
 0,
@@ -4340,7 +4162,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassmodel_
 {
 0, /* nullable Object */
 1, /* Object */
-481, /* MapValuesIterator[MClass, MClassType] */
+506, /* MapValuesIterator[MClass, MClassType] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
@@ -4352,7 +4174,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapKeysIterator[MClass, AType] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
-482,
+507,
 "MapKeysIterator[MClass, AType]", /* class_name_string */
 2,
 0,
@@ -4361,7 +4183,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_n
 {
 0, /* nullable Object */
 1, /* Object */
-482, /* MapKeysIterator[MClass, AType] */
+507, /* MapKeysIterator[MClass, AType] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
@@ -4373,7 +4195,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, AType] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
-483,
+508,
 "MapValuesIterator[MClass, AType]", /* class_name_string */
 2,
 0,
@@ -4382,7 +4204,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser
 {
 0, /* nullable Object */
 1, /* Object */
-483, /* MapValuesIterator[MClass, AType] */
+508, /* MapValuesIterator[MClass, AType] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
@@ -4394,7 +4216,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type ArrayIterator[Couple[MClass, AType]] */
 const struct type type_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-1926,
+1933,
 "ArrayIterator[Couple[MClass, AType]]", /* class_name_string */
 4,
 0,
@@ -4403,9 +4225,9 @@ const struct type type_array__ArrayIteratorabstract_collection__Couplemodel__MCl
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-484, /* Iterator[Couple[MClass, AType]] */
-1926, /* ArrayIterator[Couple[MClass, AType]] */
+289, /* ArrayIterator[Object] */
+509, /* Iterator[Couple[MClass, AType]] */
+1933, /* ArrayIterator[Couple[MClass, AType]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
@@ -4417,7 +4239,7 @@ const struct types resolution_table_array__ArrayIteratorabstract_collection__Cou
 };
 /* runtime type Iterator[Couple[MClass, AType]] */
 const struct type type_abstract_collection__Iteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-484,
+509,
 "Iterator[Couple[MClass, AType]]", /* class_name_string */
 3,
 0,
@@ -4427,12 +4249,12 @@ NULL,
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-484, /* Iterator[Couple[MClass, AType]] */
+509, /* Iterator[Couple[MClass, AType]] */
 },
 };
 /* runtime type NativeArray[Couple[MClass, AType]] */
 const struct type type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-1681,
+1678,
 "NativeArray[Couple[MClass, AType]]", /* class_name_string */
 3,
 0,
@@ -4441,8 +4263,8 @@ const struct type type_array__NativeArrayabstract_collection__Couplemodel__MClas
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1681, /* NativeArray[Couple[MClass, AType]] */
+193, /* NativeArray[Object] */
+1678, /* NativeArray[Couple[MClass, AType]] */
 },
 };
 const struct types resolution_table_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
@@ -4454,7 +4276,7 @@ const struct types resolution_table_array__NativeArrayabstract_collection__Coupl
 };
 /* runtime type ContainerIterator[Scope] */
 const struct type type_abstract_collection__ContainerIteratorscope__Scope = {
-485,
+510,
 "ContainerIterator[Scope]", /* class_name_string */
 2,
 0,
@@ -4463,7 +4285,7 @@ const struct type type_abstract_collection__ContainerIteratorscope__Scope = {
 {
 0, /* nullable Object */
 1, /* Object */
-485, /* ContainerIterator[Scope] */
+510, /* ContainerIterator[Scope] */
 },
 };
 const struct types resolution_table_abstract_collection__ContainerIteratorscope__Scope = {
@@ -4475,7 +4297,7 @@ const struct types resolution_table_abstract_collection__ContainerIteratorscope_
 };
 /* runtime type Array[Scope] */
 const struct type type_array__Arrayscope__Scope = {
-2580,
+2587,
 "Array[Scope]", /* class_name_string */
 7,
 0,
@@ -4484,14 +4306,14 @@ const struct type type_array__Arrayscope__Scope = {
 {
 0, /* nullable Object */
 1, /* Object */
-1469, /* Collection[Scope] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2428, /* AbstractArrayRead[Scope] */
-1778, /* AbstractArrayRead[Object] */
-2580, /* Array[Scope] */
+673, /* Collection[Scope] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2454, /* AbstractArrayRead[Scope] */
+1782, /* AbstractArrayRead[Object] */
+2587, /* Array[Scope] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayscope__Scope = {
@@ -4520,7 +4342,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Scope] not a l
 };
 /* runtime type AbstractArrayRead[Scope] */
 const struct type type_array__AbstractArrayReadscope__Scope = {
-2428,
+2454,
 "AbstractArrayRead[Scope]", /* class_name_string */
 5,
 0,
@@ -4529,16 +4351,16 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1469, /* Collection[Scope] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2428, /* AbstractArrayRead[Scope] */
-1778, /* AbstractArrayRead[Object] */
+673, /* Collection[Scope] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2454, /* AbstractArrayRead[Scope] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
 /* runtime type HashMapKeys[MClass, POSetElement[MClass]] */
 const struct type type_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
-2210,
+2219,
 "HashMapKeys[MClass, POSetElement[MClass]]", /* class_name_string */
 3,
 0,
@@ -4547,10 +4369,10 @@ const struct type type_hash_collection__HashMapKeysmodel__MClassposet__POSetElem
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-2210, /* HashMapKeys[MClass, POSetElement[MClass]] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
+178, /* Collection[nullable MClass] */
+2219, /* HashMapKeys[MClass, POSetElement[MClass]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
@@ -4574,7 +4396,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MClass, POSetElement[MClass]] */
 const struct type type_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
-1927,
+1934,
 "HashMapValues[MClass, POSetElement[MClass]]", /* class_name_string */
 3,
 0,
@@ -4583,9 +4405,9 @@ const struct type type_hash_collection__HashMapValuesmodel__MClassposet__POSetEl
 {
 0, /* nullable Object */
 1, /* Object */
-1682, /* Collection[POSetElement[MClass]] */
-1927, /* HashMapValues[MClass, POSetElement[MClass]] */
-166, /* Collection[Object] */
+1679, /* Collection[POSetElement[MClass]] */
+1934, /* HashMapValues[MClass, POSetElement[MClass]] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
@@ -4609,7 +4431,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[POSetElement[MClass]] */
 const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClass = {
-1682,
+1679,
 "Collection[POSetElement[MClass]]", /* class_name_string */
 2,
 0,
@@ -4618,14 +4440,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1682, /* Collection[POSetElement[MClass]] */
+1679, /* Collection[POSetElement[MClass]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
-486,
+511,
 "NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]]", /* class_name_string */
 2,
 0,
@@ -4634,7 +4456,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-486, /* NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
+511, /* NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
@@ -4646,7 +4468,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MClass, POSetElement[MClass]] */
 const struct type type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
-1683,
+1680,
 "HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
 3,
 0,
@@ -4655,8 +4477,8 @@ const struct type type_hash_collection__HashMapNodemodel__MClassposet__POSetElem
 {
 0, /* nullable Object */
 1, /* Object */
-151, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
-1683, /* HashMapNode[MClass, POSetElement[MClass]] */
+155, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
+1680, /* HashMapNode[MClass, POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
@@ -4670,7 +4492,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MClasspos
 };
 /* runtime type nullable HashMapNode[MClass, POSetElement[MClass]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
-151,
+155,
 "nullable HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
 1,
@@ -4679,7 +4501,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MClassposet__
 {
 0, /* nullable Object */
 -1, /* empty */
-151, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
+155, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
@@ -4693,7 +4515,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MClass, POSetElement[MClass]] */
 const struct type type_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
-1684,
+1681,
 "HashMapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 3,
 0,
@@ -4702,8 +4524,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MClassposet__POSet
 {
 0, /* nullable Object */
 1, /* Object */
-487, /* MapIterator[MClass, POSetElement[MClass]] */
-1684, /* HashMapIterator[MClass, POSetElement[MClass]] */
+512, /* MapIterator[MClass, POSetElement[MClass]] */
+1681, /* HashMapIterator[MClass, POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
@@ -4714,7 +4536,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MClas
 };
 /* runtime type MapIterator[MClass, POSetElement[MClass]] */
 const struct type type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass = {
-487,
+512,
 "MapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
 0,
@@ -4723,144 +4545,60 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-487, /* MapIterator[MClass, POSetElement[MClass]] */
+512, /* MapIterator[MClass, POSetElement[MClass]] */
 },
 };
-/* runtime type ArrayIterator[AExternCodeBlock] */
-const struct type type_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
-2211,
-"ArrayIterator[AExternCodeBlock]", /* class_name_string */
+/* runtime type ArrayIterator[AImport] */
+const struct type type_array__ArrayIteratorparser_nodes__AImport = {
+2220,
+"ArrayIterator[AImport]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock,
+&resolution_table_array__ArrayIteratorparser_nodes__AImport,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2211, /* ArrayIterator[AExternCodeBlock] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2220, /* ArrayIterator[AImport] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AImport = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AExternCodeBlock, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCodeBlock] */
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Iterator#0]: Array[AExternCodeBlock] */
+&type_array__AbstractArrayReadparser_nodes__AImport, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AImport] */
+&type_array__Arrayparser_nodes__AImport, /* Array[Iterator#0]: Array[AImport] */
 }
 };
-/* runtime type NativeArray[AExternCodeBlock] */
-const struct type type_array__NativeArrayparser_nodes__AExternCodeBlock = {
-2212,
-"NativeArray[AExternCodeBlock]", /* class_name_string */
+/* runtime type NativeArray[AImport] */
+const struct type type_array__NativeArrayparser_nodes__AImport = {
+2221,
+"NativeArray[AImport]", /* class_name_string */
 5,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock,
+&resolution_table_array__NativeArrayparser_nodes__AImport,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2212, /* NativeArray[AExternCodeBlock] */
-},
-};
-const struct types resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock = {
-0, /* dummy */
-{
-&type_parser_nodes__AExternCodeBlock, /* NativeArray#0: AExternCodeBlock */
-&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[NativeArray#0]: NativeArray[AExternCodeBlock] */
-}
-};
-/* runtime type MapKeysIterator[MClass, AClassdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
-488,
-"MapKeysIterator[MClass, AClassdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-488, /* MapKeysIterator[MClass, AClassdef] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, AClassdef] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
-}
-};
-/* runtime type MapValuesIterator[MClass, AClassdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
-489,
-"MapValuesIterator[MClass, AClassdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-489, /* MapValuesIterator[MClass, AClassdef] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
-}
-};
-/* runtime type MapKeysIterator[MProperty, APropdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
-490,
-"MapKeysIterator[MProperty, APropdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-490, /* MapKeysIterator[MProperty, APropdef] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MProperty, APropdef] */
-&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
-}
-};
-/* runtime type MapValuesIterator[MProperty, APropdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
-491,
-"MapValuesIterator[MProperty, APropdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-491, /* MapValuesIterator[MProperty, APropdef] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2221, /* NativeArray[AImport] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AImport = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MProperty, APropdef] */
-&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
+&type_parser_nodes__AImport, /* NativeArray#0: AImport */
+&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[NativeArray#0]: NativeArray[AImport] */
 }
 };
 /* runtime type ArrayIterator[AFormaldef] */
 const struct type type_array__ArrayIteratorparser_nodes__AFormaldef = {
-2213,
+2222,
 "ArrayIterator[AFormaldef]", /* class_name_string */
 5,
 0,
@@ -4869,10 +4607,10 @@ const struct type type_array__ArrayIteratorparser_nodes__AFormaldef = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2213, /* ArrayIterator[AFormaldef] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2222, /* ArrayIterator[AFormaldef] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorparser_nodes__AFormaldef = {
@@ -4884,7 +4622,7 @@ const struct types resolution_table_array__ArrayIteratorparser_nodes__AFormaldef
 };
 /* runtime type NativeArray[AFormaldef] */
 const struct type type_array__NativeArrayparser_nodes__AFormaldef = {
-2214,
+2223,
 "NativeArray[AFormaldef]", /* class_name_string */
 5,
 0,
@@ -4893,10 +4631,10 @@ const struct type type_array__NativeArrayparser_nodes__AFormaldef = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2214, /* NativeArray[AFormaldef] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2223, /* NativeArray[AFormaldef] */
 },
 };
 const struct types resolution_table_array__NativeArrayparser_nodes__AFormaldef = {
@@ -4908,7 +4646,7 @@ const struct types resolution_table_array__NativeArrayparser_nodes__AFormaldef =
 };
 /* runtime type ArrayIterator[ASuperclass] */
 const struct type type_array__ArrayIteratorparser_nodes__ASuperclass = {
-2215,
+2224,
 "ArrayIterator[ASuperclass]", /* class_name_string */
 5,
 0,
@@ -4917,10 +4655,10 @@ const struct type type_array__ArrayIteratorparser_nodes__ASuperclass = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2215, /* ArrayIterator[ASuperclass] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2224, /* ArrayIterator[ASuperclass] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorparser_nodes__ASuperclass = {
@@ -4932,7 +4670,7 @@ const struct types resolution_table_array__ArrayIteratorparser_nodes__ASuperclas
 };
 /* runtime type NativeArray[ASuperclass] */
 const struct type type_array__NativeArrayparser_nodes__ASuperclass = {
-2216,
+2225,
 "NativeArray[ASuperclass]", /* class_name_string */
 5,
 0,
@@ -4941,10 +4679,10 @@ const struct type type_array__NativeArrayparser_nodes__ASuperclass = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2216, /* NativeArray[ASuperclass] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2225, /* NativeArray[ASuperclass] */
 },
 };
 const struct types resolution_table_array__NativeArrayparser_nodes__ASuperclass = {
@@ -4954,828 +4692,814 @@ const struct types resolution_table_array__NativeArrayparser_nodes__ASuperclass
 &type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[NativeArray#0]: NativeArray[ASuperclass] */
 }
 };
-/* runtime type ArrayIterator[AAnnotation] */
-const struct type type_array__ArrayIteratorparser_nodes__AAnnotation = {
-2217,
-"ArrayIterator[AAnnotation]", /* class_name_string */
-5,
+/* runtime type HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+513,
+"HashMap[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AAnnotation,
-6,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2217, /* ArrayIterator[AAnnotation] */
+513, /* HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AAnnotation = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AAnnotation, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAnnotation] */
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[Iterator#0]: Array[AAnnotation] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+&type_mmodule__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_mmodule__MModule, /* Map#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Map#1: HashMap[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MMethodDef]]] not a live type) */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapRead#1: HashMap[MType, Array[MMethodDef]] */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
 }
 };
-/* runtime type NativeArray[AAnnotation] */
-const struct type type_array__NativeArrayparser_nodes__AAnnotation = {
-2218,
-"NativeArray[AAnnotation]", /* class_name_string */
-5,
+/* runtime type HashMap[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+514,
+"HashMap[MType, Array[MMethodDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AAnnotation,
-6,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2218, /* NativeArray[AAnnotation] */
+514, /* HashMap[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AAnnotation = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_parser_nodes__AAnnotation, /* NativeArray#0: AAnnotation */
-&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[NativeArray#0]: NativeArray[AAnnotation] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MMethodDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MMethodDef]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraymodel__MMethodDef, /* Map#1: Array[MMethodDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MMethodDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MMethodDef]] not a live type) */
+&type_array__Arraymodel__MMethodDef, /* MapRead#1: Array[MMethodDef] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* HashCollection#1: HashMapNode[MType, Array[MMethodDef]] */
 }
 };
-/* runtime type ArrayIterator[AParam] */
-const struct type type_array__ArrayIteratorparser_nodes__AParam = {
-2219,
-"ArrayIterator[AParam]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[String, Variable] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
+515,
+"MapKeysIterator[String, Variable]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AParam,
-6,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2219, /* ArrayIterator[AParam] */
+515, /* MapKeysIterator[String, Variable] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AParam = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AParam, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AParam] */
-&type_array__Arrayparser_nodes__AParam, /* Array[Iterator#0]: Array[AParam] */
+&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Variable] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type NativeArray[AParam] */
-const struct type type_array__NativeArrayparser_nodes__AParam = {
-2220,
-"NativeArray[AParam]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[String, Variable] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
+516,
+"MapValuesIterator[String, Variable]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AParam,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2220, /* NativeArray[AParam] */
+516, /* MapValuesIterator[String, Variable] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AParam = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_parser_nodes__AParam, /* NativeArray#0: AParam */
-&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[NativeArray#0]: NativeArray[AParam] */
+&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Variable] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
 }
 };
-/* runtime type ArrayIterator[AClosureDecl] */
-const struct type type_array__ArrayIteratorparser_nodes__AClosureDecl = {
-2221,
-"ArrayIterator[AClosureDecl]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
+517,
+"MapKeysIterator[Variable, nullable MType]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AClosureDecl,
-6,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2221, /* ArrayIterator[AClosureDecl] */
+517, /* MapKeysIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AClosureDecl = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AClosureDecl, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AClosureDecl] */
-&type_array__Arrayparser_nodes__AClosureDecl, /* Array[Iterator#0]: Array[AClosureDecl] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, nullable MType] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
 }
 };
-/* runtime type NativeArray[AClosureDecl] */
-const struct type type_array__NativeArrayparser_nodes__AClosureDecl = {
-2222,
-"NativeArray[AClosureDecl]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
+518,
+"MapValuesIterator[Variable, nullable MType]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AClosureDecl,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2222, /* NativeArray[AClosureDecl] */
+518, /* MapValuesIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AClosureDecl = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__AClosureDecl, /* NativeArray#0: AClosureDecl */
-&type_array__NativeArrayparser_nodes__AClosureDecl, /* NativeArray[NativeArray#0]: NativeArray[AClosureDecl] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, nullable MType] */
+&type_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable MType] */
 }
 };
-/* runtime type ArrayIterator[AExternCall] */
-const struct type type_array__ArrayIteratorparser_nodes__AExternCall = {
-2223,
-"ArrayIterator[AExternCall]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+519,
+"MapKeysIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AExternCall,
-6,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2223, /* ArrayIterator[AExternCall] */
+519, /* MapKeysIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCall = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AExternCall, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCall] */
-&type_array__Arrayparser_nodes__AExternCall, /* Array[Iterator#0]: Array[AExternCall] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, nullable Array[nullable MType]] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
 }
 };
-/* runtime type NativeArray[AExternCall] */
-const struct type type_array__NativeArrayparser_nodes__AExternCall = {
-2224,
-"NativeArray[AExternCall]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+520,
+"MapValuesIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AExternCall,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2224, /* NativeArray[AExternCall] */
+520, /* MapValuesIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AExternCall = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__AExternCall, /* NativeArray#0: AExternCall */
-&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[NativeArray#0]: NativeArray[AExternCall] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, nullable Array[nullable MType]] */
+&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable Array[nullable MType]] */
 }
 };
-/* runtime type ArrayIterator[AType] */
-const struct type type_array__ArrayIteratorparser_nodes__AType = {
-2225,
-"ArrayIterator[AType]", /* class_name_string */
-5,
-0,
-&resolution_table_array__ArrayIteratorparser_nodes__AType,
+/* runtime type ArrayIterator[MAttributeDef] */
+const struct type type_array__ArrayIteratormodel__MAttributeDef = {
+2455,
+"ArrayIterator[MAttributeDef]", /* class_name_string */
 6,
+0,
+&resolution_table_array__ArrayIteratormodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2225, /* ArrayIterator[AType] */
+289, /* ArrayIterator[Object] */
+379, /* ArrayIterator[nullable MPropDef] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2167, /* ArrayIterator[MPropDef] */
+2455, /* ArrayIterator[MAttributeDef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AType = {
+const struct types resolution_table_array__ArrayIteratormodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AType] */
-&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
+&type_array__AbstractArrayReadmodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttributeDef] */
+&type_array__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[MAttributeDef] */
 }
 };
-/* runtime type NativeArray[AType] */
-const struct type type_array__NativeArrayparser_nodes__AType = {
-2226,
-"NativeArray[AType]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArrayparser_nodes__AType,
+/* runtime type NativeArray[MAttributeDef] */
+const struct type type_array__NativeArraymodel__MAttributeDef = {
+2456,
+"NativeArray[MAttributeDef]", /* class_name_string */
 6,
+0,
+&resolution_table_array__NativeArraymodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2226, /* NativeArray[AType] */
+193, /* NativeArray[Object] */
+380, /* NativeArray[nullable MPropDef] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2168, /* NativeArray[MPropDef] */
+2456, /* NativeArray[MAttributeDef] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AType = {
+const struct types resolution_table_array__NativeArraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_parser_nodes__AType, /* NativeArray#0: AType */
-&type_array__NativeArrayparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[AType] */
+&type_model__MAttributeDef, /* NativeArray#0: MAttributeDef */
+&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[MAttributeDef] */
 }
 };
-/* runtime type ArrayIterator[AClosureDef] */
-const struct type type_array__ArrayIteratorparser_nodes__AClosureDef = {
-2227,
-"ArrayIterator[AClosureDef]", /* class_name_string */
-5,
+/* runtime type HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+521,
+"HashMap[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AClosureDef,
-6,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2227, /* ArrayIterator[AClosureDef] */
+521, /* HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AClosureDef = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AClosureDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AClosureDef] */
-&type_array__Arrayparser_nodes__AClosureDef, /* Array[Iterator#0]: Array[AClosureDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+&type_mmodule__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* Map#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Map#1: HashMap[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MAttributeDef]]] not a live type) */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapRead#1: HashMap[MType, Array[MAttributeDef]] */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
 }
 };
-/* runtime type NativeArray[AClosureDef] */
-const struct type type_array__NativeArrayparser_nodes__AClosureDef = {
-2228,
-"NativeArray[AClosureDef]", /* class_name_string */
-5,
+/* runtime type HashMap[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+522,
+"HashMap[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AClosureDef,
-6,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2228, /* NativeArray[AClosureDef] */
+522, /* HashMap[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AClosureDef = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_parser_nodes__AClosureDef, /* NativeArray#0: AClosureDef */
-&type_array__NativeArrayparser_nodes__AClosureDef, /* NativeArray[NativeArray#0]: NativeArray[AClosureDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MAttributeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MAttributeDef]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraymodel__MAttributeDef, /* Map#1: Array[MAttributeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MAttributeDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MAttributeDef]] not a live type) */
+&type_array__Arraymodel__MAttributeDef, /* MapRead#1: Array[MAttributeDef] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashCollection#1: HashMapNode[MType, Array[MAttributeDef]] */
 }
 };
-/* runtime type ArrayIterator[TId] */
-const struct type type_array__ArrayIteratorparser_nodes__TId = {
-2229,
-"ArrayIterator[TId]", /* class_name_string */
-5,
+/* runtime type ContainerIterator[Int] */
+const struct type type_abstract_collection__ContainerIteratorkernel__Int = {
+523,
+"ContainerIterator[Int]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__TId,
-6,
+&resolution_table_abstract_collection__ContainerIteratorkernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1902, /* ArrayIterator[Token] */
-2229, /* ArrayIterator[TId] */
+523, /* ContainerIterator[Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__TId = {
+const struct types resolution_table_abstract_collection__ContainerIteratorkernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__TId, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TId] */
-&type_array__Arrayparser_nodes__TId, /* Array[Iterator#0]: Array[TId] */
+&type_abstract_collection__Containerkernel__Int, /* Container[ContainerIterator#0]: Container[Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type NativeArray[TId] */
-const struct type type_array__NativeArrayparser_nodes__TId = {
-2230,
-"NativeArray[TId]", /* class_name_string */
+/* runtime type ArrayIterator[AExternCodeBlock] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
+2226,
+"ArrayIterator[AExternCodeBlock]", /* class_name_string */
 5,
 0,
-&resolution_table_array__NativeArrayparser_nodes__TId,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1903, /* NativeArray[Token] */
-2230, /* NativeArray[TId] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2226, /* ArrayIterator[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__TId = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
 0, /* dummy */
 {
-&type_parser_nodes__TId, /* NativeArray#0: TId */
-&type_array__NativeArrayparser_nodes__TId, /* NativeArray[NativeArray#0]: NativeArray[TId] */
+&type_array__AbstractArrayReadparser_nodes__AExternCodeBlock, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCodeBlock] */
+&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Iterator#0]: Array[AExternCodeBlock] */
 }
 };
-/* runtime type ArrayIterator[AAtArg] */
-const struct type type_array__ArrayIteratorparser_nodes__AAtArg = {
-2231,
-"ArrayIterator[AAtArg]", /* class_name_string */
+/* runtime type NativeArray[AExternCodeBlock] */
+const struct type type_array__NativeArrayparser_nodes__AExternCodeBlock = {
+2227,
+"NativeArray[AExternCodeBlock]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AAtArg,
+&resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1842, /* ArrayIterator[Prod] */
-2231, /* ArrayIterator[AAtArg] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2227, /* NativeArray[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AAtArg = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AAtArg, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAtArg] */
-&type_array__Arrayparser_nodes__AAtArg, /* Array[Iterator#0]: Array[AAtArg] */
+&type_parser_nodes__AExternCodeBlock, /* NativeArray#0: AExternCodeBlock */
+&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[NativeArray#0]: NativeArray[AExternCodeBlock] */
 }
 };
-/* runtime type NativeArray[AAtArg] */
-const struct type type_array__NativeArrayparser_nodes__AAtArg = {
-2232,
-"NativeArray[AAtArg]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
+524,
+"MapKeysIterator[MClass, AClassdef]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AAtArg,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1843, /* NativeArray[Prod] */
-2232, /* NativeArray[AAtArg] */
+524, /* MapKeysIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AAtArg = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_parser_nodes__AAtArg, /* NativeArray#0: AAtArg */
-&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[NativeArray#0]: NativeArray[AAtArg] */
-}
-};
-/* runtime type ArrayIterator[TComment] */
-const struct type type_array__ArrayIteratorparser_nodes__TComment = {
-2233,
-"ArrayIterator[TComment]", /* class_name_string */
-5,
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, AClassdef] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+}
+};
+/* runtime type MapValuesIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
+525,
+"MapValuesIterator[MClass, AClassdef]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__TComment,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1498, /* ArrayIterator[ANode] */
-1902, /* ArrayIterator[Token] */
-2233, /* ArrayIterator[TComment] */
+525, /* MapValuesIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__TComment = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__TComment, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TComment] */
-&type_array__Arrayparser_nodes__TComment, /* Array[Iterator#0]: Array[TComment] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, AClassdef] */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
 }
 };
-/* runtime type NativeArray[TComment] */
-const struct type type_array__NativeArrayparser_nodes__TComment = {
-2234,
-"NativeArray[TComment]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MProperty, APropdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
+526,
+"MapKeysIterator[MProperty, APropdef]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayparser_nodes__TComment,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1499, /* NativeArray[ANode] */
-1903, /* NativeArray[Token] */
-2234, /* NativeArray[TComment] */
+526, /* MapKeysIterator[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__TComment = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_parser_nodes__TComment, /* NativeArray#0: TComment */
-&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[NativeArray#0]: NativeArray[TComment] */
+&type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MProperty, APropdef] */
+&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
 }
 };
-/* runtime type ArrayIterator[MMethodDef] */
-const struct type type_array__ArrayIteratormodel__MMethodDef = {
-2429,
-"ArrayIterator[MMethodDef]", /* class_name_string */
-6,
+/* runtime type MapValuesIterator[MProperty, APropdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
+527,
+"MapValuesIterator[MProperty, APropdef]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratormodel__MMethodDef,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-365, /* ArrayIterator[nullable MPropDef] */
-1485, /* ArrayIterator[PropertyLayoutElement] */
-2157, /* ArrayIterator[MPropDef] */
-2429, /* ArrayIterator[MMethodDef] */
+527, /* MapValuesIterator[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MMethodDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MProperty, APropdef] */
+&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
 }
 };
-/* runtime type NativeArray[MMethodDef] */
-const struct type type_array__NativeArraymodel__MMethodDef = {
-2430,
-"NativeArray[MMethodDef]", /* class_name_string */
-6,
+/* runtime type ArrayIterator[AAnnotation] */
+const struct type type_array__ArrayIteratorparser_nodes__AAnnotation = {
+2228,
+"ArrayIterator[AAnnotation]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraymodel__MMethodDef,
-7,
+&resolution_table_array__ArrayIteratorparser_nodes__AAnnotation,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-366, /* NativeArray[nullable MPropDef] */
-1486, /* NativeArray[PropertyLayoutElement] */
-2158, /* NativeArray[MPropDef] */
-2430, /* NativeArray[MMethodDef] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2228, /* ArrayIterator[AAnnotation] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MMethodDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AAnnotation = {
 0, /* dummy */
 {
-&type_model__MMethodDef, /* NativeArray#0: MMethodDef */
-&type_array__NativeArraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[MMethodDef] */
+&type_array__AbstractArrayReadparser_nodes__AAnnotation, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAnnotation] */
+&type_array__Arrayparser_nodes__AAnnotation, /* Array[Iterator#0]: Array[AAnnotation] */
 }
 };
-/* runtime type HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-492,
-"HashMap[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-2,
+/* runtime type NativeArray[AAnnotation] */
+const struct type type_array__NativeArrayparser_nodes__AAnnotation = {
+2229,
+"NativeArray[AAnnotation]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AAnnotation,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-492, /* HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2229, /* NativeArray[AAnnotation] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AAnnotation = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
-&type_model_base__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_model_base__MModule, /* Map#0: MModule */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Map#1: HashMap[MType, Array[MMethodDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MMethodDef]]] not a live type) */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapRead#1: HashMap[MType, Array[MMethodDef]] */
-&type_model_base__MModule, /* HashCollection#0: MModule */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_parser_nodes__AAnnotation, /* NativeArray#0: AAnnotation */
+&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[NativeArray#0]: NativeArray[AAnnotation] */
 }
 };
-/* runtime type HashMap[MType, Array[MMethodDef]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-493,
-"HashMap[MType, Array[MMethodDef]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AParam] */
+const struct type type_array__ArrayIteratorparser_nodes__AParam = {
+2230,
+"ArrayIterator[AParam]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-493, /* HashMap[MType, Array[MMethodDef]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2230, /* ArrayIterator[AParam] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AParam = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MMethodDef]] */
-&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MMethodDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MMethodDef]] */
-&type_model__MType, /* Map#0: MType */
-&type_array__Arraymodel__MMethodDef, /* Map#1: Array[MMethodDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MMethodDef]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MMethodDef]] not a live type) */
-&type_array__Arraymodel__MMethodDef, /* MapRead#1: Array[MMethodDef] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* HashCollection#1: HashMapNode[MType, Array[MMethodDef]] */
+&type_array__AbstractArrayReadparser_nodes__AParam, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AParam] */
+&type_array__Arrayparser_nodes__AParam, /* Array[Iterator#0]: Array[AParam] */
 }
 };
-/* runtime type MapKeysIterator[String, Variable] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
-494,
-"MapKeysIterator[String, Variable]", /* class_name_string */
-2,
+/* runtime type NativeArray[AParam] */
+const struct type type_array__NativeArrayparser_nodes__AParam = {
+2231,
+"NativeArray[AParam]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-494, /* MapKeysIterator[String, Variable] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2231, /* NativeArray[AParam] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AParam = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Variable] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_parser_nodes__AParam, /* NativeArray#0: AParam */
+&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[NativeArray#0]: NativeArray[AParam] */
 }
 };
-/* runtime type MapValuesIterator[String, Variable] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
-495,
-"MapValuesIterator[String, Variable]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AExternCall] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCall = {
+2232,
+"ArrayIterator[AExternCall]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-495, /* MapValuesIterator[String, Variable] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2232, /* ArrayIterator[AExternCall] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Variable] */
-&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_array__AbstractArrayReadparser_nodes__AExternCall, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCall] */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[Iterator#0]: Array[AExternCall] */
 }
 };
-/* runtime type MapKeysIterator[Variable, nullable MType] */
-const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
-496,
-"MapKeysIterator[Variable, nullable MType]", /* class_name_string */
-2,
+/* runtime type NativeArray[AExternCall] */
+const struct type type_array__NativeArrayparser_nodes__AExternCall = {
+2233,
+"NativeArray[AExternCall]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-496, /* MapKeysIterator[Variable, nullable MType] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2233, /* NativeArray[AExternCall] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, nullable MType] */
-&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_parser_nodes__AExternCall, /* NativeArray#0: AExternCall */
+&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[NativeArray#0]: NativeArray[AExternCall] */
 }
 };
-/* runtime type MapValuesIterator[Variable, nullable MType] */
-const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
-497,
-"MapValuesIterator[Variable, nullable MType]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AType] */
+const struct type type_array__ArrayIteratorparser_nodes__AType = {
+2234,
+"ArrayIterator[AType]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-497, /* MapValuesIterator[Variable, nullable MType] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2234, /* ArrayIterator[AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, nullable MType] */
-&type_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable MType] */
+&type_array__AbstractArrayReadparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AType] */
+&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
 }
 };
-/* runtime type MapKeysIterator[Variable, nullable Array[nullable MType]] */
-const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
-498,
-"MapKeysIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type NativeArray[AType] */
+const struct type type_array__NativeArrayparser_nodes__AType = {
+2235,
+"NativeArray[AType]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-498, /* MapKeysIterator[Variable, nullable Array[nullable MType]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2235, /* NativeArray[AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, nullable Array[nullable MType]] */
-&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_parser_nodes__AType, /* NativeArray#0: AType */
+&type_array__NativeArrayparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[AType] */
 }
 };
-/* runtime type MapValuesIterator[Variable, nullable Array[nullable MType]] */
-const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
-499,
-"MapValuesIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[TId] */
+const struct type type_array__ArrayIteratorparser_nodes__TId = {
+2236,
+"ArrayIterator[TId]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__TId,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-499, /* MapValuesIterator[Variable, nullable Array[nullable MType]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1908, /* ArrayIterator[Token] */
+2236, /* ArrayIterator[TId] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__TId = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, nullable Array[nullable MType]] */
-&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable Array[nullable MType]] */
+&type_array__AbstractArrayReadparser_nodes__TId, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TId] */
+&type_array__Arrayparser_nodes__TId, /* Array[Iterator#0]: Array[TId] */
 }
-};
-/* runtime type ArrayIterator[MAttributeDef] */
-const struct type type_array__ArrayIteratormodel__MAttributeDef = {
-2431,
-"ArrayIterator[MAttributeDef]", /* class_name_string */
-6,
+};
+/* runtime type NativeArray[TId] */
+const struct type type_array__NativeArrayparser_nodes__TId = {
+2237,
+"NativeArray[TId]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratormodel__MAttributeDef,
-7,
+&resolution_table_array__NativeArrayparser_nodes__TId,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-365, /* ArrayIterator[nullable MPropDef] */
-1485, /* ArrayIterator[PropertyLayoutElement] */
-2157, /* ArrayIterator[MPropDef] */
-2431, /* ArrayIterator[MAttributeDef] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1909, /* NativeArray[Token] */
+2237, /* NativeArray[TId] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MAttributeDef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__TId = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttributeDef] */
-&type_array__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[MAttributeDef] */
+&type_parser_nodes__TId, /* NativeArray#0: TId */
+&type_array__NativeArrayparser_nodes__TId, /* NativeArray[NativeArray#0]: NativeArray[TId] */
 }
 };
-/* runtime type NativeArray[MAttributeDef] */
-const struct type type_array__NativeArraymodel__MAttributeDef = {
-2432,
-"NativeArray[MAttributeDef]", /* class_name_string */
-6,
+/* runtime type ArrayIterator[AAtArg] */
+const struct type type_array__ArrayIteratorparser_nodes__AAtArg = {
+2238,
+"ArrayIterator[AAtArg]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraymodel__MAttributeDef,
-7,
+&resolution_table_array__ArrayIteratorparser_nodes__AAtArg,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-366, /* NativeArray[nullable MPropDef] */
-1486, /* NativeArray[PropertyLayoutElement] */
-2158, /* NativeArray[MPropDef] */
-2432, /* NativeArray[MAttributeDef] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2238, /* ArrayIterator[AAtArg] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MAttributeDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AAtArg = {
 0, /* dummy */
 {
-&type_model__MAttributeDef, /* NativeArray#0: MAttributeDef */
-&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[MAttributeDef] */
+&type_array__AbstractArrayReadparser_nodes__AAtArg, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAtArg] */
+&type_array__Arrayparser_nodes__AAtArg, /* Array[Iterator#0]: Array[AAtArg] */
 }
 };
-/* runtime type HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-500,
-"HashMap[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-2,
+/* runtime type NativeArray[AAtArg] */
+const struct type type_array__NativeArrayparser_nodes__AAtArg = {
+2239,
+"NativeArray[AAtArg]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AAtArg,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-500, /* HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2239, /* NativeArray[AAtArg] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AAtArg = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
-&type_model_base__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_model_base__MModule, /* Map#0: MModule */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Map#1: HashMap[MType, Array[MAttributeDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MAttributeDef]]] not a live type) */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapRead#1: HashMap[MType, Array[MAttributeDef]] */
-&type_model_base__MModule, /* HashCollection#0: MModule */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_parser_nodes__AAtArg, /* NativeArray#0: AAtArg */
+&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[NativeArray#0]: NativeArray[AAtArg] */
 }
 };
-/* runtime type HashMap[MType, Array[MAttributeDef]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-501,
-"HashMap[MType, Array[MAttributeDef]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[TComment] */
+const struct type type_array__ArrayIteratorparser_nodes__TComment = {
+2240,
+"ArrayIterator[TComment]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__TComment,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-501, /* HashMap[MType, Array[MAttributeDef]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1908, /* ArrayIterator[Token] */
+2240, /* ArrayIterator[TComment] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__TComment = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MAttributeDef]] */
-&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MAttributeDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MAttributeDef]] */
-&type_model__MType, /* Map#0: MType */
-&type_array__Arraymodel__MAttributeDef, /* Map#1: Array[MAttributeDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MAttributeDef]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MAttributeDef]] not a live type) */
-&type_array__Arraymodel__MAttributeDef, /* MapRead#1: Array[MAttributeDef] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashCollection#1: HashMapNode[MType, Array[MAttributeDef]] */
+&type_array__AbstractArrayReadparser_nodes__TComment, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TComment] */
+&type_array__Arrayparser_nodes__TComment, /* Array[Iterator#0]: Array[TComment] */
 }
 };
-/* runtime type ContainerIterator[Int] */
-const struct type type_abstract_collection__ContainerIteratorkernel__Int = {
-502,
-"ContainerIterator[Int]", /* class_name_string */
-2,
+/* runtime type NativeArray[TComment] */
+const struct type type_array__NativeArrayparser_nodes__TComment = {
+2241,
+"NativeArray[TComment]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__ContainerIteratorkernel__Int,
-3,
+&resolution_table_array__NativeArrayparser_nodes__TComment,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-502, /* ContainerIterator[Int] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1909, /* NativeArray[Token] */
+2241, /* NativeArray[TComment] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorkernel__Int = {
+const struct types resolution_table_array__NativeArrayparser_nodes__TComment = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerkernel__Int, /* Container[ContainerIterator#0]: Container[Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_parser_nodes__TComment, /* NativeArray#0: TComment */
+&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[NativeArray#0]: NativeArray[TComment] */
 }
 };
 /* runtime type ArrayIterator[MVirtualTypeDef] */
 const struct type type_array__ArrayIteratormodel__MVirtualTypeDef = {
-2433,
+2457,
 "ArrayIterator[MVirtualTypeDef]", /* class_name_string */
 6,
 0,
@@ -5784,11 +5508,11 @@ const struct type type_array__ArrayIteratormodel__MVirtualTypeDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-365, /* ArrayIterator[nullable MPropDef] */
-1485, /* ArrayIterator[PropertyLayoutElement] */
-2157, /* ArrayIterator[MPropDef] */
-2433, /* ArrayIterator[MVirtualTypeDef] */
+289, /* ArrayIterator[Object] */
+379, /* ArrayIterator[nullable MPropDef] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2167, /* ArrayIterator[MPropDef] */
+2457, /* ArrayIterator[MVirtualTypeDef] */
 },
 };
 const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeDef = {
@@ -5800,7 +5524,7 @@ const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeDef =
 };
 /* runtime type NativeArray[MVirtualTypeDef] */
 const struct type type_array__NativeArraymodel__MVirtualTypeDef = {
-2434,
+2458,
 "NativeArray[MVirtualTypeDef]", /* class_name_string */
 6,
 0,
@@ -5809,11 +5533,11 @@ const struct type type_array__NativeArraymodel__MVirtualTypeDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-366, /* NativeArray[nullable MPropDef] */
-1486, /* NativeArray[PropertyLayoutElement] */
-2158, /* NativeArray[MPropDef] */
-2434, /* NativeArray[MVirtualTypeDef] */
+193, /* NativeArray[Object] */
+380, /* NativeArray[nullable MPropDef] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2168, /* NativeArray[MPropDef] */
+2458, /* NativeArray[MVirtualTypeDef] */
 },
 };
 const struct types resolution_table_array__NativeArraymodel__MVirtualTypeDef = {
@@ -5824,43 +5548,43 @@ const struct types resolution_table_array__NativeArraymodel__MVirtualTypeDef = {
 }
 };
 /* runtime type HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-503,
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+528,
 "HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-503, /* HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+528, /* HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
-&type_model_base__MModule, /* MapRead#0: MModule */
-&type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_model_base__MModule, /* Map#0: MModule */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+&type_mmodule__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* Map#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Map#1: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MVirtualTypeDef]]] not a live type) */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapRead#1: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_model_base__MModule, /* HashCollection#0: MModule */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
 /* runtime type HashMap[MType, Array[MVirtualTypeDef]] */
 const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-504,
+529,
 "HashMap[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
 0,
@@ -5869,7 +5593,7 @@ const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MV
 {
 0, /* nullable Object */
 1, /* Object */
-504, /* HashMap[MType, Array[MVirtualTypeDef]] */
+529, /* HashMap[MType, Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -5895,7 +5619,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MVirtualTypeDef]] not a live
 };
 /* runtime type MapKeysIterator[Phase, POSetElement[Phase]] */
 const struct type type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
-505,
+530,
 "MapKeysIterator[Phase, POSetElement[Phase]]", /* class_name_string */
 2,
 0,
@@ -5904,7 +5628,7 @@ const struct type type_abstract_collection__MapKeysIteratorphase__Phaseposet__PO
 {
 0, /* nullable Object */
 1, /* Object */
-505, /* MapKeysIterator[Phase, POSetElement[Phase]] */
+530, /* MapKeysIterator[Phase, POSetElement[Phase]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
@@ -5916,7 +5640,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratorphase__P
 };
 /* runtime type MapValuesIterator[Phase, POSetElement[Phase]] */
 const struct type type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
-506,
+531,
 "MapValuesIterator[Phase, POSetElement[Phase]]", /* class_name_string */
 2,
 0,
@@ -5925,7 +5649,7 @@ const struct type type_abstract_collection__MapValuesIteratorphase__Phaseposet__
 {
 0, /* nullable Object */
 1, /* Object */
-506, /* MapValuesIterator[Phase, POSetElement[Phase]] */
+531, /* MapValuesIterator[Phase, POSetElement[Phase]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
@@ -5937,7 +5661,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratorphase_
 };
 /* runtime type HashSetNode[Phase] */
 const struct type type_hash_collection__HashSetNodephase__Phase = {
-2235,
+2242,
 "HashSetNode[Phase]", /* class_name_string */
 5,
 0,
@@ -5946,10 +5670,10 @@ const struct type type_hash_collection__HashSetNodephase__Phase = {
 {
 0, /* nullable Object */
 1, /* Object */
-118, /* nullable HashSetNode[Object] */
-507, /* nullable HashSetNode[Phase] */
-1506, /* HashSetNode[Object] */
-2235, /* HashSetNode[Phase] */
+121, /* nullable HashSetNode[Object] */
+532, /* nullable HashSetNode[Phase] */
+1500, /* HashSetNode[Object] */
+2242, /* HashSetNode[Phase] */
 },
 };
 const struct types resolution_table_hash_collection__HashSetNodephase__Phase = {
@@ -5963,7 +5687,7 @@ NULL, /* empty */
 };
 /* runtime type nullable HashSetNode[Phase] */
 const struct type type_nullable_hash_collection__HashSetNodephase__Phase = {
-507,
+532,
 "nullable HashSetNode[Phase]", /* class_name_string */
 3,
 1,
@@ -5972,8 +5696,8 @@ const struct type type_nullable_hash_collection__HashSetNodephase__Phase = {
 {
 0, /* nullable Object */
 -1, /* empty */
-118, /* nullable HashSetNode[Object] */
-507, /* nullable HashSetNode[Phase] */
+121, /* nullable HashSetNode[Object] */
+532, /* nullable HashSetNode[Phase] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashSetNodephase__Phase = {
@@ -5987,7 +5711,7 @@ NULL, /* empty */
 };
 /* runtime type HashSetIterator[Phase] */
 const struct type type_hash_collection__HashSetIteratorphase__Phase = {
-1685,
+1682,
 "HashSetIterator[Phase]", /* class_name_string */
 3,
 0,
@@ -5996,8 +5720,8 @@ const struct type type_hash_collection__HashSetIteratorphase__Phase = {
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* HashSetIterator[Object] */
-1685, /* HashSetIterator[Phase] */
+324, /* HashSetIterator[Object] */
+1682, /* HashSetIterator[Phase] */
 },
 };
 const struct types resolution_table_hash_collection__HashSetIteratorphase__Phase = {
@@ -6009,7 +5733,7 @@ const struct types resolution_table_hash_collection__HashSetIteratorphase__Phase
 };
 /* runtime type NativeArray[nullable HashSetNode[Phase]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
-1686,
+1683,
 "NativeArray[nullable HashSetNode[Phase]]", /* class_name_string */
 3,
 0,
@@ -6018,8 +5742,8 @@ const struct type type_array__NativeArraynullable_hash_collection__HashSetNodeph
 {
 0, /* nullable Object */
 1, /* Object */
-310, /* NativeArray[nullable HashSetNode[Object]] */
-1686, /* NativeArray[nullable HashSetNode[Phase]] */
+325, /* NativeArray[nullable HashSetNode[Object]] */
+1683, /* NativeArray[nullable HashSetNode[Phase]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
@@ -6029,96 +5753,159 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 &type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Phase]] */
 }
 };
+/* runtime type Array[Array[MProject]] */
+const struct type type_array__Arrayarray__Arraymproject__MProject = {
+2588,
+"Array[Array[MProject]]", /* class_name_string */
+7,
+0,
+&resolution_table_array__Arrayarray__Arraymproject__MProject,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+1467, /* Collection[Array[MProject]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2459, /* AbstractArrayRead[Array[MProject]] */
+1782, /* AbstractArrayRead[Object] */
+2588, /* Array[Array[MProject]] */
+-1, /* empty */
+1973, /* Array[Object] */
+},
+};
+const struct types resolution_table_array__Arrayarray__Arraymproject__MProject = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Array#0]: Array[Array[MProject]] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[Array#0]: NativeArray[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* Sequence#0: Array[MProject] */
+&type_array__Arraymproject__MProject, /* SimpleCollection#0: Array[MProject] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[Array#0]: Collection[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* Array#0: Array[MProject] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* AbstractArray#0: Array[MProject] */
+&type_array__Arraymproject__MProject, /* RemovableCollection#0: Array[MProject] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[Sequence#0]: Collection[Array[MProject]] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Sequence#0]: Array[Array[MProject]] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[SimpleCollection#0]: Collection[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* Collection#0: Array[MProject] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[Collection#0]: Collection[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* SequenceRead#0: Array[MProject] */
+&type_array__Arraymproject__MProject, /* AbstractArrayRead#0: Array[MProject] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[AbstractArrayRead#0]: Array[Array[MProject]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MProject]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymproject__MProject, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MProject]] */
+}
+};
+/* runtime type AbstractArrayRead[Array[MProject]] */
+const struct type type_array__AbstractArrayReadarray__Arraymproject__MProject = {
+2459,
+"AbstractArrayRead[Array[MProject]]", /* class_name_string */
+5,
+0,
+NULL,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+1467, /* Collection[Array[MProject]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2459, /* AbstractArrayRead[Array[MProject]] */
+1782, /* AbstractArrayRead[Object] */
+},
+};
 /* runtime type MapKeysIterator[MModule, POSetElement[MModule]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-508,
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+533,
 "MapKeysIterator[MModule, POSetElement[MModule]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-508, /* MapKeysIterator[MModule, POSetElement[MModule]] */
+533, /* MapKeysIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, POSetElement[MModule]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, POSetElement[MModule]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
 }
 };
 /* runtime type MapValuesIterator[MModule, POSetElement[MModule]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-509,
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+534,
 "MapValuesIterator[MModule, POSetElement[MModule]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-509, /* MapValuesIterator[MModule, POSetElement[MModule]] */
+534, /* MapValuesIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, POSetElement[MModule]] */
-&type_array__Arrayposet__POSetElementmodel_base__MModule, /* Array[Iterator#0]: Array[POSetElement[MModule]] */
+&type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, POSetElement[MModule]] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[Iterator#0]: Array[POSetElement[MModule]] */
 }
 };
 /* runtime type Array[Array[MModule]] */
-const struct type type_array__Arrayarray__Arraymodel_base__MModule = {
-2581,
+const struct type type_array__Arrayarray__Arraymmodule__MModule = {
+2589,
 "Array[Array[MModule]]", /* class_name_string */
 7,
 0,
-&resolution_table_array__Arrayarray__Arraymodel_base__MModule,
+&resolution_table_array__Arrayarray__Arraymmodule__MModule,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
-1482, /* Collection[Array[MModule]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2435, /* AbstractArrayRead[Array[MModule]] */
-1778, /* AbstractArrayRead[Object] */
-2581, /* Array[Array[MModule]] */
+1472, /* Collection[Array[MModule]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2460, /* AbstractArrayRead[Array[MModule]] */
+1782, /* AbstractArrayRead[Object] */
+2589, /* Array[Array[MModule]] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraymodel_base__MModule = {
+const struct types resolution_table_array__Arrayarray__Arraymmodule__MModule = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel_base__MModule, /* Array[Array#0]: Array[Array[MModule]] */
-&type_array__NativeArrayarray__Arraymodel_base__MModule, /* NativeArray[Array#0]: NativeArray[Array[MModule]] */
-&type_array__Arraymodel_base__MModule, /* Sequence#0: Array[MModule] */
-&type_array__Arraymodel_base__MModule, /* SimpleCollection#0: Array[MModule] */
-&type_abstract_collection__Collectionarray__Arraymodel_base__MModule, /* Collection[Array#0]: Collection[Array[MModule]] */
-&type_array__Arraymodel_base__MModule, /* Array#0: Array[MModule] */
-&type_array__NativeArrayarray__Arraymodel_base__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MModule]] */
-&type_array__Arraymodel_base__MModule, /* AbstractArray#0: Array[MModule] */
-&type_array__Arraymodel_base__MModule, /* RemovableCollection#0: Array[MModule] */
-&type_abstract_collection__Collectionarray__Arraymodel_base__MModule, /* Collection[Sequence#0]: Collection[Array[MModule]] */
-&type_array__Arrayarray__Arraymodel_base__MModule, /* Array[Sequence#0]: Array[Array[MModule]] */
-&type_abstract_collection__Collectionarray__Arraymodel_base__MModule, /* Collection[SimpleCollection#0]: Collection[Array[MModule]] */
-&type_array__Arraymodel_base__MModule, /* Collection#0: Array[MModule] */
-&type_abstract_collection__Collectionarray__Arraymodel_base__MModule, /* Collection[Collection#0]: Collection[Array[MModule]] */
-&type_array__Arraymodel_base__MModule, /* SequenceRead#0: Array[MModule] */
-&type_array__Arraymodel_base__MModule, /* AbstractArrayRead#0: Array[MModule] */
-&type_array__Arrayarray__Arraymodel_base__MModule, /* Array[AbstractArrayRead#0]: Array[Array[MModule]] */
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[Array#0]: Array[Array[MModule]] */
+&type_array__NativeArrayarray__Arraymmodule__MModule, /* NativeArray[Array#0]: NativeArray[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* Sequence#0: Array[MModule] */
+&type_array__Arraymmodule__MModule, /* SimpleCollection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[Array#0]: Collection[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* Array#0: Array[MModule] */
+&type_array__NativeArrayarray__Arraymmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* AbstractArray#0: Array[MModule] */
+&type_array__Arraymmodule__MModule, /* RemovableCollection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[Sequence#0]: Collection[Array[MModule]] */
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[Sequence#0]: Array[Array[MModule]] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[SimpleCollection#0]: Collection[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* Collection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[Collection#0]: Collection[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* SequenceRead#0: Array[MModule] */
+&type_array__Arraymmodule__MModule, /* AbstractArrayRead#0: Array[MModule] */
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[AbstractArrayRead#0]: Array[Array[MModule]] */
 NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MModule]] not a live type) */
-&type_array__ArrayIteratorarray__Arraymodel_base__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MModule]] */
+&type_array__ArrayIteratorarray__Arraymmodule__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MModule]] */
 }
 };
 /* runtime type AbstractArrayRead[Array[MModule]] */
-const struct type type_array__AbstractArrayReadarray__Arraymodel_base__MModule = {
-2435,
+const struct type type_array__AbstractArrayReadarray__Arraymmodule__MModule = {
+2460,
 "AbstractArrayRead[Array[MModule]]", /* class_name_string */
 5,
 0,
@@ -6127,16 +5914,16 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1482, /* Collection[Array[MModule]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2435, /* AbstractArrayRead[Array[MModule]] */
-1778, /* AbstractArrayRead[Object] */
+1472, /* Collection[Array[MModule]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2460, /* AbstractArrayRead[Array[MModule]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
 /* runtime type MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-510,
+535,
 "MapKeysIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
 2,
 0,
@@ -6145,7 +5932,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefposet
 {
 0, /* nullable Object */
 1, /* Object */
-510, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
+535, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
@@ -6157,7 +5944,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-511,
+536,
 "MapValuesIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
 2,
 0,
@@ -6166,7 +5953,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefpos
 {
 0, /* nullable Object */
 1, /* Object */
-511, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
+536, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
@@ -6178,7 +5965,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapKeysIterator[MClassType, POSetElement[MClassType]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1687,
+1684,
 "MapKeysIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
 3,
 0,
@@ -6187,8 +5974,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypepose
 {
 0, /* nullable Object */
 1, /* Object */
-512, /* MapKeysIterator[MType, POSetElement[MType]] */
-1687, /* MapKeysIterator[MClassType, POSetElement[MClassType]] */
+537, /* MapKeysIterator[MType, POSetElement[MType]] */
+1684, /* MapKeysIterator[MClassType, POSetElement[MClassType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
@@ -6200,7 +5987,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapKeysIterator[MType, POSetElement[MType]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
-512,
+537,
 "MapKeysIterator[MType, POSetElement[MType]]", /* class_name_string */
 2,
 0,
@@ -6209,7 +5996,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MTypeposet__PO
 {
 0, /* nullable Object */
 1, /* Object */
-512, /* MapKeysIterator[MType, POSetElement[MType]] */
+537, /* MapKeysIterator[MType, POSetElement[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
@@ -6221,7 +6008,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClassType, POSetElement[MClassType]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1688,
+1685,
 "MapValuesIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
 3,
 0,
@@ -6230,8 +6017,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypepo
 {
 0, /* nullable Object */
 1, /* Object */
-513, /* MapValuesIterator[MType, POSetElement[MType]] */
-1688, /* MapValuesIterator[MClassType, POSetElement[MClassType]] */
+538, /* MapValuesIterator[MType, POSetElement[MType]] */
+1685, /* MapValuesIterator[MClassType, POSetElement[MClassType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
@@ -6243,7 +6030,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapValuesIterator[MType, POSetElement[MType]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
-513,
+538,
 "MapValuesIterator[MType, POSetElement[MType]]", /* class_name_string */
 2,
 0,
@@ -6252,7 +6039,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MTypeposet__
 {
 0, /* nullable Object */
 1, /* Object */
-513, /* MapValuesIterator[MType, POSetElement[MType]] */
+538, /* MapValuesIterator[MType, POSetElement[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
@@ -6264,7 +6051,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type Array[Array[MClass]] */
 const struct type type_array__Arrayarray__Arraymodel__MClass = {
-2652,
+2662,
 "Array[Array[MClass]]", /* class_name_string */
 11,
 0,
@@ -6273,16 +6060,16 @@ const struct type type_array__Arrayarray__Arraymodel__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1838, /* Collection[Array[MClass]] */
-1778, /* AbstractArrayRead[Object] */
-2436, /* AbstractArrayRead[Array[nullable MClass]] */
-2582, /* Array[Array[nullable MClass]] */
-1962, /* Array[Object] */
-2583, /* AbstractArrayRead[Array[MClass]] */
-2652, /* Array[Array[MClass]] */
+1479, /* Collection[Array[nullable MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1843, /* Collection[Array[MClass]] */
+1782, /* AbstractArrayRead[Object] */
+2461, /* AbstractArrayRead[Array[nullable MClass]] */
+2590, /* Array[Array[nullable MClass]] */
+1973, /* Array[Object] */
+2591, /* AbstractArrayRead[Array[MClass]] */
+2662, /* Array[Array[MClass]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MClass = {
@@ -6311,7 +6098,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClass]]
 };
 /* runtime type Array[Array[nullable MClass]] */
 const struct type type_array__Arrayarray__Arraynullable_model__MClass = {
-2582,
+2590,
 "Array[Array[nullable MClass]]", /* class_name_string */
 8,
 0,
@@ -6320,14 +6107,14 @@ const struct type type_array__Arrayarray__Arraynullable_model__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1479, /* Collection[Array[nullable MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2436, /* AbstractArrayRead[Array[nullable MClass]] */
-2582, /* Array[Array[nullable MClass]] */
-1962, /* Array[Object] */
+1782, /* AbstractArrayRead[Object] */
+2461, /* AbstractArrayRead[Array[nullable MClass]] */
+2590, /* Array[Array[nullable MClass]] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraynullable_model__MClass = {
@@ -6356,7 +6143,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable
 };
 /* runtime type AbstractArrayRead[Array[MClass]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MClass = {
-2583,
+2591,
 "AbstractArrayRead[Array[MClass]]", /* class_name_string */
 10,
 0,
@@ -6365,20 +6152,20 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1838, /* Collection[Array[MClass]] */
-1778, /* AbstractArrayRead[Object] */
-2436, /* AbstractArrayRead[Array[nullable MClass]] */
+1479, /* Collection[Array[nullable MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1843, /* Collection[Array[MClass]] */
+1782, /* AbstractArrayRead[Object] */
+2461, /* AbstractArrayRead[Array[nullable MClass]] */
 -1, /* empty */
 -1, /* empty */
-2583, /* AbstractArrayRead[Array[MClass]] */
+2591, /* AbstractArrayRead[Array[MClass]] */
 },
 };
 /* runtime type AbstractArrayRead[Array[nullable MClass]] */
 const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MClass = {
-2436,
+2461,
 "AbstractArrayRead[Array[nullable MClass]]", /* class_name_string */
 7,
 0,
@@ -6387,17 +6174,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1489, /* Collection[Array[nullable MClass]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1479, /* Collection[Array[nullable MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2436, /* AbstractArrayRead[Array[nullable MClass]] */
+1782, /* AbstractArrayRead[Object] */
+2461, /* AbstractArrayRead[Array[nullable MClass]] */
 },
 };
 /* runtime type Array[Array[MProperty]] */
 const struct type type_array__Arrayarray__Arraymodel__MProperty = {
-2584,
+2592,
 "Array[Array[MProperty]]", /* class_name_string */
 7,
 0,
@@ -6406,14 +6193,14 @@ const struct type type_array__Arrayarray__Arraymodel__MProperty = {
 {
 0, /* nullable Object */
 1, /* Object */
-1492, /* Collection[Array[MProperty]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2437, /* AbstractArrayRead[Array[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
-2584, /* Array[Array[MProperty]] */
+1482, /* Collection[Array[MProperty]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2462, /* AbstractArrayRead[Array[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+2592, /* Array[Array[MProperty]] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MProperty = {
@@ -6442,7 +6229,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MPropert
 };
 /* runtime type AbstractArrayRead[Array[MProperty]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MProperty = {
-2437,
+2462,
 "AbstractArrayRead[Array[MProperty]]", /* class_name_string */
 5,
 0,
@@ -6451,58 +6238,58 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1492, /* Collection[Array[MProperty]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2437, /* AbstractArrayRead[Array[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
+1482, /* Collection[Array[MProperty]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2462, /* AbstractArrayRead[Array[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
 /* runtime type MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-514,
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+539,
 "MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-514, /* MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+539, /* MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
 }
 };
 /* runtime type MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-515,
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+540,
 "MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-515, /* MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+540, /* MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 &type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap2[MType, String, nullable MProperty]] */
 }
 };
 /* runtime type HashMapKeys[MType, HashMap[String, nullable MProperty]] */
 const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-2236,
+2243,
 "HashMapKeys[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 2,
 0,
@@ -6511,12 +6298,12 @@ const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__
 {
 0, /* nullable Object */
 1, /* Object */
-2236, /* HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+2243, /* HashMapKeys[MType, HashMap[String, nullable MProperty]] */
 -1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
@@ -6540,7 +6327,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MType, HashMap[String, nullable MProperty]] */
 const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1928,
+1935,
 "HashMapValues[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 3,
 0,
@@ -6549,9 +6336,9 @@ const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection
 {
 0, /* nullable Object */
 1, /* Object */
-1689, /* Collection[HashMap[String, nullable MProperty]] */
-1928, /* HashMapValues[MType, HashMap[String, nullable MProperty]] */
-166, /* Collection[Object] */
+1686, /* Collection[HashMap[String, nullable MProperty]] */
+1935, /* HashMapValues[MType, HashMap[String, nullable MProperty]] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
@@ -6575,7 +6362,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[HashMap[String, nullable MProperty]] */
 const struct type type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1689,
+1686,
 "Collection[HashMap[String, nullable MProperty]]", /* class_name_string */
 2,
 0,
@@ -6584,14 +6371,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1689, /* Collection[HashMap[String, nullable MProperty]] */
+1686, /* Collection[HashMap[String, nullable MProperty]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-516,
+541,
 "NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]]", /* class_name_string */
 2,
 0,
@@ -6600,7 +6387,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-516, /* NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
+541, /* NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
@@ -6612,7 +6399,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MType, HashMap[String, nullable MProperty]] */
 const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1690,
+1687,
 "HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 3,
 0,
@@ -6621,8 +6408,8 @@ const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__
 {
 0, /* nullable Object */
 1, /* Object */
-152, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
-1690, /* HashMapNode[MType, HashMap[String, nullable MProperty]] */
+156, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+1687, /* HashMapNode[MType, HashMap[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
@@ -6636,7 +6423,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash
 };
 /* runtime type nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-152,
+156,
 "nullable HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 2,
 1,
@@ -6645,7 +6432,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_col
 {
 0, /* nullable Object */
 -1, /* empty */
-152, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+156, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
@@ -6659,7 +6446,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MType, HashMap[String, nullable MProperty]] */
 const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1691,
+1688,
 "HashMapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 3,
 0,
@@ -6668,8 +6455,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collecti
 {
 0, /* nullable Object */
 1, /* Object */
-517, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
-1691, /* HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+542, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
+1688, /* HashMapIterator[MType, HashMap[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
@@ -6680,7 +6467,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MType
 };
 /* runtime type MapIterator[MType, HashMap[String, nullable MProperty]] */
 const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-517,
+542,
 "MapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 2,
 0,
@@ -6689,12 +6476,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-517, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
+542, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
 },
 };
 /* runtime type HashMapKeys[String, nullable MProperty] */
 const struct type type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
-1929,
+1936,
 "HashMapKeys[String, nullable MProperty]", /* class_name_string */
 3,
 0,
@@ -6703,9 +6490,9 @@ const struct type type_hash_collection__HashMapKeysstring__Stringnullable_model_
 {
 0, /* nullable Object */
 1, /* Object */
-597, /* Collection[String] */
-1929, /* HashMapKeys[String, nullable MProperty] */
-166, /* Collection[Object] */
+631, /* Collection[String] */
+1936, /* HashMapKeys[String, nullable MProperty] */
+170, /* Collection[Object] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
@@ -6729,7 +6516,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[String, nullable MProperty] */
 const struct type type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
-1692,
+1689,
 "HashMapValues[String, nullable MProperty]", /* class_name_string */
 3,
 0,
@@ -6738,8 +6525,8 @@ const struct type type_hash_collection__HashMapValuesstring__Stringnullable_mode
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-1692, /* HashMapValues[String, nullable MProperty] */
+179, /* Collection[nullable MProperty] */
+1689, /* HashMapValues[String, nullable MProperty] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
@@ -6763,7 +6550,7 @@ NULL, /* empty */
 };
 /* runtime type NativeArray[nullable HashMapNode[String, nullable MProperty]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
-518,
+543,
 "NativeArray[nullable HashMapNode[String, nullable MProperty]]", /* class_name_string */
 2,
 0,
@@ -6772,7 +6559,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodest
 {
 0, /* nullable Object */
 1, /* Object */
-518, /* NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+543, /* NativeArray[nullable HashMapNode[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
@@ -6784,7 +6571,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[String, nullable MProperty] */
 const struct type type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
-1693,
+1690,
 "HashMapNode[String, nullable MProperty]", /* class_name_string */
 3,
 0,
@@ -6793,8 +6580,8 @@ const struct type type_hash_collection__HashMapNodestring__Stringnullable_model_
 {
 0, /* nullable Object */
 1, /* Object */
-153, /* nullable HashMapNode[String, nullable MProperty] */
-1693, /* HashMapNode[String, nullable MProperty] */
+157, /* nullable HashMapNode[String, nullable MProperty] */
+1690, /* HashMapNode[String, nullable MProperty] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
@@ -6808,7 +6595,7 @@ const struct types resolution_table_hash_collection__HashMapNodestring__Stringnu
 };
 /* runtime type nullable HashMapNode[String, nullable MProperty] */
 const struct type type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
-153,
+157,
 "nullable HashMapNode[String, nullable MProperty]", /* class_name_string */
 2,
 1,
@@ -6817,7 +6604,7 @@ const struct type type_nullable_hash_collection__HashMapNodestring__Stringnullab
 {
 0, /* nullable Object */
 -1, /* empty */
-153, /* nullable HashMapNode[String, nullable MProperty] */
+157, /* nullable HashMapNode[String, nullable MProperty] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
@@ -6831,7 +6618,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodestring_
 };
 /* runtime type HashMapIterator[String, nullable MProperty] */
 const struct type type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
-1694,
+1691,
 "HashMapIterator[String, nullable MProperty]", /* class_name_string */
 3,
 0,
@@ -6840,8 +6627,8 @@ const struct type type_hash_collection__HashMapIteratorstring__Stringnullable_mo
 {
 0, /* nullable Object */
 1, /* Object */
-519, /* MapIterator[String, nullable MProperty] */
-1694, /* HashMapIterator[String, nullable MProperty] */
+544, /* MapIterator[String, nullable MProperty] */
+1691, /* HashMapIterator[String, nullable MProperty] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
@@ -6852,7 +6639,7 @@ const struct types resolution_table_hash_collection__HashMapIteratorstring__Stri
 };
 /* runtime type MapIterator[String, nullable MProperty] */
 const struct type type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty = {
-519,
+544,
 "MapIterator[String, nullable MProperty]", /* class_name_string */
 2,
 0,
@@ -6861,12 +6648,132 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-519, /* MapIterator[String, nullable MProperty] */
+544, /* MapIterator[String, nullable MProperty] */
+},
+};
+/* runtime type Array[nullable ModulePath] */
+const struct type type_array__Arraynullable_modelbuilder__ModulePath = {
+2244,
+"Array[nullable ModulePath]", /* class_name_string */
+5,
+0,
+&resolution_table_array__Arraynullable_modelbuilder__ModulePath,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+312, /* Collection[nullable ModulePath] */
+169, /* SequenceRead[nullable Object] */
+1937, /* AbstractArrayRead[nullable ModulePath] */
+2244, /* Array[nullable ModulePath] */
+},
+};
+const struct types resolution_table_array__Arraynullable_modelbuilder__ModulePath = {
+0, /* dummy */
+{
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[Array#0]: Array[nullable ModulePath] */
+&type_array__NativeArraynullable_modelbuilder__ModulePath, /* NativeArray[Array#0]: NativeArray[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* Sequence#0: nullable ModulePath */
+&type_nullable_modelbuilder__ModulePath, /* SimpleCollection#0: nullable ModulePath */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[Array#0]: Collection[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* Array#0: nullable ModulePath */
+&type_array__NativeArraynullable_modelbuilder__ModulePath, /* NativeArray[ArrayCapable#0]: NativeArray[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* AbstractArray#0: nullable ModulePath */
+&type_nullable_modelbuilder__ModulePath, /* RemovableCollection#0: nullable ModulePath */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[Sequence#0]: Collection[nullable ModulePath] */
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[Sequence#0]: Array[nullable ModulePath] */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[SimpleCollection#0]: Collection[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* Collection#0: nullable ModulePath */
+&type_abstract_collection__Collectionnullable_modelbuilder__ModulePath, /* Collection[Collection#0]: Collection[nullable ModulePath] */
+&type_nullable_modelbuilder__ModulePath, /* SequenceRead#0: nullable ModulePath */
+&type_nullable_modelbuilder__ModulePath, /* AbstractArrayRead#0: nullable ModulePath */
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[AbstractArrayRead#0]: Array[nullable ModulePath] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable ModulePath] not a live type) */
+&type_array__ArrayIteratornullable_modelbuilder__ModulePath, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable ModulePath] */
+}
+};
+/* runtime type AbstractArrayRead[nullable ModulePath] */
+const struct type type_array__AbstractArrayReadnullable_modelbuilder__ModulePath = {
+1937,
+"AbstractArrayRead[nullable ModulePath]", /* class_name_string */
+4,
+0,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+312, /* Collection[nullable ModulePath] */
+169, /* SequenceRead[nullable Object] */
+1937, /* AbstractArrayRead[nullable ModulePath] */
+},
+};
+/* runtime type Array[nullable MGroup] */
+const struct type type_array__Arraynullable_mproject__MGroup = {
+2245,
+"Array[nullable MGroup]", /* class_name_string */
+8,
+0,
+&resolution_table_array__Arraynullable_mproject__MGroup,
+9,
+{
+0, /* nullable Object */
+1, /* Object */
+227, /* Collection[nullable MGroup] */
+169, /* SequenceRead[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1938, /* AbstractArrayRead[nullable MGroup] */
+2245, /* Array[nullable MGroup] */
+},
+};
+const struct types resolution_table_array__Arraynullable_mproject__MGroup = {
+0, /* dummy */
+{
+&type_array__Arraynullable_mproject__MGroup, /* Array[Array#0]: Array[nullable MGroup] */
+&type_array__NativeArraynullable_mproject__MGroup, /* NativeArray[Array#0]: NativeArray[nullable MGroup] */
+&type_nullable_mproject__MGroup, /* Sequence#0: nullable MGroup */
+&type_nullable_mproject__MGroup, /* SimpleCollection#0: nullable MGroup */
+&type_abstract_collection__Collectionnullable_mproject__MGroup, /* Collection[Array#0]: Collection[nullable MGroup] */
+&type_nullable_mproject__MGroup, /* Array#0: nullable MGroup */
+&type_array__NativeArraynullable_mproject__MGroup, /* NativeArray[ArrayCapable#0]: NativeArray[nullable MGroup] */
+&type_nullable_mproject__MGroup, /* AbstractArray#0: nullable MGroup */
+&type_nullable_mproject__MGroup, /* RemovableCollection#0: nullable MGroup */
+&type_abstract_collection__Collectionnullable_mproject__MGroup, /* Collection[Sequence#0]: Collection[nullable MGroup] */
+&type_array__Arraynullable_mproject__MGroup, /* Array[Sequence#0]: Array[nullable MGroup] */
+&type_abstract_collection__Collectionnullable_mproject__MGroup, /* Collection[SimpleCollection#0]: Collection[nullable MGroup] */
+&type_nullable_mproject__MGroup, /* Collection#0: nullable MGroup */
+&type_abstract_collection__Collectionnullable_mproject__MGroup, /* Collection[Collection#0]: Collection[nullable MGroup] */
+&type_nullable_mproject__MGroup, /* SequenceRead#0: nullable MGroup */
+&type_nullable_mproject__MGroup, /* AbstractArrayRead#0: nullable MGroup */
+&type_array__Arraynullable_mproject__MGroup, /* Array[AbstractArrayRead#0]: Array[nullable MGroup] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable MGroup] not a live type) */
+&type_array__ArrayIteratornullable_mproject__MGroup, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable MGroup] */
+}
+};
+/* runtime type AbstractArrayRead[nullable MGroup] */
+const struct type type_array__AbstractArrayReadnullable_mproject__MGroup = {
+1938,
+"AbstractArrayRead[nullable MGroup]", /* class_name_string */
+7,
+0,
+NULL,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+227, /* Collection[nullable MGroup] */
+169, /* SequenceRead[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1938, /* AbstractArrayRead[nullable MGroup] */
 },
 };
 /* runtime type Array[Set[MProperty]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MProperty = {
-2653,
+2663,
 "Array[Set[MProperty]]", /* class_name_string */
 13,
 0,
@@ -6875,18 +6782,18 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MProperty = {
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1962, /* Array[Object] */
-2585, /* Array[Set[PropertyLayoutElement]] */
-2586, /* AbstractArrayRead[Set[MProperty]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1973, /* Array[Object] */
+2593, /* Array[Set[PropertyLayoutElement]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
 -1, /* empty */
-2653, /* Array[Set[MProperty]] */
+2663, /* Array[Set[MProperty]] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MProperty = {
@@ -6915,7 +6822,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MProperty]
 };
 /* runtime type Array[Set[PropertyLayoutElement]] */
 const struct type type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-2585,
+2593,
 "Array[Set[PropertyLayoutElement]]", /* class_name_string */
 10,
 0,
@@ -6924,15 +6831,15 @@ const struct type type_array__Arrayabstract_collection__Setlayout_builders__Prop
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
+1782, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1962, /* Array[Object] */
-2585, /* Array[Set[PropertyLayoutElement]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1973, /* Array[Object] */
+2593, /* Array[Set[PropertyLayoutElement]] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
@@ -6961,7 +6868,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[PropertyLa
 };
 /* runtime type AbstractArrayRead[Set[MProperty]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MProperty = {
-2586,
+2594,
 "AbstractArrayRead[Set[MProperty]]", /* class_name_string */
 11,
 0,
@@ -6970,21 +6877,21 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[Set[MProperty]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
 },
 };
 /* runtime type AbstractArrayRead[Set[PropertyLayoutElement]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-2438,
+2463,
 "AbstractArrayRead[Set[PropertyLayoutElement]]", /* class_name_string */
 8,
 0,
@@ -6993,18 +6900,18 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
+1782, /* AbstractArrayRead[Object] */
 -1, /* empty */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
 },
 };
 /* runtime type Array[HashSet[MType]] */
 const struct type type_array__Arrayhash_collection__HashSetmodel__MType = {
-2654,
+2664,
 "Array[HashSet[MType]]", /* class_name_string */
 11,
 0,
@@ -7013,16 +6920,16 @@ const struct type type_array__Arrayhash_collection__HashSetmodel__MType = {
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1858, /* Collection[HashSet[MType]] */
-1778, /* AbstractArrayRead[Object] */
-2439, /* AbstractArrayRead[Set[MType]] */
-2587, /* Array[Set[MType]] */
-1962, /* Array[Object] */
-2588, /* AbstractArrayRead[HashSet[MType]] */
-2654, /* Array[HashSet[MType]] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1857, /* Collection[HashSet[MType]] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
+2595, /* Array[Set[MType]] */
+1973, /* Array[Object] */
+2596, /* AbstractArrayRead[HashSet[MType]] */
+2664, /* Array[HashSet[MType]] */
 },
 };
 const struct types resolution_table_array__Arrayhash_collection__HashSetmodel__MType = {
@@ -7051,7 +6958,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[HashSet[MType]
 };
 /* runtime type Array[Set[MType]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MType = {
-2587,
+2595,
 "Array[Set[MType]]", /* class_name_string */
 8,
 0,
@@ -7060,14 +6967,14 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MType = {
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2439, /* AbstractArrayRead[Set[MType]] */
-2587, /* Array[Set[MType]] */
-1962, /* Array[Object] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
+2595, /* Array[Set[MType]] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MType = {
@@ -7096,7 +7003,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MType]] no
 };
 /* runtime type AbstractArrayRead[HashSet[MType]] */
 const struct type type_array__AbstractArrayReadhash_collection__HashSetmodel__MType = {
-2588,
+2596,
 "AbstractArrayRead[HashSet[MType]]", /* class_name_string */
 10,
 0,
@@ -7105,20 +7012,20 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1858, /* Collection[HashSet[MType]] */
-1778, /* AbstractArrayRead[Object] */
-2439, /* AbstractArrayRead[Set[MType]] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1857, /* Collection[HashSet[MType]] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
-2588, /* AbstractArrayRead[HashSet[MType]] */
+2596, /* AbstractArrayRead[HashSet[MType]] */
 },
 };
 /* runtime type AbstractArrayRead[Set[MType]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MType = {
-2439,
+2464,
 "AbstractArrayRead[Set[MType]]", /* class_name_string */
 7,
 0,
@@ -7127,17 +7034,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2439, /* AbstractArrayRead[Set[MType]] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
 },
 };
 /* runtime type Array[Array[nullable MType]] */
 const struct type type_array__Arrayarray__Arraynullable_model__MType = {
-2655,
+2665,
 "Array[Array[nullable MType]]", /* class_name_string */
 14,
 0,
@@ -7146,19 +7053,19 @@ const struct type type_array__Arrayarray__Arraynullable_model__MType = {
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-1778, /* AbstractArrayRead[Object] */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1859, /* Collection[Array[nullable MType]] */
+1782, /* AbstractArrayRead[Object] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
 -1, /* empty */
-1962, /* Array[Object] */
-2237, /* Array[nullable Array[nullable MType]] */
+1973, /* Array[Object] */
+2246, /* Array[nullable Array[nullable MType]] */
 -1, /* empty */
-2589, /* AbstractArrayRead[Array[nullable MType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
 -1, /* empty */
-2655, /* Array[Array[nullable MType]] */
+2665, /* Array[Array[nullable MType]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraynullable_model__MType = {
@@ -7187,7 +7094,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable
 };
 /* runtime type Array[nullable Array[nullable MType]] */
 const struct type type_array__Arraynullable_array__Arraynullable_model__MType = {
-2237,
+2246,
 "Array[nullable Array[nullable MType]]", /* class_name_string */
 10,
 0,
@@ -7196,15 +7103,15 @@ const struct type type_array__Arraynullable_array__Arraynullable_model__MType =
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
-2237, /* Array[nullable Array[nullable MType]] */
+2246, /* Array[nullable Array[nullable MType]] */
 },
 };
 const struct types resolution_table_array__Arraynullable_array__Arraynullable_model__MType = {
@@ -7233,7 +7140,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable Array
 };
 /* runtime type AbstractArrayRead[Array[nullable MType]] */
 const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MType = {
-2589,
+2597,
 "AbstractArrayRead[Array[nullable MType]]", /* class_name_string */
 12,
 0,
@@ -7242,22 +7149,22 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-1778, /* AbstractArrayRead[Object] */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1859, /* Collection[Array[nullable MType]] */
+1782, /* AbstractArrayRead[Object] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2589, /* AbstractArrayRead[Array[nullable MType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
 },
 };
 /* runtime type AbstractArrayRead[nullable Array[nullable MType]] */
 const struct type type_array__AbstractArrayReadnullable_array__Arraynullable_model__MType = {
-1930,
+1939,
 "AbstractArrayRead[nullable Array[nullable MType]]", /* class_name_string */
 7,
 0,
@@ -7266,17 +7173,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
 },
 };
 /* runtime type Array[Array[nullable MPropDef]] */
 const struct type type_array__Arrayarray__Arraynullable_model__MPropDef = {
-2590,
+2598,
 "Array[Array[nullable MPropDef]]", /* class_name_string */
 8,
 0,
@@ -7285,14 +7192,14 @@ const struct type type_array__Arrayarray__Arraynullable_model__MPropDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1525, /* Collection[Array[nullable MPropDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2440, /* AbstractArrayRead[Array[nullable MPropDef]] */
-2590, /* Array[Array[nullable MPropDef]] */
-1962, /* Array[Object] */
+1782, /* AbstractArrayRead[Object] */
+2465, /* AbstractArrayRead[Array[nullable MPropDef]] */
+2598, /* Array[Array[nullable MPropDef]] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraynullable_model__MPropDef = {
@@ -7321,7 +7228,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable
 };
 /* runtime type AbstractArrayRead[Array[nullable MPropDef]] */
 const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MPropDef = {
-2440,
+2465,
 "AbstractArrayRead[Array[nullable MPropDef]]", /* class_name_string */
 7,
 0,
@@ -7330,17 +7237,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1525, /* Collection[Array[nullable MPropDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2440, /* AbstractArrayRead[Array[nullable MPropDef]] */
+1782, /* AbstractArrayRead[Object] */
+2465, /* AbstractArrayRead[Array[nullable MPropDef]] */
 },
 };
 /* runtime type ArrayIterator[CodeFile] */
 const struct type type_array__ArrayIteratorabstract_compiler__CodeFile = {
-1695,
+1692,
 "ArrayIterator[CodeFile]", /* class_name_string */
 3,
 0,
@@ -7349,8 +7256,8 @@ const struct type type_array__ArrayIteratorabstract_compiler__CodeFile = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1695, /* ArrayIterator[CodeFile] */
+289, /* ArrayIterator[Object] */
+1692, /* ArrayIterator[CodeFile] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorabstract_compiler__CodeFile = {
@@ -7362,7 +7269,7 @@ const struct types resolution_table_array__ArrayIteratorabstract_compiler__CodeF
 };
 /* runtime type NativeArray[CodeFile] */
 const struct type type_array__NativeArrayabstract_compiler__CodeFile = {
-1696,
+1693,
 "NativeArray[CodeFile]", /* class_name_string */
 3,
 0,
@@ -7371,8 +7278,8 @@ const struct type type_array__NativeArrayabstract_compiler__CodeFile = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1696, /* NativeArray[CodeFile] */
+193, /* NativeArray[Object] */
+1693, /* NativeArray[CodeFile] */
 },
 };
 const struct types resolution_table_array__NativeArrayabstract_compiler__CodeFile = {
@@ -7384,7 +7291,7 @@ const struct types resolution_table_array__NativeArrayabstract_compiler__CodeFil
 };
 /* runtime type ArrayIterator[AbstractRuntimeFunction] */
 const struct type type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
-1697,
+1694,
 "ArrayIterator[AbstractRuntimeFunction]", /* class_name_string */
 3,
 0,
@@ -7393,8 +7300,8 @@ const struct type type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFun
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1697, /* ArrayIterator[AbstractRuntimeFunction] */
+289, /* ArrayIterator[Object] */
+1694, /* ArrayIterator[AbstractRuntimeFunction] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
@@ -7406,7 +7313,7 @@ const struct types resolution_table_array__ArrayIteratorabstract_compiler__Abstr
 };
 /* runtime type NativeArray[AbstractRuntimeFunction] */
 const struct type type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
-1698,
+1695,
 "NativeArray[AbstractRuntimeFunction]", /* class_name_string */
 3,
 0,
@@ -7415,8 +7322,8 @@ const struct type type_array__NativeArrayabstract_compiler__AbstractRuntimeFunct
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1698, /* NativeArray[AbstractRuntimeFunction] */
+193, /* NativeArray[Object] */
+1695, /* NativeArray[AbstractRuntimeFunction] */
 },
 };
 const struct types resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
@@ -7428,7 +7335,7 @@ const struct types resolution_table_array__NativeArrayabstract_compiler__Abstrac
 };
 /* runtime type Array[Array[MClassType]] */
 const struct type type_array__Arrayarray__Arraymodel__MClassType = {
-2711,
+2720,
 "Array[Array[MClassType]]", /* class_name_string */
 17,
 0,
@@ -7437,22 +7344,22 @@ const struct type type_array__Arrayarray__Arraymodel__MClassType = {
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-1778, /* AbstractArrayRead[Object] */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2139, /* Collection[Array[MType]] */
-1962, /* Array[Object] */
-2237, /* Array[nullable Array[nullable MType]] */
-2398, /* Collection[Array[MClassType]] */
-2589, /* AbstractArrayRead[Array[nullable MType]] */
-2643, /* AbstractArrayRead[Array[MType]] */
-2655, /* Array[Array[nullable MType]] */
-2673, /* AbstractArrayRead[Array[MClassType]] */
-2696, /* Array[Array[MType]] */
-2711, /* Array[Array[MClassType]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1859, /* Collection[Array[nullable MType]] */
+1782, /* AbstractArrayRead[Object] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
+2149, /* Collection[Array[MType]] */
+1973, /* Array[Object] */
+2246, /* Array[nullable Array[nullable MType]] */
+2422, /* Collection[Array[MClassType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
+2665, /* Array[Array[nullable MType]] */
+2684, /* AbstractArrayRead[Array[MClassType]] */
+2705, /* Array[Array[MType]] */
+2720, /* Array[Array[MClassType]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MClassType = {
@@ -7481,7 +7388,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClassTy
 };
 /* runtime type Array[Array[MType]] */
 const struct type type_array__Arrayarray__Arraymodel__MType = {
-2696,
+2705,
 "Array[Array[MType]]", /* class_name_string */
 16,
 0,
@@ -7490,21 +7397,21 @@ const struct type type_array__Arrayarray__Arraymodel__MType = {
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-1778, /* AbstractArrayRead[Object] */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2139, /* Collection[Array[MType]] */
-1962, /* Array[Object] */
-2237, /* Array[nullable Array[nullable MType]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1859, /* Collection[Array[nullable MType]] */
+1782, /* AbstractArrayRead[Object] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
+2149, /* Collection[Array[MType]] */
+1973, /* Array[Object] */
+2246, /* Array[nullable Array[nullable MType]] */
 -1, /* empty */
-2589, /* AbstractArrayRead[Array[nullable MType]] */
-2643, /* AbstractArrayRead[Array[MType]] */
-2655, /* Array[Array[nullable MType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
+2665, /* Array[Array[nullable MType]] */
 -1, /* empty */
-2696, /* Array[Array[MType]] */
+2705, /* Array[Array[MType]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MType = {
@@ -7533,7 +7440,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MType]]
 };
 /* runtime type AbstractArrayRead[Array[MClassType]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MClassType = {
-2673,
+2684,
 "AbstractArrayRead[Array[MClassType]]", /* class_name_string */
 15,
 0,
@@ -7542,25 +7449,25 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-1778, /* AbstractArrayRead[Object] */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2139, /* Collection[Array[MType]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1859, /* Collection[Array[nullable MType]] */
+1782, /* AbstractArrayRead[Object] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
+2149, /* Collection[Array[MType]] */
 -1, /* empty */
 -1, /* empty */
-2398, /* Collection[Array[MClassType]] */
-2589, /* AbstractArrayRead[Array[nullable MType]] */
-2643, /* AbstractArrayRead[Array[MType]] */
+2422, /* Collection[Array[MClassType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
 -1, /* empty */
-2673, /* AbstractArrayRead[Array[MClassType]] */
+2684, /* AbstractArrayRead[Array[MClassType]] */
 },
 };
 /* runtime type AbstractArrayRead[Array[MType]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MType = {
-2643,
+2653,
 "AbstractArrayRead[Array[MType]]", /* class_name_string */
 13,
 0,
@@ -7569,23 +7476,23 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-324, /* Collection[nullable Array[nullable MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1860, /* Collection[Array[nullable MType]] */
-1778, /* AbstractArrayRead[Object] */
-1930, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2139, /* Collection[Array[MType]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1859, /* Collection[Array[nullable MType]] */
+1782, /* AbstractArrayRead[Object] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
+2149, /* Collection[Array[MType]] */
 -1, /* empty */
 -1, /* empty */
 -1, /* empty */
-2589, /* AbstractArrayRead[Array[nullable MType]] */
-2643, /* AbstractArrayRead[Array[MType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
 },
 };
 /* runtime type MapKeysIterator[MClass, Array[MClass]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass = {
-1699,
+1696,
 "MapKeysIterator[MClass, Array[MClass]]", /* class_name_string */
 3,
 0,
@@ -7594,8 +7501,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__A
 {
 0, /* nullable Object */
 1, /* Object */
-472, /* MapKeysIterator[MClass, Array[nullable MClass]] */
-1699, /* MapKeysIterator[MClass, Array[MClass]] */
+491, /* MapKeysIterator[MClass, Array[nullable MClass]] */
+1696, /* MapKeysIterator[MClass, Array[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass = {
@@ -7607,7 +7514,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, Array[MClass]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass = {
-1700,
+1697,
 "MapValuesIterator[MClass, Array[MClass]]", /* class_name_string */
 3,
 0,
@@ -7616,8 +7523,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray_
 {
 0, /* nullable Object */
 1, /* Object */
-473, /* MapValuesIterator[MClass, Array[nullable MClass]] */
-1700, /* MapValuesIterator[MClass, Array[MClass]] */
+492, /* MapValuesIterator[MClass, Array[nullable MClass]] */
+1697, /* MapValuesIterator[MClass, Array[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass = {
@@ -7629,7 +7536,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapKeysIterator[MClass, HashSet[MClass]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-1701,
+1698,
 "MapKeysIterator[MClass, HashSet[MClass]]", /* class_name_string */
 3,
 0,
@@ -7638,8 +7545,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClasshash_col
 {
 0, /* nullable Object */
 1, /* Object */
-520, /* MapKeysIterator[MClass, Set[MClass]] */
-1701, /* MapKeysIterator[MClass, HashSet[MClass]] */
+545, /* MapKeysIterator[MClass, Set[MClass]] */
+1698, /* MapKeysIterator[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -7651,7 +7558,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapKeysIterator[MClass, Set[MClass]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-520,
+545,
 "MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
 2,
 0,
@@ -7660,7 +7567,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract
 {
 0, /* nullable Object */
 1, /* Object */
-520, /* MapKeysIterator[MClass, Set[MClass]] */
+545, /* MapKeysIterator[MClass, Set[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
@@ -7672,7 +7579,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, HashSet[MClass]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-1702,
+1699,
 "MapValuesIterator[MClass, HashSet[MClass]]", /* class_name_string */
 3,
 0,
@@ -7681,8 +7588,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClasshash_c
 {
 0, /* nullable Object */
 1, /* Object */
-521, /* MapValuesIterator[MClass, Set[MClass]] */
-1702, /* MapValuesIterator[MClass, HashSet[MClass]] */
+546, /* MapValuesIterator[MClass, Set[MClass]] */
+1699, /* MapValuesIterator[MClass, HashSet[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
@@ -7694,7 +7601,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapValuesIterator[MClass, Set[MClass]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-521,
+546,
 "MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
 2,
 0,
@@ -7703,7 +7610,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstra
 {
 0, /* nullable Object */
 1, /* Object */
-521, /* MapValuesIterator[MClass, Set[MClass]] */
+546, /* MapValuesIterator[MClass, Set[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
@@ -7715,7 +7622,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapKeysIterator[MClass, Map[MClass, Int]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-522,
+547,
 "MapKeysIterator[MClass, Map[MClass, Int]]", /* class_name_string */
 2,
 0,
@@ -7724,7 +7631,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract
 {
 0, /* nullable Object */
 1, /* Object */
-522, /* MapKeysIterator[MClass, Map[MClass, Int]] */
+547, /* MapKeysIterator[MClass, Map[MClass, Int]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -7736,7 +7643,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, Map[MClass, Int]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-523,
+548,
 "MapValuesIterator[MClass, Map[MClass, Int]]", /* class_name_string */
 2,
 0,
@@ -7745,7 +7652,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstra
 {
 0, /* nullable Object */
 1, /* Object */
-523, /* MapValuesIterator[MClass, Map[MClass, Int]] */
+548, /* MapValuesIterator[MClass, Map[MClass, Int]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
@@ -7757,7 +7664,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type Array[Set[MVirtualTypeProp]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp = {
-2697,
+2706,
 "Array[Set[MVirtualTypeProp]]", /* class_name_string */
 14,
 0,
@@ -7766,19 +7673,19 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MVirtualTypePr
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
-2142, /* Collection[Set[MVirtualTypeProp]] */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1962, /* Array[Object] */
-2585, /* Array[Set[PropertyLayoutElement]] */
-2586, /* AbstractArrayRead[Set[MProperty]] */
-2644, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
-2653, /* Array[Set[MProperty]] */
-2697, /* Array[Set[MVirtualTypeProp]] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+2152, /* Collection[Set[MVirtualTypeProp]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1973, /* Array[Object] */
+2593, /* Array[Set[PropertyLayoutElement]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+2654, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
+2663, /* Array[Set[MProperty]] */
+2706, /* Array[Set[MVirtualTypeProp]] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp = {
@@ -7807,7 +7714,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MVirtualTy
 };
 /* runtime type AbstractArrayRead[Set[MVirtualTypeProp]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MVirtualTypeProp = {
-2644,
+2654,
 "AbstractArrayRead[Set[MVirtualTypeProp]]", /* class_name_string */
 12,
 0,
@@ -7816,22 +7723,22 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
-2142, /* Collection[Set[MVirtualTypeProp]] */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+2152, /* Collection[Set[MVirtualTypeProp]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[Set[MProperty]] */
-2644, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+2654, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
 },
 };
 /* runtime type ArrayIterator[MVirtualTypeProp] */
 const struct type type_array__ArrayIteratormodel__MVirtualTypeProp = {
-2441,
+2466,
 "ArrayIterator[MVirtualTypeProp]", /* class_name_string */
 6,
 0,
@@ -7840,11 +7747,11 @@ const struct type type_array__ArrayIteratormodel__MVirtualTypeProp = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-288, /* ArrayIterator[nullable MProperty] */
-1485, /* ArrayIterator[PropertyLayoutElement] */
-2115, /* ArrayIterator[MProperty] */
-2441, /* ArrayIterator[MVirtualTypeProp] */
+289, /* ArrayIterator[Object] */
+300, /* ArrayIterator[nullable MProperty] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2125, /* ArrayIterator[MProperty] */
+2466, /* ArrayIterator[MVirtualTypeProp] */
 },
 };
 const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeProp = {
@@ -7856,7 +7763,7 @@ const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeProp
 };
 /* runtime type NativeArray[MVirtualTypeProp] */
 const struct type type_array__NativeArraymodel__MVirtualTypeProp = {
-2442,
+2467,
 "NativeArray[MVirtualTypeProp]", /* class_name_string */
 6,
 0,
@@ -7865,11 +7772,11 @@ const struct type type_array__NativeArraymodel__MVirtualTypeProp = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-289, /* NativeArray[nullable MProperty] */
-1486, /* NativeArray[PropertyLayoutElement] */
-2116, /* NativeArray[MProperty] */
-2442, /* NativeArray[MVirtualTypeProp] */
+193, /* NativeArray[Object] */
+301, /* NativeArray[nullable MProperty] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2126, /* NativeArray[MProperty] */
+2467, /* NativeArray[MVirtualTypeProp] */
 },
 };
 const struct types resolution_table_array__NativeArraymodel__MVirtualTypeProp = {
@@ -7881,7 +7788,7 @@ const struct types resolution_table_array__NativeArraymodel__MVirtualTypeProp =
 };
 /* runtime type MapKeysIterator[MVirtualTypeProp, Int] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
-1703,
+1700,
 "MapKeysIterator[MVirtualTypeProp, Int]", /* class_name_string */
 3,
 0,
@@ -7890,8 +7797,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MVirtualTypePr
 {
 0, /* nullable Object */
 1, /* Object */
-524, /* MapKeysIterator[PropertyLayoutElement, Int] */
-1703, /* MapKeysIterator[MVirtualTypeProp, Int] */
+549, /* MapKeysIterator[PropertyLayoutElement, Int] */
+1700, /* MapKeysIterator[MVirtualTypeProp, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
@@ -7903,7 +7810,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapKeysIterator[PropertyLayoutElement, Int] */
 const struct type type_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-524,
+549,
 "MapKeysIterator[PropertyLayoutElement, Int]", /* class_name_string */
 2,
 0,
@@ -7912,7 +7819,7 @@ const struct type type_abstract_collection__MapKeysIteratorlayout_builders__Prop
 {
 0, /* nullable Object */
 1, /* Object */
-524, /* MapKeysIterator[PropertyLayoutElement, Int] */
+549, /* MapKeysIterator[PropertyLayoutElement, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
@@ -7924,7 +7831,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratorlayout_b
 };
 /* runtime type MapValuesIterator[MVirtualTypeProp, Int] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
-1704,
+1701,
 "MapValuesIterator[MVirtualTypeProp, Int]", /* class_name_string */
 3,
 0,
@@ -7933,8 +7840,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MVirtualType
 {
 0, /* nullable Object */
 1, /* Object */
-525, /* MapValuesIterator[PropertyLayoutElement, Int] */
-1704, /* MapValuesIterator[MVirtualTypeProp, Int] */
+550, /* MapValuesIterator[PropertyLayoutElement, Int] */
+1701, /* MapValuesIterator[MVirtualTypeProp, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
@@ -7946,7 +7853,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapValuesIterator[PropertyLayoutElement, Int] */
 const struct type type_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-525,
+550,
 "MapValuesIterator[PropertyLayoutElement, Int]", /* class_name_string */
 2,
 0,
@@ -7955,7 +7862,7 @@ const struct type type_abstract_collection__MapValuesIteratorlayout_builders__Pr
 {
 0, /* nullable Object */
 1, /* Object */
-525, /* MapValuesIterator[PropertyLayoutElement, Int] */
+550, /* MapValuesIterator[PropertyLayoutElement, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
@@ -7967,7 +7874,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratorlayout
 };
 /* runtime type MapKeysIterator[MAttribute, Int] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
-1705,
+1702,
 "MapKeysIterator[MAttribute, Int]", /* class_name_string */
 3,
 0,
@@ -7976,8 +7883,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MAttributekern
 {
 0, /* nullable Object */
 1, /* Object */
-524, /* MapKeysIterator[PropertyLayoutElement, Int] */
-1705, /* MapKeysIterator[MAttribute, Int] */
+549, /* MapKeysIterator[PropertyLayoutElement, Int] */
+1702, /* MapKeysIterator[MAttribute, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
@@ -7989,7 +7896,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MAttribute, Int] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
-1706,
+1703,
 "MapValuesIterator[MAttribute, Int]", /* class_name_string */
 3,
 0,
@@ -7998,8 +7905,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MAttributeke
 {
 0, /* nullable Object */
 1, /* Object */
-525, /* MapValuesIterator[PropertyLayoutElement, Int] */
-1706, /* MapValuesIterator[MAttribute, Int] */
+550, /* MapValuesIterator[PropertyLayoutElement, Int] */
+1703, /* MapValuesIterator[MAttribute, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
@@ -8011,7 +7918,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type Array[Set[MAttribute]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MAttribute = {
-2698,
+2707,
 "Array[Set[MAttribute]]", /* class_name_string */
 14,
 0,
@@ -8020,19 +7927,19 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MAttribute = {
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
-2148, /* Collection[Set[MAttribute]] */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1962, /* Array[Object] */
-2585, /* Array[Set[PropertyLayoutElement]] */
-2586, /* AbstractArrayRead[Set[MProperty]] */
-2645, /* AbstractArrayRead[Set[MAttribute]] */
-2653, /* Array[Set[MProperty]] */
-2698, /* Array[Set[MAttribute]] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+2158, /* Collection[Set[MAttribute]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1973, /* Array[Object] */
+2593, /* Array[Set[PropertyLayoutElement]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+2655, /* AbstractArrayRead[Set[MAttribute]] */
+2663, /* Array[Set[MProperty]] */
+2707, /* Array[Set[MAttribute]] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MAttribute = {
@@ -8061,7 +7968,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MAttribute
 };
 /* runtime type AbstractArrayRead[Set[MAttribute]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MAttribute = {
-2645,
+2655,
 "AbstractArrayRead[Set[MAttribute]]", /* class_name_string */
 12,
 0,
@@ -8070,22 +7977,22 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1511, /* Collection[Set[PropertyLayoutElement]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1847, /* Collection[Set[MProperty]] */
-1778, /* AbstractArrayRead[Object] */
-2148, /* Collection[Set[MAttribute]] */
-2438, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+2158, /* Collection[Set[MAttribute]] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
 -1, /* empty */
 -1, /* empty */
-2586, /* AbstractArrayRead[Set[MProperty]] */
-2645, /* AbstractArrayRead[Set[MAttribute]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+2655, /* AbstractArrayRead[Set[MAttribute]] */
 },
 };
 /* runtime type ArrayIterator[MAttribute] */
 const struct type type_array__ArrayIteratormodel__MAttribute = {
-2443,
+2468,
 "ArrayIterator[MAttribute]", /* class_name_string */
 6,
 0,
@@ -8094,11 +8001,11 @@ const struct type type_array__ArrayIteratormodel__MAttribute = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-288, /* ArrayIterator[nullable MProperty] */
-1485, /* ArrayIterator[PropertyLayoutElement] */
-2115, /* ArrayIterator[MProperty] */
-2443, /* ArrayIterator[MAttribute] */
+289, /* ArrayIterator[Object] */
+300, /* ArrayIterator[nullable MProperty] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2125, /* ArrayIterator[MProperty] */
+2468, /* ArrayIterator[MAttribute] */
 },
 };
 const struct types resolution_table_array__ArrayIteratormodel__MAttribute = {
@@ -8110,7 +8017,7 @@ const struct types resolution_table_array__ArrayIteratormodel__MAttribute = {
 };
 /* runtime type NativeArray[MAttribute] */
 const struct type type_array__NativeArraymodel__MAttribute = {
-2444,
+2469,
 "NativeArray[MAttribute]", /* class_name_string */
 6,
 0,
@@ -8119,11 +8026,11 @@ const struct type type_array__NativeArraymodel__MAttribute = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-289, /* NativeArray[nullable MProperty] */
-1486, /* NativeArray[PropertyLayoutElement] */
-2116, /* NativeArray[MProperty] */
-2444, /* NativeArray[MAttribute] */
+193, /* NativeArray[Object] */
+301, /* NativeArray[nullable MProperty] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2126, /* NativeArray[MProperty] */
+2469, /* NativeArray[MAttribute] */
 },
 };
 const struct types resolution_table_array__NativeArraymodel__MAttribute = {
@@ -8135,7 +8042,7 @@ const struct types resolution_table_array__NativeArraymodel__MAttribute = {
 };
 /* runtime type MapKeysIterator[MType, Map[MType, Int]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-526,
+551,
 "MapKeysIterator[MType, Map[MType, Int]]", /* class_name_string */
 2,
 0,
@@ -8144,7 +8051,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_
 {
 0, /* nullable Object */
 1, /* Object */
-526, /* MapKeysIterator[MType, Map[MType, Int]] */
+551, /* MapKeysIterator[MType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -8156,7 +8063,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MType, Map[MType, Int]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-527,
+552,
 "MapValuesIterator[MType, Map[MType, Int]]", /* class_name_string */
 2,
 0,
@@ -8165,7 +8072,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstrac
 {
 0, /* nullable Object */
 1, /* Object */
-527, /* MapValuesIterator[MType, Map[MType, Int]] */
+552, /* MapValuesIterator[MType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -8177,7 +8084,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapKeysIterator[MType, HashSet[MType]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-1707,
+1704,
 "MapKeysIterator[MType, HashSet[MType]]", /* class_name_string */
 3,
 0,
@@ -8186,8 +8093,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_coll
 {
 0, /* nullable Object */
 1, /* Object */
-474, /* MapKeysIterator[MType, Set[MType]] */
-1707, /* MapKeysIterator[MType, HashSet[MType]] */
+499, /* MapKeysIterator[MType, Set[MType]] */
+1704, /* MapKeysIterator[MType, HashSet[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType = {
@@ -8199,7 +8106,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MType, HashSet[MType]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-1708,
+1705,
 "MapValuesIterator[MType, HashSet[MType]]", /* class_name_string */
 3,
 0,
@@ -8208,8 +8115,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_co
 {
 0, /* nullable Object */
 1, /* Object */
-475, /* MapValuesIterator[MType, Set[MType]] */
-1708, /* MapValuesIterator[MType, HashSet[MType]] */
+500, /* MapValuesIterator[MType, Set[MType]] */
+1705, /* MapValuesIterator[MType, HashSet[MType]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType = {
@@ -8221,7 +8128,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type Array[EscapeMark] */
 const struct type type_array__Arrayscope__EscapeMark = {
-2591,
+2599,
 "Array[EscapeMark]", /* class_name_string */
 7,
 0,
@@ -8230,14 +8137,14 @@ const struct type type_array__Arrayscope__EscapeMark = {
 {
 0, /* nullable Object */
 1, /* Object */
-1574, /* Collection[EscapeMark] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2445, /* AbstractArrayRead[EscapeMark] */
-1778, /* AbstractArrayRead[Object] */
-2591, /* Array[EscapeMark] */
+1566, /* Collection[EscapeMark] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2470, /* AbstractArrayRead[EscapeMark] */
+1782, /* AbstractArrayRead[Object] */
+2599, /* Array[EscapeMark] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayscope__EscapeMark = {
@@ -8266,7 +8173,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[EscapeMark] no
 };
 /* runtime type AbstractArrayRead[EscapeMark] */
 const struct type type_array__AbstractArrayReadscope__EscapeMark = {
-2445,
+2470,
 "AbstractArrayRead[EscapeMark]", /* class_name_string */
 5,
 0,
@@ -8275,16 +8182,152 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1574, /* Collection[EscapeMark] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2445, /* AbstractArrayRead[EscapeMark] */
-1778, /* AbstractArrayRead[Object] */
+1566, /* Collection[EscapeMark] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2470, /* AbstractArrayRead[EscapeMark] */
+1782, /* AbstractArrayRead[Object] */
+},
+};
+/* runtime type MapKeysIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+553,
+"MapKeysIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+553, /* MapKeysIterator[MGroup, POSetElement[MGroup]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MGroup, POSetElement[MGroup]] */
+&type_array__Arraymproject__MGroup, /* Array[Iterator#0]: Array[MGroup] */
+}
+};
+/* runtime type MapValuesIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+554,
+"MapValuesIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+554, /* MapValuesIterator[MGroup, POSetElement[MGroup]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MGroup, POSetElement[MGroup]] */
+&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[Iterator#0]: Array[POSetElement[MGroup]] */
+}
+};
+/* runtime type HashSetNode[MGroup] */
+const struct type type_hash_collection__HashSetNodemproject__MGroup = {
+2247,
+"HashSetNode[MGroup]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetNodemproject__MGroup,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+121, /* nullable HashSetNode[Object] */
+555, /* nullable HashSetNode[MGroup] */
+1500, /* HashSetNode[Object] */
+2247, /* HashSetNode[MGroup] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetNodemproject__MGroup = {
+0, /* dummy */
+{
+&type_mproject__MGroup, /* HashSetNode#0: MGroup */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemproject__MGroup, /* N: HashSetNode[MGroup] */
+&type_mproject__MGroup, /* HashNode#0: MGroup */
+}
+};
+/* runtime type nullable HashSetNode[MGroup] */
+const struct type type_nullable_hash_collection__HashSetNodemproject__MGroup = {
+555,
+"nullable HashSetNode[MGroup]", /* class_name_string */
+3,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodemproject__MGroup,
+4,
+{
+0, /* nullable Object */
+-1, /* empty */
+121, /* nullable HashSetNode[Object] */
+555, /* nullable HashSetNode[MGroup] */
+},
+};
+const struct types resolution_table_nullable_hash_collection__HashSetNodemproject__MGroup = {
+0, /* dummy */
+{
+&type_mproject__MGroup, /* HashSetNode#0: MGroup */
+NULL, /* empty */
+&type_hash_collection__HashSetNodemproject__MGroup, /* N: HashSetNode[MGroup] */
+&type_mproject__MGroup, /* HashNode#0: MGroup */
+}
+};
+/* runtime type HashSetIterator[MGroup] */
+const struct type type_hash_collection__HashSetIteratormproject__MGroup = {
+1706,
+"HashSetIterator[MGroup]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashSetIteratormproject__MGroup,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+324, /* HashSetIterator[Object] */
+1706, /* HashSetIterator[MGroup] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetIteratormproject__MGroup = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetmproject__MGroup, /* HashSet[HashSetIterator#0]: HashSet[MGroup] */
+&type_array__Arraymproject__MGroup, /* Array[Iterator#0]: Array[MGroup] */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[MGroup]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup = {
+1707,
+"NativeArray[nullable HashSetNode[MGroup]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+325, /* NativeArray[nullable HashSetNode[Object]] */
+1707, /* NativeArray[nullable HashSetNode[MGroup]] */
 },
 };
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashSetNodemproject__MGroup, /* NativeArray#0: nullable HashSetNode[MGroup] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MGroup]] */
+}
+};
 /* runtime type Array[Set[MClassDef]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MClassDef = {
-2592,
+2600,
 "Array[Set[MClassDef]]", /* class_name_string */
 7,
 0,
@@ -8293,14 +8336,14 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MClassDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-1583, /* Collection[Set[MClassDef]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2446, /* AbstractArrayRead[Set[MClassDef]] */
-1778, /* AbstractArrayRead[Object] */
-2592, /* Array[Set[MClassDef]] */
+1577, /* Collection[Set[MClassDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2471, /* AbstractArrayRead[Set[MClassDef]] */
+1782, /* AbstractArrayRead[Object] */
+2600, /* Array[Set[MClassDef]] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClassDef = {
@@ -8329,7 +8372,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClassDef]
 };
 /* runtime type AbstractArrayRead[Set[MClassDef]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClassDef = {
-2446,
+2471,
 "AbstractArrayRead[Set[MClassDef]]", /* class_name_string */
 5,
 0,
@@ -8338,16 +8381,16 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1583, /* Collection[Set[MClassDef]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2446, /* AbstractArrayRead[Set[MClassDef]] */
-1778, /* AbstractArrayRead[Object] */
+1577, /* Collection[Set[MClassDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2471, /* AbstractArrayRead[Set[MClassDef]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
 /* runtime type Array[Set[MClass]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MClass = {
-2593,
+2601,
 "Array[Set[MClass]]", /* class_name_string */
 8,
 0,
@@ -8356,14 +8399,14 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-1586, /* Collection[Set[MClass]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1580, /* Collection[Set[MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2447, /* AbstractArrayRead[Set[MClass]] */
-2593, /* Array[Set[MClass]] */
-1962, /* Array[Object] */
+1782, /* AbstractArrayRead[Object] */
+2472, /* AbstractArrayRead[Set[MClass]] */
+2601, /* Array[Set[MClass]] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClass = {
@@ -8392,7 +8435,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClass]] n
 };
 /* runtime type AbstractArrayRead[Set[MClass]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClass = {
-2447,
+2472,
 "AbstractArrayRead[Set[MClass]]", /* class_name_string */
 7,
 0,
@@ -8401,17 +8444,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1586, /* Collection[Set[MClass]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
+1580, /* Collection[Set[MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1778, /* AbstractArrayRead[Object] */
-2447, /* AbstractArrayRead[Set[MClass]] */
+1782, /* AbstractArrayRead[Object] */
+2472, /* AbstractArrayRead[Set[MClass]] */
 },
 };
 /* runtime type Array[Set[MClassType]] */
 const struct type type_array__Arrayabstract_collection__Setmodel__MClassType = {
-2656,
+2666,
 "Array[Set[MClassType]]", /* class_name_string */
 11,
 0,
@@ -8420,16 +8463,16 @@ const struct type type_array__Arrayabstract_collection__Setmodel__MClassType = {
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1892, /* Collection[Set[MClassType]] */
-1778, /* AbstractArrayRead[Object] */
-2439, /* AbstractArrayRead[Set[MType]] */
-2587, /* Array[Set[MType]] */
-1962, /* Array[Object] */
-2594, /* AbstractArrayRead[Set[MClassType]] */
-2656, /* Array[Set[MClassType]] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1899, /* Collection[Set[MClassType]] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
+2595, /* Array[Set[MType]] */
+1973, /* Array[Object] */
+2602, /* AbstractArrayRead[Set[MClassType]] */
+2666, /* Array[Set[MClassType]] */
 },
 };
 const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClassType = {
@@ -8458,7 +8501,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClassType
 };
 /* runtime type AbstractArrayRead[Set[MClassType]] */
 const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClassType = {
-2594,
+2602,
 "AbstractArrayRead[Set[MClassType]]", /* class_name_string */
 10,
 0,
@@ -8467,20 +8510,20 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1529, /* Collection[Set[MType]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1892, /* Collection[Set[MClassType]] */
-1778, /* AbstractArrayRead[Object] */
-2439, /* AbstractArrayRead[Set[MType]] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1899, /* Collection[Set[MClassType]] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
 -1, /* empty */
 -1, /* empty */
-2594, /* AbstractArrayRead[Set[MClassType]] */
+2602, /* AbstractArrayRead[Set[MClassType]] */
 },
 };
 /* runtime type MapKeysIterator[MClassType, Int] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int = {
-1709,
+1708,
 "MapKeysIterator[MClassType, Int]", /* class_name_string */
 3,
 0,
@@ -8489,8 +8532,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypekern
 {
 0, /* nullable Object */
 1, /* Object */
-478, /* MapKeysIterator[MType, Int] */
-1709, /* MapKeysIterator[MClassType, Int] */
+503, /* MapKeysIterator[MType, Int] */
+1708, /* MapKeysIterator[MClassType, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int = {
@@ -8502,7 +8545,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClassType, Int] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int = {
-1710,
+1709,
 "MapValuesIterator[MClassType, Int]", /* class_name_string */
 3,
 0,
@@ -8511,8 +8554,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeke
 {
 0, /* nullable Object */
 1, /* Object */
-479, /* MapValuesIterator[MType, Int] */
-1710, /* MapValuesIterator[MClassType, Int] */
+504, /* MapValuesIterator[MType, Int] */
+1709, /* MapValuesIterator[MClassType, Int] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int = {
@@ -8524,7 +8567,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type MapKeysIterator[MClassType, Map[MType, Int]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1711,
+1710,
 "MapKeysIterator[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
 0,
@@ -8533,8 +8576,8 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabst
 {
 0, /* nullable Object */
 1, /* Object */
-526, /* MapKeysIterator[MType, Map[MType, Int]] */
-1711, /* MapKeysIterator[MClassType, Map[MType, Int]] */
+551, /* MapKeysIterator[MType, Map[MType, Int]] */
+1710, /* MapKeysIterator[MClassType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -8546,7 +8589,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClassType, Map[MType, Int]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1712,
+1711,
 "MapValuesIterator[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
 0,
@@ -8555,8 +8598,8 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeab
 {
 0, /* nullable Object */
 1, /* Object */
-527, /* MapValuesIterator[MType, Map[MType, Int]] */
-1712, /* MapValuesIterator[MClassType, Map[MType, Int]] */
+552, /* MapValuesIterator[MType, Map[MType, Int]] */
+1711, /* MapValuesIterator[MClassType, Map[MType, Int]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
@@ -8568,7 +8611,7 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 };
 /* runtime type ArrayIterator[Scope] */
 const struct type type_array__ArrayIteratorscope__Scope = {
-1713,
+1712,
 "ArrayIterator[Scope]", /* class_name_string */
 3,
 0,
@@ -8577,8 +8620,8 @@ const struct type type_array__ArrayIteratorscope__Scope = {
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1713, /* ArrayIterator[Scope] */
+289, /* ArrayIterator[Object] */
+1712, /* ArrayIterator[Scope] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorscope__Scope = {
@@ -8590,7 +8633,7 @@ const struct types resolution_table_array__ArrayIteratorscope__Scope = {
 };
 /* runtime type NativeArray[Scope] */
 const struct type type_array__NativeArrayscope__Scope = {
-1714,
+1713,
 "NativeArray[Scope]", /* class_name_string */
 3,
 0,
@@ -8599,8 +8642,8 @@ const struct type type_array__NativeArrayscope__Scope = {
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1714, /* NativeArray[Scope] */
+193, /* NativeArray[Object] */
+1713, /* NativeArray[Scope] */
 },
 };
 const struct types resolution_table_array__NativeArrayscope__Scope = {
@@ -8612,7 +8655,7 @@ const struct types resolution_table_array__NativeArrayscope__Scope = {
 };
 /* runtime type MapKeysIterator[MClass, POSetElement[MClass]] */
 const struct type type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
-528,
+556,
 "MapKeysIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
 0,
@@ -8621,7 +8664,7 @@ const struct type type_abstract_collection__MapKeysIteratormodel__MClassposet__P
 {
 0, /* nullable Object */
 1, /* Object */
-528, /* MapKeysIterator[MClass, POSetElement[MClass]] */
+556, /* MapKeysIterator[MClass, POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
@@ -8633,7 +8676,7 @@ const struct types resolution_table_abstract_collection__MapKeysIteratormodel__M
 };
 /* runtime type MapValuesIterator[MClass, POSetElement[MClass]] */
 const struct type type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
-529,
+557,
 "MapValuesIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
 0,
@@ -8642,7 +8685,7 @@ const struct type type_abstract_collection__MapValuesIteratormodel__MClassposet_
 {
 0, /* nullable Object */
 1, /* Object */
-529, /* MapValuesIterator[MClass, POSetElement[MClass]] */
+557, /* MapValuesIterator[MClass, POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
@@ -8653,61 +8696,61 @@ const struct types resolution_table_abstract_collection__MapValuesIteratormodel_
 }
 };
 /* runtime type HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1931,
+const struct type type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1940,
 "HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-590, /* Collection[MModule] */
-1931, /* HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
-166, /* Collection[Object] */
+624, /* Collection[MModule] */
+1940, /* HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_mmodule__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_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
 /* runtime type HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1932,
+const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1941,
 "HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1715, /* Collection[HashMap[MType, Array[MMethodDef]]] */
-1932, /* HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
-166, /* Collection[Object] */
+1714, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+1941, /* HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -8724,7 +8767,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[HashMap[MType, Array[MMethodDef]]] */
 const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1715,
+1714,
 "Collection[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 0,
@@ -8733,103 +8776,103 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1715, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+1714, /* Collection[HashMap[MType, Array[MMethodDef]]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-530,
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+558,
 "NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-530, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+558, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray#0: nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray#0: nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
 }
 };
 /* runtime type HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1716,
+const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1715,
 "HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-154, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-1716, /* HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+158, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+1715, /* HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode#1: HashMap[MType, Array[MMethodDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
 /* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-154,
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+158,
 "nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-154, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+158, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode#1: HashMap[MType, Array[MMethodDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
 /* runtime type HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1717,
+const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1716,
 "HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-531, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-1717, /* HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+559, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+1716, /* HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
 }
 };
 /* runtime type MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-531,
+const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+559,
 "MapIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 0,
@@ -8838,12 +8881,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-531, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+559, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
 /* runtime type HashMapKeys[MType, Array[MMethodDef]] */
 const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
-2238,
+2248,
 "HashMapKeys[MType, Array[MMethodDef]]", /* class_name_string */
 2,
 0,
@@ -8852,12 +8895,12 @@ const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel
 {
 0, /* nullable Object */
 1, /* Object */
-2238, /* HashMapKeys[MType, Array[MMethodDef]] */
+2248, /* HashMapKeys[MType, Array[MMethodDef]] */
 -1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
@@ -8881,7 +8924,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MType, Array[MMethodDef]] */
 const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
-2239,
+2249,
 "HashMapValues[MType, Array[MMethodDef]]", /* class_name_string */
 3,
 0,
@@ -8890,10 +8933,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymod
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
-2239, /* HashMapValues[MType, Array[MMethodDef]] */
-166, /* Collection[Object] */
-1933, /* Collection[Array[MMethodDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+2249, /* HashMapValues[MType, Array[MMethodDef]] */
+170, /* Collection[Object] */
+1942, /* Collection[Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
@@ -8917,7 +8960,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[Array[MMethodDef]] */
 const struct type type_abstract_collection__Collectionarray__Arraymodel__MMethodDef = {
-1933,
+1942,
 "Collection[Array[MMethodDef]]", /* class_name_string */
 5,
 0,
@@ -8926,15 +8969,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
-166, /* Collection[Object] */
-1933, /* Collection[Array[MMethodDef]] */
+170, /* Collection[Object] */
+1942, /* Collection[Array[MMethodDef]] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
-532,
+560,
 "NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 0,
@@ -8943,7 +8986,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-532, /* NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+560, /* NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
@@ -8955,7 +8998,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MType, Array[MMethodDef]] */
 const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
-1718,
+1717,
 "HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
 3,
 0,
@@ -8964,8 +9007,8 @@ const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel
 {
 0, /* nullable Object */
 1, /* Object */
-155, /* nullable HashMapNode[MType, Array[MMethodDef]] */
-1718, /* HashMapNode[MType, Array[MMethodDef]] */
+159, /* nullable HashMapNode[MType, Array[MMethodDef]] */
+1717, /* HashMapNode[MType, Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
@@ -8979,7 +9022,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearra
 };
 /* runtime type nullable HashMapNode[MType, Array[MMethodDef]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
-155,
+159,
 "nullable HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
 2,
 1,
@@ -8988,7 +9031,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__A
 {
 0, /* nullable Object */
 -1, /* empty */
-155, /* nullable HashMapNode[MType, Array[MMethodDef]] */
+159, /* nullable HashMapNode[MType, Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
@@ -9002,7 +9045,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MType, Array[MMethodDef]] */
 const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
-1719,
+1718,
 "HashMapIterator[MType, Array[MMethodDef]]", /* class_name_string */
 3,
 0,
@@ -9011,8 +9054,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraym
 {
 0, /* nullable Object */
 1, /* Object */
-533, /* MapIterator[MType, Array[MMethodDef]] */
-1719, /* HashMapIterator[MType, Array[MMethodDef]] */
+561, /* MapIterator[MType, Array[MMethodDef]] */
+1718, /* HashMapIterator[MType, Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
@@ -9023,7 +9066,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MType
 };
 /* runtime type MapIterator[MType, Array[MMethodDef]] */
 const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
-533,
+561,
 "MapIterator[MType, Array[MMethodDef]]", /* class_name_string */
 2,
 0,
@@ -9032,65 +9075,65 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-533, /* MapIterator[MType, Array[MMethodDef]] */
+561, /* MapIterator[MType, Array[MMethodDef]] */
 },
 };
 /* runtime type HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1934,
+const struct type type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1943,
 "HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-590, /* Collection[MModule] */
-1934, /* HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
-166, /* Collection[Object] */
+624, /* Collection[MModule] */
+1943, /* HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_mmodule__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_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
 /* runtime type HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1935,
+const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1944,
 "HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1720, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
-1935, /* HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
-166, /* Collection[Object] */
+1719, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+1944, /* HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -9107,7 +9150,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[HashMap[MType, Array[MAttributeDef]]] */
 const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1720,
+1719,
 "Collection[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 2,
 0,
@@ -9116,103 +9159,103 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1720, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+1719, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-534,
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+562,
 "NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-534, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+562, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray#0: nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray#0: nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
 }
 };
 /* runtime type HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1721,
+const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1720,
 "HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-156, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-1721, /* HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+160, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1720, /* HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode#1: HashMap[MType, Array[MAttributeDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
 /* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-156,
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+160,
 "nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-156, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+160, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode#1: HashMap[MType, Array[MAttributeDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
 /* runtime type HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1722,
+const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1721,
 "HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-535, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-1722, /* HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+563, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1721, /* HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
 }
 };
 /* runtime type MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-535,
+const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+563,
 "MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 2,
 0,
@@ -9221,12 +9264,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-535, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+563, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
 /* runtime type HashMapKeys[MType, Array[MAttributeDef]] */
 const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
-2240,
+2250,
 "HashMapKeys[MType, Array[MAttributeDef]]", /* class_name_string */
 2,
 0,
@@ -9235,12 +9278,12 @@ const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel
 {
 0, /* nullable Object */
 1, /* Object */
-2240, /* HashMapKeys[MType, Array[MAttributeDef]] */
+2250, /* HashMapKeys[MType, Array[MAttributeDef]] */
 -1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
@@ -9264,7 +9307,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MType, Array[MAttributeDef]] */
 const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
-2241,
+2251,
 "HashMapValues[MType, Array[MAttributeDef]]", /* class_name_string */
 3,
 0,
@@ -9273,10 +9316,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymod
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
-2241, /* HashMapValues[MType, Array[MAttributeDef]] */
-166, /* Collection[Object] */
-1936, /* Collection[Array[MAttributeDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+2251, /* HashMapValues[MType, Array[MAttributeDef]] */
+170, /* Collection[Object] */
+1945, /* Collection[Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
@@ -9300,7 +9343,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[Array[MAttributeDef]] */
 const struct type type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef = {
-1936,
+1945,
 "Collection[Array[MAttributeDef]]", /* class_name_string */
 5,
 0,
@@ -9309,15 +9352,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
-166, /* Collection[Object] */
-1936, /* Collection[Array[MAttributeDef]] */
+170, /* Collection[Object] */
+1945, /* Collection[Array[MAttributeDef]] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
-536,
+564,
 "NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]]", /* class_name_string */
 2,
 0,
@@ -9326,7 +9369,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-536, /* NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+564, /* NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
@@ -9338,7 +9381,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MType, Array[MAttributeDef]] */
 const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
-1723,
+1722,
 "HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
 3,
 0,
@@ -9347,8 +9390,8 @@ const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel
 {
 0, /* nullable Object */
 1, /* Object */
-157, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
-1723, /* HashMapNode[MType, Array[MAttributeDef]] */
+161, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
+1722, /* HashMapNode[MType, Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
@@ -9362,7 +9405,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearra
 };
 /* runtime type nullable HashMapNode[MType, Array[MAttributeDef]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
-157,
+161,
 "nullable HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
 2,
 1,
@@ -9371,7 +9414,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__A
 {
 0, /* nullable Object */
 -1, /* empty */
-157, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
+161, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
@@ -9385,7 +9428,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MType, Array[MAttributeDef]] */
 const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
-1724,
+1723,
 "HashMapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
 3,
 0,
@@ -9394,8 +9437,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraym
 {
 0, /* nullable Object */
 1, /* Object */
-537, /* MapIterator[MType, Array[MAttributeDef]] */
-1724, /* HashMapIterator[MType, Array[MAttributeDef]] */
+565, /* MapIterator[MType, Array[MAttributeDef]] */
+1723, /* HashMapIterator[MType, Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
@@ -9406,7 +9449,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MType
 };
 /* runtime type MapIterator[MType, Array[MAttributeDef]] */
 const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
-537,
+565,
 "MapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
 2,
 0,
@@ -9415,65 +9458,65 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-537, /* MapIterator[MType, Array[MAttributeDef]] */
+565, /* MapIterator[MType, Array[MAttributeDef]] */
 },
 };
 /* runtime type HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1937,
+const struct type type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1946,
 "HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-590, /* Collection[MModule] */
-1937, /* HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-166, /* Collection[Object] */
+624, /* Collection[MModule] */
+1946, /* HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_mmodule__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_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
 /* runtime type HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1938,
+const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1947,
 "HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1725, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-1938, /* HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-166, /* Collection[Object] */
+1724, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+1947, /* HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -9490,7 +9533,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
 const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1725,
+1724,
 "Collection[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 0,
@@ -9499,103 +9542,103 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1725, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+1724, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
 -1, /* empty */
-166, /* Collection[Object] */
+170, /* Collection[Object] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-538,
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+566,
 "NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-538, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+566, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray#0: nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray#0: nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
 }
 };
 /* runtime type HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1726,
+const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1725,
 "HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-158, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-1726, /* HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+162, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1725, /* HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
 /* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-158,
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+162,
 "nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-158, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+162, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
 &type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
 /* runtime type HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1727,
+const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1726,
 "HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-539, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-1727, /* HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+567, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1726, /* HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
 /* runtime type MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-539,
+const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+567,
 "MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 0,
@@ -9604,12 +9647,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-539, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+567, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
 /* runtime type HashMapKeys[MType, Array[MVirtualTypeDef]] */
 const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-2242,
+2252,
 "HashMapKeys[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
 0,
@@ -9618,12 +9661,12 @@ const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel
 {
 0, /* nullable Object */
 1, /* Object */
-2242, /* HashMapKeys[MType, Array[MVirtualTypeDef]] */
+2252, /* HashMapKeys[MType, Array[MVirtualTypeDef]] */
 -1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1787, /* Collection[MType] */
+1791, /* Collection[MType] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -9647,7 +9690,7 @@ NULL, /* empty */
 };
 /* runtime type HashMapValues[MType, Array[MVirtualTypeDef]] */
 const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-2243,
+2253,
 "HashMapValues[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 3,
 0,
@@ -9656,10 +9699,10 @@ const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymod
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
-2243, /* HashMapValues[MType, Array[MVirtualTypeDef]] */
-166, /* Collection[Object] */
-1939, /* Collection[Array[MVirtualTypeDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+2253, /* HashMapValues[MType, Array[MVirtualTypeDef]] */
+170, /* Collection[Object] */
+1948, /* Collection[Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -9683,7 +9726,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[Array[MVirtualTypeDef]] */
 const struct type type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef = {
-1939,
+1948,
 "Collection[Array[MVirtualTypeDef]]", /* class_name_string */
 5,
 0,
@@ -9692,15 +9735,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1538, /* Collection[Array[nullable MPropDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
 -1, /* empty */
-166, /* Collection[Object] */
-1939, /* Collection[Array[MVirtualTypeDef]] */
+170, /* Collection[Object] */
+1948, /* Collection[Array[MVirtualTypeDef]] */
 },
 };
 /* runtime type NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
 const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-540,
+568,
 "NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 0,
@@ -9709,7 +9752,7 @@ const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemo
 {
 0, /* nullable Object */
 1, /* Object */
-540, /* NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+568, /* NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -9721,7 +9764,7 @@ const struct types resolution_table_array__NativeArraynullable_hash_collection__
 };
 /* runtime type HashMapNode[MType, Array[MVirtualTypeDef]] */
 const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1728,
+1727,
 "HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 3,
 0,
@@ -9730,8 +9773,8 @@ const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel
 {
 0, /* nullable Object */
 1, /* Object */
-159, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
-1728, /* HashMapNode[MType, Array[MVirtualTypeDef]] */
+163, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+1727, /* HashMapNode[MType, Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -9745,7 +9788,7 @@ const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearra
 };
 /* runtime type nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
 const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-159,
+163,
 "nullable HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
 1,
@@ -9754,7 +9797,7 @@ const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__A
 {
 0, /* nullable Object */
 -1, /* empty */
-159, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+163, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -9768,7 +9811,7 @@ const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__
 };
 /* runtime type HashMapIterator[MType, Array[MVirtualTypeDef]] */
 const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1729,
+1728,
 "HashMapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 3,
 0,
@@ -9777,8 +9820,8 @@ const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraym
 {
 0, /* nullable Object */
 1, /* Object */
-541, /* MapIterator[MType, Array[MVirtualTypeDef]] */
-1729, /* HashMapIterator[MType, Array[MVirtualTypeDef]] */
+569, /* MapIterator[MType, Array[MVirtualTypeDef]] */
+1728, /* HashMapIterator[MType, Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
@@ -9789,7 +9832,7 @@ const struct types resolution_table_hash_collection__HashMapIteratormodel__MType
 };
 /* runtime type MapIterator[MType, Array[MVirtualTypeDef]] */
 const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-541,
+569,
 "MapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
 0,
@@ -9798,12 +9841,12 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-541, /* MapIterator[MType, Array[MVirtualTypeDef]] */
+569, /* MapIterator[MType, Array[MVirtualTypeDef]] */
 },
 };
 /* runtime type Array[POSetElement[Phase]] */
 const struct type type_array__Arrayposet__POSetElementphase__Phase = {
-2595,
+2603,
 "Array[POSetElement[Phase]]", /* class_name_string */
 7,
 0,
@@ -9812,14 +9855,14 @@ const struct type type_array__Arrayposet__POSetElementphase__Phase = {
 {
 0, /* nullable Object */
 1, /* Object */
-1631, /* Collection[POSetElement[Phase]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2448, /* AbstractArrayRead[POSetElement[Phase]] */
-1778, /* AbstractArrayRead[Object] */
-2595, /* Array[POSetElement[Phase]] */
+1625, /* Collection[POSetElement[Phase]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2473, /* AbstractArrayRead[POSetElement[Phase]] */
+1782, /* AbstractArrayRead[Object] */
+2603, /* Array[POSetElement[Phase]] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
 const struct types resolution_table_array__Arrayposet__POSetElementphase__Phase = {
@@ -9848,7 +9891,7 @@ NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[P
 };
 /* runtime type AbstractArrayRead[POSetElement[Phase]] */
 const struct type type_array__AbstractArrayReadposet__POSetElementphase__Phase = {
-2448,
+2473,
 "AbstractArrayRead[POSetElement[Phase]]", /* class_name_string */
 5,
 0,
@@ -9857,138 +9900,99 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1631, /* Collection[POSetElement[Phase]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2448, /* AbstractArrayRead[POSetElement[Phase]] */
-1778, /* AbstractArrayRead[Object] */
-},
-};
-/* runtime type Array[POSetElement[MModule]] */
-const struct type type_array__Arrayposet__POSetElementmodel_base__MModule = {
-2596,
-"Array[POSetElement[MModule]]", /* class_name_string */
-7,
-0,
-&resolution_table_array__Arrayposet__POSetElementmodel_base__MModule,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-1634, /* Collection[POSetElement[MModule]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2449, /* AbstractArrayRead[POSetElement[MModule]] */
-1778, /* AbstractArrayRead[Object] */
-2596, /* Array[POSetElement[MModule]] */
--1, /* empty */
-1962, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayposet__POSetElementmodel_base__MModule = {
-0, /* dummy */
-{
-&type_array__Arrayposet__POSetElementmodel_base__MModule, /* Array[Array#0]: Array[POSetElement[MModule]] */
-&type_array__NativeArrayposet__POSetElementmodel_base__MModule, /* NativeArray[Array#0]: NativeArray[POSetElement[MModule]] */
-&type_poset__POSetElementmodel_base__MModule, /* Sequence#0: POSetElement[MModule] */
-&type_poset__POSetElementmodel_base__MModule, /* SimpleCollection#0: POSetElement[MModule] */
-&type_abstract_collection__Collectionposet__POSetElementmodel_base__MModule, /* Collection[Array#0]: Collection[POSetElement[MModule]] */
-&type_poset__POSetElementmodel_base__MModule, /* Array#0: POSetElement[MModule] */
-&type_array__NativeArrayposet__POSetElementmodel_base__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MModule]] */
-&type_poset__POSetElementmodel_base__MModule, /* AbstractArray#0: POSetElement[MModule] */
-&type_poset__POSetElementmodel_base__MModule, /* RemovableCollection#0: POSetElement[MModule] */
-&type_abstract_collection__Collectionposet__POSetElementmodel_base__MModule, /* Collection[Sequence#0]: Collection[POSetElement[MModule]] */
-&type_array__Arrayposet__POSetElementmodel_base__MModule, /* Array[Sequence#0]: Array[POSetElement[MModule]] */
-&type_abstract_collection__Collectionposet__POSetElementmodel_base__MModule, /* Collection[SimpleCollection#0]: Collection[POSetElement[MModule]] */
-&type_poset__POSetElementmodel_base__MModule, /* Collection#0: POSetElement[MModule] */
-&type_abstract_collection__Collectionposet__POSetElementmodel_base__MModule, /* Collection[Collection#0]: Collection[POSetElement[MModule]] */
-&type_poset__POSetElementmodel_base__MModule, /* SequenceRead#0: POSetElement[MModule] */
-&type_poset__POSetElementmodel_base__MModule, /* AbstractArrayRead#0: POSetElement[MModule] */
-&type_array__Arrayposet__POSetElementmodel_base__MModule, /* Array[AbstractArrayRead#0]: Array[POSetElement[MModule]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[MModule]] not a live type) */
-&type_array__ArrayIteratorposet__POSetElementmodel_base__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MModule]] */
-}
-};
-/* runtime type AbstractArrayRead[POSetElement[MModule]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel_base__MModule = {
-2449,
-"AbstractArrayRead[POSetElement[MModule]]", /* class_name_string */
-5,
-0,
-NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1634, /* Collection[POSetElement[MModule]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2449, /* AbstractArrayRead[POSetElement[MModule]] */
-1778, /* AbstractArrayRead[Object] */
+1625, /* Collection[POSetElement[Phase]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2473, /* AbstractArrayRead[POSetElement[Phase]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-/* runtime type ArrayIterator[Array[MModule]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel_base__MModule = {
-1730,
-"ArrayIterator[Array[MModule]]", /* class_name_string */
+/* runtime type ArrayIterator[Array[MProject]] */
+const struct type type_array__ArrayIteratorarray__Arraymproject__MProject = {
+1729,
+"ArrayIterator[Array[MProject]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymodel_base__MModule,
+&resolution_table_array__ArrayIteratorarray__Arraymproject__MProject,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-279, /* ArrayIterator[Object] */
-1730, /* ArrayIterator[Array[MModule]] */
+289, /* ArrayIterator[Object] */
+1729, /* ArrayIterator[Array[MProject]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel_base__MModule = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraymodel_base__MModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MModule]] */
-&type_array__Arrayarray__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[Array[MModule]] */
+&type_array__AbstractArrayReadarray__Arraymproject__MProject, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MProject]] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Iterator#0]: Array[Array[MProject]] */
 }
 };
-/* runtime type NativeArray[Array[MModule]] */
-const struct type type_array__NativeArrayarray__Arraymodel_base__MModule = {
-1731,
-"NativeArray[Array[MModule]]", /* class_name_string */
+/* runtime type NativeArray[Array[MProject]] */
+const struct type type_array__NativeArrayarray__Arraymproject__MProject = {
+1730,
+"NativeArray[Array[MProject]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArrayarray__Arraymodel_base__MModule,
+&resolution_table_array__NativeArrayarray__Arraymproject__MProject,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-187, /* NativeArray[Object] */
-1731, /* NativeArray[Array[MModule]] */
+193, /* NativeArray[Object] */
+1730, /* NativeArray[Array[MProject]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel_base__MModule = {
+const struct types resolution_table_array__NativeArrayarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_array__Arraymodel_base__MModule, /* NativeArray#0: Array[MModule] */
-&type_array__NativeArrayarray__Arraymodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[Array[MModule]] */
+&type_array__Arraymproject__MProject, /* NativeArray#0: Array[MProject] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[NativeArray#0]: NativeArray[Array[MProject]] */
 }
 };
-/* runtime type Array[POSetElement[MClassDef]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClassDef = {
-2597,
-"Array[POSetElement[MClassDef]]", /* class_name_string */
+/* runtime type Array[POSetElement[MModule]] */
+const struct type type_array__Arrayposet__POSetElementmmodule__MModule = {
+2604,
+"Array[POSetElement[MModule]]", /* class_name_string */
 7,
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClassDef,
+&resolution_table_array__Arrayposet__POSetElementmmodule__MModule,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
-1637, /* Collection[POSetElement[MClassDef]] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2450, /* AbstractArrayRead[POSetElement[MClassDef]] */
-1778, /* AbstractArrayRead[Object] */
-2597, /* Array[POSetElement[MClassDef]] */
+1628, /* Collection[POSetElement[MModule]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2474, /* AbstractArrayRead[POSetElement[MModule]] */
+1782, /* AbstractArrayRead[Object] */
+2604, /* Array[POSetElement[MModule]] */
 -1, /* empty */
-1962, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
+const struct types resolution_table_array__Arrayposet__POSetElementmmodule__MModule = {
+0, /* dummy */
+{
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[Array#0]: Array[POSetElement[MModule]] */
+&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[Array#0]: NativeArray[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* Sequence#0: POSetElement[MModule] */
+&type_poset__POSetElementmmodule__MModule, /* SimpleCollection#0: POSetElement[MModule] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[Array#0]: Collection[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* Array#0: POSetElement[MModule] */
+&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* AbstractArray#0: POSetElement[MModule] */
+&type_poset__POSetElementmmodule__MModule, /* RemovableCollection#0: POSetElement[MModule] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[Sequence#0]: Collection[POSetElement[MModule]] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[Sequence#0]: Array[POSetElement[MModule]] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[SimpleCollection#0]: Collection[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* Collection#0: POSetElement[MModule] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[Collection#0]: Collection[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* SequenceRead#0: POSetElement[MModule] */
+&type_poset__POSetElementmmodule__MModule, /* AbstractArrayRead#0: POSetElement[MModule] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[AbstractArrayRead#0]: Array[POSetElement[MModule]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[MModule]] not a live type) */
+&type_array__ArrayIteratorposet__POSetElementmmodule__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MModule]] */
+}
+};