c_src: update for new ffi syntax
[nit.git] / c_src / nitg.types.6.c
index d2c3c0f..56bf51f 100644 (file)
 #include "nitg.types.0.h"
-/* runtime type HashMapValues[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
-2382,
-"HashMapValues[MClass, Array[MClass]]", /* class_name_string */
-6,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1439, /* Collection[Array[nullable MClass]] */
-1842, /* HashMapValues[MClass, Array[nullable MClass]] */
-164, /* Collection[Object] */
-1787, /* Collection[Array[MClass]] */
-2382, /* HashMapValues[MClass, Array[MClass]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
 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]] */
-NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
+&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 NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
-1605,
-"NativeArray[nullable HashMapNode[MClass, Array[MClass]]]", /* class_name_string */
-3,
+/* 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_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
-4,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-365, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
-1605, /* NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
+438, /* MapKeysIterator[String, nullable ModulePath] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Array[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
+&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 HashMapNode[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
-2128,
-"HashMapNode[MClass, Array[MClass]]", /* class_name_string */
-5,
+/* 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,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-131, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
-445, /* nullable HashMapNode[MClass, Array[MClass]] */
-1541, /* HashMapNode[MClass, Array[nullable MClass]] */
-2128, /* HashMapNode[MClass, Array[MClass]] */
+439, /* MapValuesIterator[String, nullable ModulePath] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* N: HashMapNode[MClass, Array[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 nullable HashMapNode[MClass, Array[MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
-445,
-"nullable HashMapNode[MClass, Array[MClass]]", /* class_name_string */
+/* 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_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup,
 3,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
-4,
 {
 0, /* nullable Object */
--1, /* empty */
-131, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
-445, /* nullable HashMapNode[MClass, Array[MClass]] */
+1, /* Object */
+440, /* MapKeysIterator[String, nullable MGroup] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* N: HashMapNode[MClass, Array[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
-2129,
-"HashMapIterator[MClass, Array[MClass]]", /* class_name_string */
-5,
+/* 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__MClassarray__Arraymodel__MClass,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-366, /* MapIterator[MClass, Array[nullable MClass]] */
-1542, /* HashMapIterator[MClass, Array[nullable MClass]] */
-1606, /* MapIterator[MClass, Array[MClass]] */
-2129, /* HashMapIterator[MClass, Array[MClass]] */
+441, /* MapValuesIterator[String, nullable MGroup] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Array[MClass]] */
+&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[MClass, Array[MClass]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass = {
-1606,
-"MapIterator[MClass, Array[MClass]]", /* class_name_string */
-4,
+/* 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,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-366, /* MapIterator[MClass, Array[nullable MClass]] */
--1, /* empty */
-1606, /* MapIterator[MClass, Array[MClass]] */
+442, /* MapKeysIterator[MModule, AModule] */
 },
 };
-/* runtime type HashMapKeys[MClass, HashSet[MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
-2383,
-"HashMapKeys[MClass, HashSet[MClass]]", /* class_name_string */
-6,
+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_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2130, /* HashMapKeys[MClass, Set[MClass]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
-2383, /* HashMapKeys[MClass, HashSet[MClass]] */
+443, /* MapValuesIterator[MModule, AModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, HashSet[MClass]] */
-&type_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, HashSet[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] */
+&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 HashMapKeys[MClass, Set[MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
-2130,
-"HashMapKeys[MClass, Set[MClass]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2130, /* HashMapKeys[MClass, Set[MClass]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
+444, /* MapKeysIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MClass]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[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] */
+&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 HashMapValues[MClass, HashSet[MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
-2384,
-"HashMapValues[MClass, HashSet[MClass]]", /* class_name_string */
-6,
+/* 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_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-1865, /* HashMapValues[MClass, Set[MClass]] */
-164, /* Collection[Object] */
-1866, /* Collection[HashSet[MClass]] */
-2384, /* HashMapValues[MClass, HashSet[MClass]] */
+445, /* MapValuesIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, HashSet[MClass]] */
-&type_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, HashSet[MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashSetmodel__MClass, /* RemovableCollection#0: HashSet[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashSetmodel__MClass, /* Collection#0: HashSet[MClass] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[Collection#0]: Collection[HashSet[MClass]] */
+&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 HashMapValues[MClass, Set[MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
-1865,
-"HashMapValues[MClass, Set[MClass]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-1865, /* HashMapValues[MClass, Set[MClass]] */
-164, /* Collection[Object] */
+446, /* MapKeysIterator[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MClass]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MClass, /* RemovableCollection#0: Set[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MClass, /* Collection#0: Set[MClass] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Collection#0]: Collection[Set[MClass]] */
+&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 Collection[HashSet[MClass]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass = {
-1866,
-"Collection[HashSet[MClass]]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MPropDef, APropdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
+447,
+"MapValuesIterator[MPropDef, APropdef]", /* class_name_string */
+2,
 0,
-NULL,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
--1, /* empty */
-164, /* Collection[Object] */
-1866, /* Collection[HashSet[MClass]] */
+447, /* MapValuesIterator[MPropDef, APropdef] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
-1607,
-"NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]]", /* class_name_string */
+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 = {
+1642,
+"MapKeysIterator[MClass, Set[MProperty]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-446, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
-1607, /* NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1642, /* MapKeysIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, HashSet[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
+&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 NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
-446,
-"NativeArray[nullable HashMapNode[MClass, Set[MClass]]]", /* 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__MClassabstract_collection__Setmodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-446, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Set[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+&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[MClass, HashSet[MClass]] */
-const struct type type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
-2131,
-"HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
-5,
+/* 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__MClasshash_collection__HashSetmodel__MClass,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-145, /* nullable HashMapNode[MClass, Set[MClass]] */
-447, /* nullable HashMapNode[MClass, HashSet[MClass]] */
-1608, /* HashMapNode[MClass, Set[MClass]] */
-2131, /* HashMapNode[MClass, HashSet[MClass]] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1643, /* MapValuesIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_hash_collection__HashSetmodel__MClass, /* HashMapNode#1: HashSet[MClass] */
-&type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* N: HashMapNode[MClass, HashSet[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 HashMapNode[MClass, Set[MClass]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
-1608,
-"HashMapNode[MClass, Set[MClass]]", /* class_name_string */
-4,
+/* 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,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-145, /* nullable HashMapNode[MClass, Set[MClass]] */
--1, /* empty */
-1608, /* HashMapNode[MClass, Set[MClass]] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* N: HashMapNode[MClass, Set[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 nullable HashMapNode[MClass, HashSet[MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
-447,
-"nullable HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
+/* runtime type NativeArray[Char] */
+const struct type type_array__NativeArraykernel__Char = {
+1644,
+"NativeArray[Char]", /* class_name_string */
 3,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
+0,
+&resolution_table_array__NativeArraykernel__Char,
 4,
 {
 0, /* nullable Object */
--1, /* empty */
-145, /* nullable HashMapNode[MClass, Set[MClass]] */
-447, /* nullable HashMapNode[MClass, HashSet[MClass]] */
+1, /* Object */
+193, /* NativeArray[Object] */
+1644, /* NativeArray[Char] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_array__NativeArraykernel__Char = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_hash_collection__HashSetmodel__MClass, /* HashMapNode#1: HashSet[MClass] */
-&type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* N: HashMapNode[MClass, HashSet[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_kernel__Char, /* NativeArray#0: Char */
+&type_array__NativeArraykernel__Char, /* NativeArray[NativeArray#0]: NativeArray[Char] */
 }
 };
-/* runtime type nullable HashMapNode[MClass, Set[MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
-145,
-"nullable HashMapNode[MClass, Set[MClass]]", /* 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,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
+0,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-145, /* nullable HashMapNode[MClass, Set[MClass]] */
+1, /* Object */
+450, /* MapKeysIterator[String, Option] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* N: HashMapNode[MClass, Set[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 HashMapIterator[MClass, HashSet[MClass]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-2132,
-"HashMapIterator[MClass, HashSet[MClass]]", /* class_name_string */
-5,
+/* 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__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-448, /* MapIterator[MClass, Set[MClass]] */
-1609, /* HashMapIterator[MClass, Set[MClass]] */
-1610, /* MapIterator[MClass, HashSet[MClass]] */
-2132, /* HashMapIterator[MClass, HashSet[MClass]] */
+451, /* MapValuesIterator[String, Option] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, HashSet[MClass]] */
+&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 HashMapIterator[MClass, Set[MClass]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-1609,
-"HashMapIterator[MClass, Set[MClass]]", /* class_name_string */
-3,
+/* 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__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-448, /* MapIterator[MClass, Set[MClass]] */
-1609, /* HashMapIterator[MClass, Set[MClass]] */
+452, /* MapKeysIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MClass]] */
+&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 MapIterator[MClass, HashSet[MClass]] */
-const struct type type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-1610,
-"MapIterator[MClass, HashSet[MClass]]", /* class_name_string */
-4,
+/* 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,
-NULL,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-448, /* MapIterator[MClass, Set[MClass]] */
--1, /* empty */
-1610, /* MapIterator[MClass, HashSet[MClass]] */
+453, /* MapValuesIterator[MClassDef, HashSet[MType]] */
 },
 };
-/* runtime type MapIterator[MClass, Set[MClass]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-448,
-"MapIterator[MClass, Set[MClass]]", /* class_name_string */
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+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]] */
+}
+};
+/* runtime type MapKeysIterator[MClass, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
+454,
+"MapKeysIterator[MClass, Int]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-448, /* MapIterator[MClass, Set[MClass]] */
+454, /* MapKeysIterator[MClass, Int] */
 },
 };
-/* runtime type HashMapKeys[MClass, Map[MClass, Int]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-2133,
-"HashMapKeys[MClass, Map[MClass, Int]]", /* class_name_string */
-3,
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
+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] */
+}
+};
+/* 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_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2133, /* HashMapKeys[MClass, Map[MClass, Int]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
+455, /* MapValuesIterator[MClass, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Map[MClass, Int]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Map[MClass, Int]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type HashMapValues[MClass, Map[MClass, Int]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1867,
-"HashMapValues[MClass, Map[MClass, Int]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1611, /* Collection[Map[MClass, Int]] */
-1867, /* HashMapValues[MClass, Map[MClass, Int]] */
-164, /* Collection[Object] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Map[MClass, Int]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Map[MClass, Int]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* RemovableCollection#0: Map[MClass, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Collection#0: Map[MClass, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[Collection#0]: Collection[Map[MClass, Int]] */
+&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 Collection[Map[MClass, Int]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int = {
-1611,
-"Collection[Map[MClass, Int]]", /* 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,
-NULL,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1611, /* Collection[Map[MClass, Int]] */
--1, /* empty */
-164, /* Collection[Object] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-449,
-"NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
+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]] */
+}
+};
+/* 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 */
-449, /* NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
+1645, /* MapKeysIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray#0: nullable HashMapNode[MClass, Map[MClass, Int]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
+&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 HashMapNode[MClass, Map[MClass, Int]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1612,
-"HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
+/* 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_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-146, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
-1612, /* HashMapNode[MClass, Map[MClass, Int]] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
+1646, /* MapValuesIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* HashMapNode#1: Map[MClass, Int] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* N: HashMapNode[MClass, Map[MClass, Int]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 nullable HashMapNode[MClass, Map[MClass, Int]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-146,
-"nullable HashMapNode[MClass, Map[MClass, Int]]", /* 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,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-146, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
+1, /* Object */
+458, /* MapKeysIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* HashMapNode#1: Map[MClass, Int] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* N: HashMapNode[MClass, Map[MClass, Int]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 HashMapIterator[MClass, Map[MClass, Int]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1613,
-"HashMapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-450, /* MapIterator[MClass, Map[MClass, Int]] */
-1613, /* HashMapIterator[MClass, Map[MClass, Int]] */
+459, /* MapValuesIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Map[MClass, Int]] */
+&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 MapIterator[MClass, Map[MClass, Int]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-450,
-"MapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+/* runtime type MapKeysIterator[String, String] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
+460,
+"MapKeysIterator[String, String]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-450, /* MapIterator[MClass, Map[MClass, Int]] */
+460, /* MapKeysIterator[String, String] */
 },
 };
-/* runtime type MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1868,
-"MapKeysIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-4,
+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 = {
+461,
+"MapValuesIterator[String, String]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-5,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-423, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-1598, /* MapKeysIterator[MClass, Set[MProperty]] */
-1868, /* MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+461, /* MapValuesIterator[String, String] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MVirtualTypeProp]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&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 MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1869,
-"MapValuesIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-4,
+/* 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__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-5,
+&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-424, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-1599, /* MapValuesIterator[MClass, Set[MProperty]] */
-1869, /* MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+462, /* ContainerIterator[CodeFile] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MVirtualTypeProp]] */
-&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Containerabstract_compiler__CodeFile, /* Container[ContainerIterator#0]: Container[CodeFile] */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
 }
 };
-/* runtime type Array[MVirtualTypeProp] */
-const struct type type_array__Arraymodel__MVirtualTypeProp = {
-2639,
-"Array[MVirtualTypeProp]", /* class_name_string */
-17,
+/* runtime type Array[CodeFile] */
+const struct type type_array__Arrayabstract_compiler__CodeFile = {
+2583,
+"Array[CodeFile]", /* class_name_string */
+7,
 0,
-&resolution_table_array__Arraymodel__MVirtualTypeProp,
-18,
+&resolution_table_array__Arrayabstract_compiler__CodeFile,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1735, /* AbstractArrayRead[nullable MProperty] */
-1913, /* Array[nullable MProperty] */
-1911, /* Array[Object] */
-1914, /* Collection[MProperty] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2209, /* Collection[MVirtualTypeProp] */
-2481, /* Array[PropertyLayoutElement] */
-2552, /* AbstractArrayRead[MProperty] */
-2603, /* AbstractArrayRead[MVirtualTypeProp] */
-2607, /* Array[MProperty] */
-2639, /* Array[MVirtualTypeProp] */
+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_array__Arraymodel__MVirtualTypeProp = {
+const struct types resolution_table_array__Arrayabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualTypeProp, /* Array[Array#0]: Array[MVirtualTypeProp] */
-&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[Array#0]: NativeArray[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* Sequence#0: MVirtualTypeProp */
-&type_model__MVirtualTypeProp, /* SimpleCollection#0: MVirtualTypeProp */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Array#0]: Collection[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* Array#0: MVirtualTypeProp */
-&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* AbstractArray#0: MVirtualTypeProp */
-&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Sequence#0]: Collection[MVirtualTypeProp] */
-&type_array__Arraymodel__MVirtualTypeProp, /* Array[Sequence#0]: Array[MVirtualTypeProp] */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* SequenceRead#0: MVirtualTypeProp */
-&type_model__MVirtualTypeProp, /* AbstractArrayRead#0: MVirtualTypeProp */
-&type_array__Arraymodel__MVirtualTypeProp, /* Array[AbstractArrayRead#0]: Array[MVirtualTypeProp] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualTypeProp] not a live type) */
-&type_array__ArrayIteratormodel__MVirtualTypeProp, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualTypeProp] */
+&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 AbstractArrayRead[MVirtualTypeProp] */
-const struct type type_array__AbstractArrayReadmodel__MVirtualTypeProp = {
-2603,
-"AbstractArrayRead[MVirtualTypeProp]", /* class_name_string */
-15,
+/* runtime type AbstractArrayRead[CodeFile] */
+const struct type type_array__AbstractArrayReadabstract_compiler__CodeFile = {
+2444,
+"AbstractArrayRead[CodeFile]", /* class_name_string */
+5,
 0,
 NULL,
-16,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1735, /* AbstractArrayRead[nullable MProperty] */
--1, /* empty */
--1, /* empty */
-1914, /* Collection[MProperty] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2209, /* Collection[MVirtualTypeProp] */
--1, /* empty */
-2552, /* AbstractArrayRead[MProperty] */
-2603, /* AbstractArrayRead[MVirtualTypeProp] */
+642, /* Collection[CodeFile] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2444, /* AbstractArrayRead[CodeFile] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-/* runtime type HashMapKeys[MVirtualTypeProp, Int] */
-const struct type type_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
-2512,
-"HashMapKeys[MVirtualTypeProp, Int]", /* class_name_string */
-6,
+/* runtime type ContainerIterator[MMethodDef] */
+const struct type type_abstract_collection__ContainerIteratormodel__MMethodDef = {
+463,
+"ContainerIterator[MMethodDef]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int,
-13,
+&resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-1870, /* HashMapKeys[PropertyLayoutElement, Int] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-2512, /* HashMapKeys[MVirtualTypeProp, Int] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1914, /* Collection[MProperty] */
--1, /* empty */
-2209, /* Collection[MVirtualTypeProp] */
+463, /* ContainerIterator[MMethodDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MVirtualTypeProp, Int] */
-&type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MVirtualTypeProp, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
-&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
+&type_abstract_collection__Containermodel__MMethodDef, /* Container[ContainerIterator#0]: Container[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
 }
 };
-/* runtime type HashMapKeys[PropertyLayoutElement, Int] */
-const struct type type_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
-1870,
-"HashMapKeys[PropertyLayoutElement, Int]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-1870, /* HashMapKeys[PropertyLayoutElement, Int] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
+464, /* MapKeysIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[PropertyLayoutElement, Int] */
-&type_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[PropertyLayoutElement, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_layout_builders__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_layout_builders__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
-&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
+&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 HashMapValues[MVirtualTypeProp, Int] */
-const struct type type_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
-2134,
-"HashMapValues[MVirtualTypeProp, Int]", /* class_name_string */
-5,
+/* 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_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1871, /* HashMapValues[PropertyLayoutElement, Int] */
-164, /* Collection[Object] */
-2134, /* HashMapValues[MVirtualTypeProp, Int] */
+465, /* MapValuesIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MVirtualTypeProp, Int] */
-&type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MVirtualTypeProp, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type HashMapValues[PropertyLayoutElement, Int] */
-const struct type type_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
-1871,
-"HashMapValues[PropertyLayoutElement, Int]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[AbstractRuntimeFunction] */
+const struct type type_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
+466,
+"ContainerIterator[AbstractRuntimeFunction]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int,
-5,
+&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1871, /* HashMapValues[PropertyLayoutElement, Int] */
-164, /* Collection[Object] */
+466, /* ContainerIterator[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[PropertyLayoutElement, Int] */
-&type_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[PropertyLayoutElement, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_abstract_collection__Containerabstract_compiler__AbstractRuntimeFunction, /* Container[ContainerIterator#0]: Container[AbstractRuntimeFunction] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
-1614,
-"NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]]", /* class_name_string */
-3,
+/* runtime type Array[AbstractRuntimeFunction] */
+const struct type type_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
+2584,
+"Array[AbstractRuntimeFunction]", /* class_name_string */
+7,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
-4,
+&resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-451, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
-1614, /* NativeArray[nullable HashMapNode[MVirtualTypeProp, 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_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray#0: nullable HashMapNode[MVirtualTypeProp, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MVirtualTypeProp, 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 NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
-451,
-"NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]]", /* 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_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
-3,
+NULL,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-451, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+645, /* Collection[AbstractRuntimeFunction] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2445, /* AbstractArrayRead[AbstractRuntimeFunction] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+/* 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__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
+1647, /* MapKeysIterator[MType, Array[MType]] */
+1920, /* MapKeysIterator[MType, Array[MClassType]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray#0: nullable HashMapNode[PropertyLayoutElement, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+&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 HashMapNode[MVirtualTypeProp, Int] */
-const struct type type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
-2135,
-"HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
-5,
+/* 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_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-147, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-452, /* nullable HashMapNode[MVirtualTypeProp, Int] */
-1615, /* HashMapNode[PropertyLayoutElement, Int] */
-2135, /* HashMapNode[MVirtualTypeProp, Int] */
+456, /* MapKeysIterator[MType, Array[nullable MType]] */
+1647, /* MapKeysIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_model__MVirtualTypeProp, /* HashMapNode#0: MVirtualTypeProp */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* N: HashMapNode[MVirtualTypeProp, Int] */
-&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
+&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 HashMapNode[PropertyLayoutElement, Int] */
-const struct type type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
-1615,
-"HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
+/* 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_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-147, /* nullable HashMapNode[PropertyLayoutElement, Int] */
--1, /* empty */
-1615, /* HashMapNode[PropertyLayoutElement, Int] */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
+1648, /* MapValuesIterator[MType, Array[MType]] */
+1921, /* MapValuesIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_layout_builders__PropertyLayoutElement, /* HashMapNode#0: PropertyLayoutElement */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* N: HashMapNode[PropertyLayoutElement, Int] */
-&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
+&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 nullable HashMapNode[MVirtualTypeProp, Int] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
-452,
-"nullable HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
+/* 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,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType,
 4,
 {
 0, /* nullable Object */
--1, /* empty */
-147, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-452, /* nullable HashMapNode[MVirtualTypeProp, Int] */
+1, /* Object */
+457, /* MapValuesIterator[MType, Array[nullable MType]] */
+1648, /* MapValuesIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_model__MVirtualTypeProp, /* HashMapNode#0: MVirtualTypeProp */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* N: HashMapNode[MVirtualTypeProp, Int] */
-&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
+&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 nullable HashMapNode[PropertyLayoutElement, Int] */
-const struct type type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
-147,
-"nullable HashMapNode[PropertyLayoutElement, Int]", /* 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,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
+0,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-147, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+1, /* Object */
+467, /* MapKeysIterator[String, Int] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
 0, /* dummy */
 {
-&type_layout_builders__PropertyLayoutElement, /* HashMapNode#0: PropertyLayoutElement */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* N: HashMapNode[PropertyLayoutElement, Int] */
-&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
+&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 HashMapIterator[MVirtualTypeProp, Int] */
-const struct type type_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
-2136,
-"HashMapIterator[MVirtualTypeProp, Int]", /* class_name_string */
-5,
+/* 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_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* MapIterator[PropertyLayoutElement, Int] */
-1616, /* HashMapIterator[PropertyLayoutElement, Int] */
-1617, /* MapIterator[MVirtualTypeProp, Int] */
-2136, /* HashMapIterator[MVirtualTypeProp, Int] */
+468, /* MapValuesIterator[String, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MVirtualTypeProp, Int] */
+&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 HashMapIterator[PropertyLayoutElement, Int] */
-const struct type type_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-1616,
-"HashMapIterator[PropertyLayoutElement, Int]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* MapIterator[PropertyLayoutElement, Int] */
-1616, /* HashMapIterator[PropertyLayoutElement, Int] */
+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_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[PropertyLayoutElement, Int] */
+&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 MapIterator[MVirtualTypeProp, Int] */
-const struct type type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int = {
-1617,
-"MapIterator[MVirtualTypeProp, Int]", /* class_name_string */
-4,
+/* 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,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* MapIterator[PropertyLayoutElement, Int] */
--1, /* empty */
-1617, /* MapIterator[MVirtualTypeProp, Int] */
+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 MapIterator[PropertyLayoutElement, Int] */
-const struct type type_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-453,
-"MapIterator[PropertyLayoutElement, Int]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-453, /* MapIterator[PropertyLayoutElement, Int] */
-},
-};
-/* runtime type HashMapKeys[MAttribute, Int] */
-const struct type type_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
-2513,
-"HashMapKeys[MAttribute, Int]", /* class_name_string */
-6,
-0,
-&resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-172, /* Collection[nullable MProperty] */
-1870, /* HashMapKeys[PropertyLayoutElement, Int] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-2513, /* HashMapKeys[MAttribute, Int] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1914, /* Collection[MProperty] */
--1, /* empty */
-2213, /* Collection[MAttribute] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MAttribute, Int] */
-&type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MAttribute, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MAttribute, /* Collection#0: MAttribute */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
-}
-};
-/* runtime type HashMapValues[MAttribute, Int] */
-const struct type type_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
-2137,
-"HashMapValues[MAttribute, Int]", /* class_name_string */
-5,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-612, /* Collection[Int] */
-1871, /* HashMapValues[PropertyLayoutElement, Int] */
-164, /* Collection[Object] */
-2137, /* HashMapValues[MAttribute, Int] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MAttribute, Int] */
-&type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MAttribute, Int] */
+&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]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
+&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MAttribute, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
-1618,
-"NativeArray[nullable HashMapNode[MAttribute, Int]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+1649,
+"NativeArray[nullable HashMapNode[MClass, Array[MClass]]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-451, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
-1618, /* NativeArray[nullable HashMapNode[MAttribute, Int]] */
+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__MAttributekernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray#0: nullable HashMapNode[MAttribute, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MAttribute, Int]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Array[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
 }
 };
-/* runtime type HashMapNode[MAttribute, Int] */
-const struct type type_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
-2138,
-"HashMapNode[MAttribute, Int]", /* class_name_string */
+/* runtime type HashMapNode[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+2193,
+"HashMapNode[MClass, Array[MClass]]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MAttributekernel__Int,
+&resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-147, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-454, /* nullable HashMapNode[MAttribute, Int] */
-1615, /* HashMapNode[PropertyLayoutElement, Int] */
-2138, /* HashMapNode[MAttribute, Int] */
+133, /* nullable HashMapNode[MClass, Array[nullable 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__MAttributekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model__MAttribute, /* HashMapNode#0: MAttribute */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* N: HashMapNode[MAttribute, Int] */
-&type_model__MAttribute, /* HashNode#0: MAttribute */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
+&type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* N: HashMapNode[MClass, Array[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[MAttribute, Int] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
-454,
-"nullable HashMapNode[MAttribute, Int]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClass, Array[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+469,
+"nullable HashMapNode[MClass, Array[MClass]]", /* class_name_string */
 3,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
 4,
 {
 0, /* nullable Object */
 -1, /* empty */
-147, /* nullable HashMapNode[PropertyLayoutElement, Int] */
-454, /* nullable HashMapNode[MAttribute, Int] */
+133, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
+469, /* nullable HashMapNode[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model__MAttribute, /* HashMapNode#0: MAttribute */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* N: HashMapNode[MAttribute, Int] */
-&type_model__MAttribute, /* HashNode#0: MAttribute */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
+&type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* N: HashMapNode[MClass, Array[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapIterator[MAttribute, Int] */
-const struct type type_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
-2139,
-"HashMapIterator[MAttribute, Int]", /* class_name_string */
+/* runtime type HashMapIterator[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
+2194,
+"HashMapIterator[MClass, Array[MClass]]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MAttributekernel__Int,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* MapIterator[PropertyLayoutElement, Int] */
-1616, /* HashMapIterator[PropertyLayoutElement, Int] */
-1619, /* MapIterator[MAttribute, Int] */
-2139, /* HashMapIterator[MAttribute, Int] */
+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__MAttributekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MAttribute, Int] */
+&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Array[MClass]] */
 }
 };
-/* runtime type MapIterator[MAttribute, Int] */
-const struct type type_abstract_collection__MapIteratormodel__MAttributekernel__Int = {
-1619,
-"MapIterator[MAttribute, Int]", /* class_name_string */
+/* runtime type MapIterator[MClass, Array[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass = {
+1650,
+"MapIterator[MClass, Array[MClass]]", /* class_name_string */
 4,
 0,
 NULL,
@@ -1390,341 +1177,378 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-453, /* MapIterator[PropertyLayoutElement, Int] */
+378, /* MapIterator[MClass, Array[nullable MClass]] */
 -1, /* empty */
-1619, /* MapIterator[MAttribute, Int] */
+1650, /* MapIterator[MClass, Array[MClass]] */
 },
 };
-/* runtime type MapKeysIterator[MClass, Set[MAttribute]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
-1872,
-"MapKeysIterator[MClass, Set[MAttribute]]", /* class_name_string */
-4,
+/* runtime type HashMapKeys[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
+2448,
+"HashMapKeys[MClass, HashSet[MClass]]", /* class_name_string */
+6,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-423, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-1598, /* MapKeysIterator[MClass, Set[MProperty]] */
-1872, /* MapKeysIterator[MClass, Set[MAttribute]] */
+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_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MAttribute]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, HashSet[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, HashSet[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 MapValuesIterator[MClass, Set[MAttribute]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
-1873,
-"MapValuesIterator[MClass, Set[MAttribute]]", /* class_name_string */
-4,
+/* runtime type HashMapKeys[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
+2195,
+"HashMapKeys[MClass, Set[MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-424, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-1599, /* MapValuesIterator[MClass, Set[MProperty]] */
-1873, /* MapValuesIterator[MClass, Set[MAttribute]] */
+178, /* Collection[nullable MClass] */
+2195, /* HashMapKeys[MClass, Set[MClass]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MAttribute]] */
-&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Iterator#0]: Array[Set[MAttribute]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[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 Array[MAttribute] */
-const struct type type_array__Arraymodel__MAttribute = {
-2640,
-"Array[MAttribute]", /* class_name_string */
-17,
+/* runtime type HashMapValues[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
+2449,
+"HashMapValues[MClass, HashSet[MClass]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__Arraymodel__MAttribute,
-18,
+&resolution_table_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1735, /* AbstractArrayRead[nullable MProperty] */
-1913, /* Array[nullable MProperty] */
-1911, /* Array[Object] */
-1914, /* Collection[MProperty] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2213, /* Collection[MAttribute] */
-2481, /* Array[PropertyLayoutElement] */
-2552, /* AbstractArrayRead[MProperty] */
-2604, /* AbstractArrayRead[MAttribute] */
-2607, /* Array[MProperty] */
-2640, /* Array[MAttribute] */
+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_array__Arraymodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MAttribute, /* Array[Array#0]: Array[MAttribute] */
-&type_array__NativeArraymodel__MAttribute, /* NativeArray[Array#0]: NativeArray[MAttribute] */
-&type_model__MAttribute, /* Sequence#0: MAttribute */
-&type_model__MAttribute, /* SimpleCollection#0: MAttribute */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Array#0]: Collection[MAttribute] */
-&type_model__MAttribute, /* Array#0: MAttribute */
-&type_array__NativeArraymodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[MAttribute] */
-&type_model__MAttribute, /* AbstractArray#0: MAttribute */
-&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Sequence#0]: Collection[MAttribute] */
-&type_array__Arraymodel__MAttribute, /* Array[Sequence#0]: Array[MAttribute] */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[MAttribute] */
-&type_model__MAttribute, /* Collection#0: MAttribute */
-&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
-&type_model__MAttribute, /* SequenceRead#0: MAttribute */
-&type_model__MAttribute, /* AbstractArrayRead#0: MAttribute */
-&type_array__Arraymodel__MAttribute, /* Array[AbstractArrayRead#0]: Array[MAttribute] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MAttribute] not a live type) */
-&type_array__ArrayIteratormodel__MAttribute, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MAttribute] */
+&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, HashSet[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, HashSet[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashSetmodel__MClass, /* RemovableCollection#0: HashSet[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashSetmodel__MClass, /* Collection#0: HashSet[MClass] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[Collection#0]: Collection[HashSet[MClass]] */
 }
 };
-/* runtime type AbstractArrayRead[MAttribute] */
-const struct type type_array__AbstractArrayReadmodel__MAttribute = {
-2604,
-"AbstractArrayRead[MAttribute]", /* class_name_string */
-15,
+/* runtime type HashMapValues[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
+1922,
+"HashMapValues[MClass, Set[MClass]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass,
+5,
+{
+0, /* nullable Object */
+1, /* 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 = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MClass, /* RemovableCollection#0: Set[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MClass, /* Collection#0: Set[MClass] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Collection#0]: Collection[Set[MClass]] */
+}
+};
+/* runtime type Collection[HashSet[MClass]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass = {
+1923,
+"Collection[HashSet[MClass]]", /* class_name_string */
+5,
 0,
 NULL,
-16,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1735, /* AbstractArrayRead[nullable MProperty] */
--1, /* empty */
+1580, /* Collection[Set[MClass]] */
 -1, /* empty */
-1914, /* Collection[MProperty] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2213, /* Collection[MAttribute] */
--1, /* empty */
-2552, /* AbstractArrayRead[MProperty] */
-2604, /* AbstractArrayRead[MAttribute] */
+170, /* Collection[Object] */
+1923, /* Collection[HashSet[MClass]] */
 },
 };
-/* runtime type ContainerIterator[String] */
-const struct type type_abstract_collection__ContainerIteratorstring__String = {
-455,
-"ContainerIterator[String]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__ContainerIteratorstring__String,
+/* runtime type NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+1651,
+"NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-455, /* ContainerIterator[String] */
+470, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+1651, /* NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorstring__String = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerstring__String, /* Container[ContainerIterator#0]: Container[String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, HashSet[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
 }
 };
-/* runtime type HashMapKeys[MType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2140,
-"HashMapKeys[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+470,
+"NativeArray[nullable HashMapNode[MClass, Set[MClass]]]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
-8,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2140, /* HashMapKeys[MType, Map[MType, Int]] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+470, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Map[MType, Int]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Map[MType, Int]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Set[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 }
 };
-/* runtime type HashMapValues[MType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1874,
-"HashMapValues[MType, Map[MType, Int]]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+/* runtime type HashMapNode[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+2196,
+"HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
 5,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1620, /* Collection[Map[MType, Int]] */
-1874, /* HashMapValues[MType, Map[MType, Int]] */
-164, /* Collection[Object] */
+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__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Map[MType, Int]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Map[MType, Int]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_hash_collection__HashSetmodel__MClass, /* HashMapNode#1: HashSet[MClass] */
+&type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* N: HashMapNode[MClass, HashSet[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type Collection[Map[MType, Int]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int = {
-1620,
-"Collection[Map[MType, Int]]", /* class_name_string */
-2,
+/* runtime type HashMapNode[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+1652,
+"HashMapNode[MClass, Set[MClass]]", /* class_name_string */
+4,
 0,
-NULL,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1620, /* Collection[Map[MType, Int]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
 -1, /* empty */
-164, /* 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 = {
-456,
-"NativeArray[nullable HashMapNode[MType, Map[MType, Int]]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-456, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+1652, /* HashMapNode[MClass, Set[MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MType, Map[MType, Int]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* N: HashMapNode[MClass, Set[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapNode[MType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1621,
-"HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClass, HashSet[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+471,
+"nullable HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
+3,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
 4,
-0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
-5,
 {
 0, /* nullable Object */
-1, /* Object */
-148, /* nullable HashMapNode[MType, Map[MType, Int]] */
 -1, /* empty */
-1621, /* HashMapNode[MType, Map[MType, Int]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
+471, /* nullable HashMapNode[MClass, HashSet[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MType, Map[MType, Int]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_hash_collection__HashSetmodel__MClass, /* HashMapNode#1: HashSet[MClass] */
+&type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* N: HashMapNode[MClass, HashSet[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[MType, Map[MType, Int]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-148,
-"nullable HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClass, Set[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+150,
+"nullable HashMapNode[MClass, Set[MClass]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
 3,
 {
 0, /* nullable Object */
 -1, /* empty */
-148, /* nullable HashMapNode[MType, Map[MType, Int]] */
+150, /* nullable HashMapNode[MClass, Set[MClass]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MType, Map[MType, Int]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* N: HashMapNode[MClass, Set[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapIterator[MType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1622,
-"HashMapIterator[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type HashMapIterator[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+2197,
+"HashMapIterator[MClass, HashSet[MClass]]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+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 = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, HashSet[MClass]] */
+}
+};
+/* runtime type HashMapIterator[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+1653,
+"HashMapIterator[MClass, Set[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-457, /* MapIterator[MType, Map[MType, Int]] */
-1622, /* HashMapIterator[MType, Map[MType, Int]] */
+472, /* MapIterator[MClass, Set[MClass]] */
+1653, /* HashMapIterator[MClass, Set[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Map[MType, Int]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MClass]] */
 }
 };
-/* runtime type MapIterator[MType, Map[MType, Int]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-457,
-"MapIterator[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type MapIterator[MClass, HashSet[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+1654,
+"MapIterator[MClass, HashSet[MClass]]", /* class_name_string */
+4,
+0,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+472, /* MapIterator[MClass, Set[MClass]] */
+-1, /* empty */
+1654, /* MapIterator[MClass, HashSet[MClass]] */
+},
+};
+/* runtime type MapIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+472,
+"MapIterator[MClass, Set[MClass]]", /* class_name_string */
 2,
 0,
 NULL,
@@ -1732,713 +1556,755 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-457, /* MapIterator[MType, Map[MType, Int]] */
+472, /* MapIterator[MClass, Set[MClass]] */
 },
 };
-/* runtime type HashMapKeys[MType, HashSet[MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
-2385,
-"HashMapKeys[MType, HashSet[MType]]", /* class_name_string */
+/* runtime type HashMapKeys[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+2198,
+"HashMapKeys[MClass, Map[MClass, Int]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType,
-8,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-2106, /* HashMapKeys[MType, Set[MType]] */
-2385, /* HashMapKeys[MType, HashSet[MType]] */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+178, /* Collection[nullable MClass] */
+2198, /* HashMapKeys[MClass, Map[MClass, Int]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, HashSet[MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Map[MClass, Int]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Map[MClass, Int]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
+&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[MType, HashSet[MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
-2386,
-"HashMapValues[MType, HashSet[MType]]", /* class_name_string */
-6,
+/* runtime type HashMapValues[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+1924,
+"HashMapValues[MClass, Map[MClass, Int]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType,
-7,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-1843, /* HashMapValues[MType, Set[MType]] */
-164, /* Collection[Object] */
-1807, /* Collection[HashSet[MType]] */
-2386, /* HashMapValues[MType, HashSet[MType]] */
+1655, /* Collection[Map[MClass, Int]] */
+1924, /* HashMapValues[MClass, Map[MClass, Int]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, HashSet[MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Map[MClass, Int]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Map[MClass, Int]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* RemovableCollection#0: Map[MClass, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Collection#0: Map[MClass, Int] */
+&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[Collection#0]: Collection[Map[MClass, Int]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
-1623,
-"NativeArray[nullable HashMapNode[MType, HashSet[MType]]]", /* class_name_string */
-3,
+/* runtime type Collection[Map[MClass, Int]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int = {
+1655,
+"Collection[Map[MClass, Int]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
-4,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-368, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
-1623, /* NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
+1655, /* Collection[Map[MClass, Int]] */
+-1, /* empty */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+/* runtime type NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+473,
+"NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+473, /* NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray#0: nullable HashMapNode[MType, HashSet[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray#0: nullable HashMapNode[MClass, Map[MClass, Int]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
 }
 };
-/* runtime type HashMapNode[MType, HashSet[MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
-2141,
-"HashMapNode[MType, HashSet[MType]]", /* class_name_string */
-5,
+/* runtime type HashMapNode[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+1656,
+"HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
-6,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-132, /* nullable HashMapNode[MType, Set[MType]] */
-458, /* nullable HashMapNode[MType, HashSet[MType]] */
-1546, /* HashMapNode[MType, Set[MType]] */
-2141, /* HashMapNode[MType, HashSet[MType]] */
+151, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
+1656, /* HashMapNode[MClass, Map[MClass, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* N: HashMapNode[MType, HashSet[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* HashMapNode#1: Map[MClass, Int] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* N: HashMapNode[MClass, Map[MClass, Int]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[MType, HashSet[MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
-458,
-"nullable HashMapNode[MType, HashSet[MType]]", /* class_name_string */
-3,
+/* runtime type nullable HashMapNode[MClass, Map[MClass, Int]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+151,
+"nullable HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
+2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
-4,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 -1, /* empty */
-132, /* nullable HashMapNode[MType, Set[MType]] */
-458, /* nullable HashMapNode[MType, HashSet[MType]] */
+151, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* N: HashMapNode[MType, HashSet[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* HashMapNode#1: Map[MClass, Int] */
+&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* N: HashMapNode[MClass, Map[MClass, Int]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type HashMapIterator[MType, HashSet[MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-2142,
-"HashMapIterator[MType, HashSet[MType]]", /* class_name_string */
-5,
+/* runtime type HashMapIterator[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+1657,
+"HashMapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType,
-6,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-370, /* MapIterator[MType, Set[MType]] */
-1547, /* HashMapIterator[MType, Set[MType]] */
-1624, /* MapIterator[MType, HashSet[MType]] */
-2142, /* HashMapIterator[MType, HashSet[MType]] */
+474, /* MapIterator[MClass, Map[MClass, Int]] */
+1657, /* HashMapIterator[MClass, Map[MClass, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Map[MClass, Int]] */
 }
 };
-/* runtime type MapIterator[MType, HashSet[MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-1624,
-"MapIterator[MType, HashSet[MType]]", /* class_name_string */
-4,
+/* runtime type MapIterator[MClass, Map[MClass, Int]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+474,
+"MapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+2,
 0,
 NULL,
-5,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-370, /* MapIterator[MType, Set[MType]] */
--1, /* empty */
-1624, /* MapIterator[MType, HashSet[MType]] */
+474, /* MapIterator[MClass, Map[MClass, Int]] */
 },
 };
-/* runtime type MapKeysIterator[EscapeMark, String] */
-const struct type type_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
-459,
-"MapKeysIterator[EscapeMark, String]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+1925,
+"MapKeysIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String,
-3,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-459, /* MapKeysIterator[EscapeMark, String] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1642, /* MapKeysIterator[MClass, Set[MProperty]] */
+1925, /* MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
 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_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MVirtualTypeProp]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type MapValuesIterator[EscapeMark, String] */
-const struct type type_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
-460,
-"MapValuesIterator[EscapeMark, String]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+1926,
+"MapValuesIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String,
-3,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-460, /* MapValuesIterator[EscapeMark, String] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1643, /* MapValuesIterator[MClass, Set[MProperty]] */
+1926, /* MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
 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_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MVirtualTypeProp]] */
+&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[Set[MVirtualTypeProp]] */
 }
 };
-/* runtime type MapKeysIterator[Variable, RuntimeVariable] */
-const struct type type_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
-461,
-"MapKeysIterator[Variable, RuntimeVariable]", /* class_name_string */
-2,
+/* runtime type Array[MVirtualTypeProp] */
+const struct type type_array__Arraymodel__MVirtualTypeProp = {
+2718,
+"Array[MVirtualTypeProp]", /* class_name_string */
+17,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable,
-3,
+&resolution_table_array__Arraymodel__MVirtualTypeProp,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-461, /* MapKeysIterator[Variable, RuntimeVariable] */
+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_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__Arraymodel__MVirtualTypeProp = {
 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_array__Arraymodel__MVirtualTypeProp, /* Array[Array#0]: Array[MVirtualTypeProp] */
+&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[Array#0]: NativeArray[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Sequence#0: MVirtualTypeProp */
+&type_model__MVirtualTypeProp, /* SimpleCollection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Array#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Array#0: MVirtualTypeProp */
+&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* AbstractArray#0: MVirtualTypeProp */
+&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Sequence#0]: Collection[MVirtualTypeProp] */
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[Sequence#0]: Array[MVirtualTypeProp] */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* SequenceRead#0: MVirtualTypeProp */
+&type_model__MVirtualTypeProp, /* AbstractArrayRead#0: MVirtualTypeProp */
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[AbstractArrayRead#0]: Array[MVirtualTypeProp] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualTypeProp] not a live type) */
+&type_array__ArrayIteratormodel__MVirtualTypeProp, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualTypeProp] */
 }
 };
-/* runtime type MapValuesIterator[Variable, RuntimeVariable] */
-const struct type type_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
-462,
-"MapValuesIterator[Variable, RuntimeVariable]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[MVirtualTypeProp] */
+const struct type type_array__AbstractArrayReadmodel__MVirtualTypeProp = {
+2682,
+"AbstractArrayRead[MVirtualTypeProp]", /* class_name_string */
+15,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable,
-3,
+NULL,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-462, /* MapValuesIterator[Variable, RuntimeVariable] */
+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 */
+1976, /* Collection[MProperty] */
+2264, /* AbstractArrayRead[PropertyLayoutElement] */
+2277, /* Collection[MVirtualTypeProp] */
+-1, /* empty */
+2630, /* AbstractArrayRead[MProperty] */
+2682, /* AbstractArrayRead[MVirtualTypeProp] */
 },
 };
-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 ArrayIterator[AClassdef] */
-const struct type type_array__ArrayIteratorparser_nodes__AClassdef = {
-2143,
-"ArrayIterator[AClassdef]", /* class_name_string */
-5,
-0,
-&resolution_table_array__ArrayIteratorparser_nodes__AClassdef,
+/* runtime type HashMapKeys[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
+2585,
+"HashMapKeys[MVirtualTypeProp, Int]", /* class_name_string */
 6,
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2143, /* ArrayIterator[AClassdef] */
+179, /* Collection[nullable MProperty] */
+1927, /* HashMapKeys[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+2585, /* HashMapKeys[MVirtualTypeProp, Int] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1976, /* Collection[MProperty] */
+-1, /* empty */
+2277, /* Collection[MVirtualTypeProp] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AClassdef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
+&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MVirtualTypeProp, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MVirtualTypeProp, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
 }
 };
-/* runtime type NativeArray[AClassdef] */
-const struct type type_array__NativeArrayparser_nodes__AClassdef = {
-2144,
-"NativeArray[AClassdef]", /* class_name_string */
-5,
+/* runtime type HashMapKeys[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
+1927,
+"HashMapKeys[PropertyLayoutElement, Int]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AClassdef,
+&resolution_table_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2144, /* NativeArray[AClassdef] */
+-1, /* empty */
+1927, /* HashMapKeys[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_parser_nodes__AClassdef, /* NativeArray#0: AClassdef */
-&type_array__NativeArrayparser_nodes__AClassdef, /* NativeArray[NativeArray#0]: NativeArray[AClassdef] */
+&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[PropertyLayoutElement, Int] */
+&type_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[PropertyLayoutElement, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_layout_builders__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_layout_builders__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
+&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
 }
 };
-/* runtime type ArrayIterator[APropdef] */
-const struct type type_array__ArrayIteratorparser_nodes__APropdef = {
-2145,
-"ArrayIterator[APropdef]", /* class_name_string */
+/* runtime type HashMapValues[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
+2199,
+"HashMapValues[MVirtualTypeProp, Int]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__APropdef,
+&resolution_table_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2145, /* ArrayIterator[APropdef] */
+653, /* Collection[Int] */
+1928, /* HashMapValues[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+2199, /* HashMapValues[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__APropdef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[APropdef] */
-&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
+&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MVirtualTypeProp, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MVirtualTypeProp, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type NativeArray[APropdef] */
-const struct type type_array__NativeArrayparser_nodes__APropdef = {
-2146,
-"NativeArray[APropdef]", /* class_name_string */
-5,
+/* runtime type HashMapValues[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
+1928,
+"HashMapValues[PropertyLayoutElement, Int]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayparser_nodes__APropdef,
-6,
+&resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2146, /* NativeArray[APropdef] */
+653, /* Collection[Int] */
+1928, /* HashMapValues[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_parser_nodes__APropdef, /* NativeArray#0: APropdef */
-&type_array__NativeArrayparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[APropdef] */
+&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[PropertyLayoutElement, Int] */
+&type_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[PropertyLayoutElement, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type ContainerIterator[ANode] */
-const struct type type_abstract_collection__ContainerIteratorparser_nodes__ANode = {
-463,
-"ContainerIterator[ANode]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode,
+/* runtime type NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+1658,
+"NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-463, /* ContainerIterator[ANode] */
+475, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+1658, /* NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerparser_nodes__ANode, /* Container[ContainerIterator#0]: Container[ANode] */
-&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
+&type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray#0: nullable HashMapNode[MVirtualTypeProp, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
 }
 };
-/* runtime type MapKeysIterator[MModule, Set[MClassDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-464,
-"MapKeysIterator[MModule, Set[MClassDef]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+475,
+"NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-464, /* MapKeysIterator[MModule, Set[MClassDef]] */
+475, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
 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_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray#0: nullable HashMapNode[PropertyLayoutElement, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
 }
 };
-/* runtime type MapValuesIterator[MModule, Set[MClassDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-465,
-"MapValuesIterator[MModule, Set[MClassDef]]", /* class_name_string */
-2,
+/* runtime type HashMapNode[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+2200,
+"HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef,
-3,
+&resolution_table_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-465, /* MapValuesIterator[MModule, Set[MClassDef]] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+476, /* nullable HashMapNode[MVirtualTypeProp, Int] */
+1659, /* HashMapNode[PropertyLayoutElement, Int] */
+2200, /* HashMapNode[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
 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_model__MVirtualTypeProp, /* HashMapNode#0: MVirtualTypeProp */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* N: HashMapNode[MVirtualTypeProp, Int] */
+&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
 }
 };
-/* runtime type MapKeysIterator[MModule, Set[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
-466,
-"MapKeysIterator[MModule, Set[MClass]]", /* class_name_string */
-2,
+/* runtime type HashMapNode[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+1659,
+"HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass,
-3,
+&resolution_table_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-466, /* MapKeysIterator[MModule, Set[MClass]] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+-1, /* empty */
+1659, /* HashMapNode[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
 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_layout_builders__PropertyLayoutElement, /* HashMapNode#0: PropertyLayoutElement */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* N: HashMapNode[PropertyLayoutElement, Int] */
+&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
 }
 };
-/* runtime type MapValuesIterator[MModule, Set[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
-467,
-"MapValuesIterator[MModule, Set[MClass]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass,
+/* runtime type nullable HashMapNode[MVirtualTypeProp, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+476,
+"nullable HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
 3,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-467, /* MapValuesIterator[MModule, Set[MClass]] */
+-1, /* empty */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+476, /* nullable HashMapNode[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
 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_model__MVirtualTypeProp, /* HashMapNode#0: MVirtualTypeProp */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* N: HashMapNode[MVirtualTypeProp, Int] */
+&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
 }
 };
-/* runtime type MapKeysIterator[MModule, Set[MClassType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-468,
-"MapKeysIterator[MModule, Set[MClassType]]", /* class_name_string */
+/* runtime type nullable HashMapNode[PropertyLayoutElement, Int] */
+const struct type type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+152,
+"nullable HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
 2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-468, /* MapKeysIterator[MModule, Set[MClassType]] */
+-1, /* empty */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
 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_layout_builders__PropertyLayoutElement, /* HashMapNode#0: PropertyLayoutElement */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* N: HashMapNode[PropertyLayoutElement, Int] */
+&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
 }
 };
-/* runtime type MapValuesIterator[MModule, Set[MClassType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-469,
-"MapValuesIterator[MModule, Set[MClassType]]", /* class_name_string */
-2,
+/* runtime type HashMapIterator[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
+2201,
+"HashMapIterator[MVirtualTypeProp, Int]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType,
-3,
+&resolution_table_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-469, /* MapValuesIterator[MModule, Set[MClassType]] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
+1660, /* HashMapIterator[PropertyLayoutElement, Int] */
+1661, /* MapIterator[MVirtualTypeProp, Int] */
+2201, /* HashMapIterator[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
 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_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MVirtualTypeProp, Int] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Array[nullable MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
-470,
-"MapKeysIterator[MClass, Array[nullable MClass]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass,
+/* runtime type HashMapIterator[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+1660,
+"HashMapIterator[PropertyLayoutElement, Int]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-470, /* MapKeysIterator[MClass, Array[nullable MClass]] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
+1660, /* HashMapIterator[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
 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_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[PropertyLayoutElement, Int] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Array[nullable MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
-471,
-"MapValuesIterator[MClass, Array[nullable MClass]]", /* class_name_string */
-2,
+/* runtime type MapIterator[MVirtualTypeProp, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int = {
+1661,
+"MapIterator[MVirtualTypeProp, Int]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-471, /* MapValuesIterator[MClass, Array[nullable MClass]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
-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]] */
-}
-};
-/* runtime type MapKeysIterator[MClassType, Set[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-1625,
-"MapKeysIterator[MClassType, Set[MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-472, /* MapKeysIterator[MType, Set[MType]] */
-1625, /* MapKeysIterator[MClassType, Set[MType]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Set[MType]] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
-}
-};
-/* runtime type MapKeysIterator[MType, Set[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-472,
-"MapKeysIterator[MType, Set[MType]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-472, /* MapKeysIterator[MType, Set[MType]] */
-},
-};
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Set[MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-}
-};
-/* runtime type MapValuesIterator[MClassType, Set[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-1626,
-"MapValuesIterator[MClassType, Set[MType]]", /* class_name_string */
-3,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
-4,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-473, /* MapValuesIterator[MType, Set[MType]] */
-1626, /* MapValuesIterator[MClassType, Set[MType]] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
+-1, /* empty */
+1661, /* MapIterator[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Set[MType]] */
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
-}
-};
-/* runtime type MapValuesIterator[MType, Set[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-473,
-"MapValuesIterator[MType, Set[MType]]", /* class_name_string */
+/* runtime type MapIterator[PropertyLayoutElement, Int] */
+const struct type type_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+477,
+"MapIterator[PropertyLayoutElement, Int]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-473, /* MapValuesIterator[MType, Set[MType]] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Set[MType]] */
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
-}
-};
-/* runtime type HashMapKeys[MClassType, Int] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
-2475,
-"HashMapKeys[MClassType, Int]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MAttribute, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
+2586,
+"HashMapKeys[MAttribute, Int]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int,
-11,
+&resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-2112, /* HashMapKeys[MType, Int] */
-2475, /* HashMapKeys[MClassType, Int] */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
+179, /* Collection[nullable MProperty] */
+1927, /* HashMapKeys[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+626, /* Collection[PropertyLayoutElement] */
+2586, /* HashMapKeys[MAttribute, Int] */
+-1, /* empty */
 -1, /* empty */
-1737, /* Collection[MType] */
 -1, /* empty */
+1976, /* Collection[MProperty] */
 -1, /* empty */
-1916, /* Collection[MClassType] */
+2281, /* Collection[MAttribute] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Int] */
-&type_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Int] */
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MAttribute, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MAttribute, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
+&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_model__MAttribute, /* Collection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
 }
 };
-/* runtime type HashMapValues[MClassType, Int] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
-2147,
-"HashMapValues[MClassType, Int]", /* class_name_string */
+/* runtime type HashMapValues[MAttribute, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
+2202,
+"HashMapValues[MAttribute, Int]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int,
+&resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1844, /* HashMapValues[MType, Int] */
-164, /* Collection[Object] */
-2147, /* HashMapValues[MClassType, Int] */
+653, /* Collection[Int] */
+1928, /* HashMapValues[PropertyLayoutElement, Int] */
+170, /* Collection[Object] */
+2202, /* HashMapValues[MAttribute, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Int] */
-&type_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Int] */
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MAttribute, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MAttribute, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -2453,105 +2319,105 @@ NULL, /* empty */
 &type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassType, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
-1627,
-"NativeArray[nullable HashMapNode[MClassType, Int]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MAttribute, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+1662,
+"NativeArray[nullable HashMapNode[MAttribute, Int]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-371, /* NativeArray[nullable HashMapNode[MType, Int]] */
-1627, /* NativeArray[nullable HashMapNode[MClassType, Int]] */
+475, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+1662, /* NativeArray[nullable HashMapNode[MAttribute, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MClassType, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Int]] */
+&type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray#0: nullable HashMapNode[MAttribute, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MAttribute, Int]] */
 }
 };
-/* runtime type HashMapNode[MClassType, Int] */
-const struct type type_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
-2148,
-"HashMapNode[MClassType, Int]", /* class_name_string */
+/* runtime type HashMapNode[MAttribute, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+2203,
+"HashMapNode[MAttribute, Int]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+&resolution_table_hash_collection__HashMapNodemodel__MAttributekernel__Int,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-133, /* nullable HashMapNode[MType, Int] */
-474, /* nullable HashMapNode[MClassType, Int] */
-1551, /* HashMapNode[MType, Int] */
-2148, /* HashMapNode[MClassType, 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__MClassTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_model__MAttribute, /* HashMapNode#0: MAttribute */
 &type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* N: HashMapNode[MClassType, Int] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* N: HashMapNode[MAttribute, Int] */
+&type_model__MAttribute, /* HashNode#0: MAttribute */
 }
 };
-/* runtime type nullable HashMapNode[MClassType, Int] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
-474,
-"nullable HashMapNode[MClassType, Int]", /* class_name_string */
+/* runtime type nullable HashMapNode[MAttribute, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+478,
+"nullable HashMapNode[MAttribute, Int]", /* class_name_string */
 3,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int,
 4,
 {
 0, /* nullable Object */
 -1, /* empty */
-133, /* nullable HashMapNode[MType, Int] */
-474, /* nullable HashMapNode[MClassType, Int] */
+152, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+478, /* nullable HashMapNode[MAttribute, Int] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_model__MAttribute, /* HashMapNode#0: MAttribute */
 &type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* N: HashMapNode[MClassType, Int] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* N: HashMapNode[MAttribute, Int] */
+&type_model__MAttribute, /* HashNode#0: MAttribute */
 }
 };
-/* runtime type HashMapIterator[MClassType, Int] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
-2149,
-"HashMapIterator[MClassType, Int]", /* class_name_string */
+/* runtime type HashMapIterator[MAttribute, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
+2204,
+"HashMapIterator[MAttribute, Int]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassTypekernel__Int,
+&resolution_table_hash_collection__HashMapIteratormodel__MAttributekernel__Int,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-372, /* MapIterator[MType, Int] */
-1552, /* HashMapIterator[MType, Int] */
-1628, /* MapIterator[MClassType, Int] */
-2149, /* HashMapIterator[MClassType, 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__MClassTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Int] */
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MAttribute, Int] */
 }
 };
-/* runtime type MapIterator[MClassType, Int] */
-const struct type type_abstract_collection__MapIteratormodel__MClassTypekernel__Int = {
-1628,
-"MapIterator[MClassType, Int]", /* class_name_string */
+/* runtime type MapIterator[MAttribute, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MAttributekernel__Int = {
+1663,
+"MapIterator[MAttribute, Int]", /* class_name_string */
 4,
 0,
 NULL,
@@ -2559,5735 +2425,5756 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-372, /* MapIterator[MType, Int] */
+477, /* MapIterator[PropertyLayoutElement, Int] */
 -1, /* empty */
-1628, /* MapIterator[MClassType, Int] */
+1663, /* MapIterator[MAttribute, Int] */
 },
 };
-/* runtime type HashMapKeys[MClassType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2476,
-"HashMapKeys[MClassType, Map[MType, Int]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MClass, Set[MAttribute]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+1929,
+"MapKeysIterator[MClass, Set[MAttribute]]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-11,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-2140, /* HashMapKeys[MType, Map[MType, Int]] */
-2476, /* HashMapKeys[MClassType, Map[MType, Int]] */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1916, /* Collection[MClassType] */
+448, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1642, /* MapKeysIterator[MClass, Set[MProperty]] */
+1929, /* MapKeysIterator[MClass, Set[MAttribute]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Map[MType, Int]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Map[MType, Int]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MAttribute]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type HashMapValues[MClassType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2150,
-"HashMapValues[MClassType, Map[MType, Int]]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MClass, Set[MAttribute]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+1930,
+"MapValuesIterator[MClass, Set[MAttribute]]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1620, /* Collection[Map[MType, Int]] */
-1874, /* HashMapValues[MType, Map[MType, Int]] */
-164, /* Collection[Object] */
-2150, /* HashMapValues[MClassType, Map[MType, Int]] */
+449, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1643, /* MapValuesIterator[MClass, Set[MProperty]] */
+1930, /* MapValuesIterator[MClass, Set[MAttribute]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Map[MType, Int]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Map[MType, Int]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MAttribute]] */
+&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Iterator#0]: Array[Set[MAttribute]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1629,
-"NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]]", /* class_name_string */
-3,
+/* runtime type Array[MAttribute] */
+const struct type type_array__Arraymodel__MAttribute = {
+2719,
+"Array[MAttribute]", /* class_name_string */
+17,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-4,
+&resolution_table_array__Arraymodel__MAttribute,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-456, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
-1629, /* NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+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__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_array__Arraymodel__MAttribute = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MClassType, Map[MType, Int]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+&type_array__Arraymodel__MAttribute, /* Array[Array#0]: Array[MAttribute] */
+&type_array__NativeArraymodel__MAttribute, /* NativeArray[Array#0]: NativeArray[MAttribute] */
+&type_model__MAttribute, /* Sequence#0: MAttribute */
+&type_model__MAttribute, /* SimpleCollection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Array#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* Array#0: MAttribute */
+&type_array__NativeArraymodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[MAttribute] */
+&type_model__MAttribute, /* AbstractArray#0: MAttribute */
+&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Sequence#0]: Collection[MAttribute] */
+&type_array__Arraymodel__MAttribute, /* Array[Sequence#0]: Array[MAttribute] */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* Collection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* SequenceRead#0: MAttribute */
+&type_model__MAttribute, /* AbstractArrayRead#0: MAttribute */
+&type_array__Arraymodel__MAttribute, /* Array[AbstractArrayRead#0]: Array[MAttribute] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MAttribute] not a live type) */
+&type_array__ArrayIteratormodel__MAttribute, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MAttribute] */
 }
 };
-/* runtime type HashMapNode[MClassType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2151,
-"HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
-5,
+/* runtime type AbstractArrayRead[MAttribute] */
+const struct type type_array__AbstractArrayReadmodel__MAttribute = {
+2683,
+"AbstractArrayRead[MAttribute]", /* class_name_string */
+15,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-6,
+NULL,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-148, /* nullable HashMapNode[MType, Map[MType, Int]] */
-475, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
-1621, /* HashMapNode[MType, Map[MType, Int]] */
-2151, /* HashMapNode[MClassType, Map[MType, Int]] */
+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 */
+1976, /* Collection[MProperty] */
+2264, /* AbstractArrayRead[PropertyLayoutElement] */
+2281, /* Collection[MAttribute] */
+-1, /* empty */
+2630, /* AbstractArrayRead[MProperty] */
+2683, /* AbstractArrayRead[MAttribute] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-0, /* dummy */
-{
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MClassType, Map[MType, Int]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
-}
-};
-/* runtime type nullable HashMapNode[MClassType, Map[MType, Int]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-475,
-"nullable HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
+/* 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,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-4,
 {
 0, /* nullable Object */
--1, /* empty */
-148, /* nullable HashMapNode[MType, Map[MType, Int]] */
-475, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
+1, /* Object */
+479, /* ContainerIterator[MClassType] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__ContainerIteratormodel__MClassType = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MClassType, Map[MType, Int]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_abstract_collection__Containermodel__MClassType, /* Container[ContainerIterator#0]: Container[MClassType] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type HashMapIterator[MClassType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2152,
-"HashMapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
-5,
+/* runtime type ContainerIterator[String] */
+const struct type type_abstract_collection__ContainerIteratorstring__String = {
+480,
+"ContainerIterator[String]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-6,
+&resolution_table_abstract_collection__ContainerIteratorstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-457, /* MapIterator[MType, Map[MType, Int]] */
-1622, /* HashMapIterator[MType, Map[MType, Int]] */
-1630, /* MapIterator[MClassType, Map[MType, Int]] */
-2152, /* HashMapIterator[MClassType, Map[MType, Int]] */
+480, /* ContainerIterator[String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__ContainerIteratorstring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Map[MType, Int]] */
+&type_abstract_collection__Containerstring__String, /* Container[ContainerIterator#0]: Container[String] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
 }
 };
-/* runtime type MapIterator[MClassType, Map[MType, Int]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1630,
-"MapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
-4,
+/* runtime type HashMapKeys[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+2205,
+"HashMapKeys[MType, Map[MType, Int]]", /* class_name_string */
+2,
 0,
-NULL,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-457, /* MapIterator[MType, Map[MType, Int]] */
+2205, /* HashMapKeys[MType, Map[MType, Int]] */
 -1, /* empty */
-1630, /* MapIterator[MClassType, Map[MType, Int]] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
 },
 };
-/* runtime type MapKeysIterator[MType, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
-476,
-"MapKeysIterator[MType, Int]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int,
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Map[MType, Int]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Map[MType, Int]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+}
+};
+/* runtime type HashMapValues[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1931,
+"HashMapValues[MType, Map[MType, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-476, /* MapKeysIterator[MType, Int] */
+1664, /* Collection[Map[MType, Int]] */
+1931, /* HashMapValues[MType, Map[MType, Int]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__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] */
+&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Map[MType, Int]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Map[MType, Int]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
+&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
-477,
-"MapValuesIterator[MType, Int]", /* class_name_string */
+/* runtime type Collection[Map[MType, Int]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int = {
+1664,
+"Collection[Map[MType, Int]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int,
-3,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-477, /* MapValuesIterator[MType, Int] */
+1664, /* Collection[Map[MType, Int]] */
+-1, /* empty */
+170, /* Collection[Object] */
 },
 };
-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 = {
-2153,
-"ArrayIterator[AImport]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+481,
+"NativeArray[nullable HashMapNode[MType, Map[MType, Int]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AImport,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2153, /* ArrayIterator[AImport] */
+481, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AImport = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__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_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MType, Map[MType, Int]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
 }
 };
-/* runtime type NativeArray[AImport] */
-const struct type type_array__NativeArrayparser_nodes__AImport = {
-2154,
-"NativeArray[AImport]", /* class_name_string */
-5,
+/* runtime type HashMapNode[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1665,
+"HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
+4,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AImport,
-6,
+&resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2154, /* NativeArray[AImport] */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
+-1, /* empty */
+1665, /* HashMapNode[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AImport = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_parser_nodes__AImport, /* NativeArray#0: AImport */
-&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[NativeArray#0]: NativeArray[AImport] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
+&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MType, Map[MType, Int]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type MapKeysIterator[MClass, MClassType] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
-478,
-"MapKeysIterator[MClass, MClassType]", /* class_name_string */
+/* runtime type nullable HashMapNode[MType, Map[MType, Int]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+153,
+"nullable HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
 2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-478, /* MapKeysIterator[MClass, MClassType] */
+-1, /* empty */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, MClassType] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
+&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MType, Map[MType, Int]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type MapValuesIterator[MClass, MClassType] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
-479,
-"MapValuesIterator[MClass, MClassType]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType,
+/* runtime type HashMapIterator[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1666,
+"HashMapIterator[MType, Map[MType, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-479, /* MapValuesIterator[MClass, MClassType] */
+482, /* MapIterator[MType, Map[MType, Int]] */
+1666, /* HashMapIterator[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Map[MType, Int]] */
 }
 };
-/* runtime type MapKeysIterator[MClass, AType] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
-480,
-"MapKeysIterator[MClass, AType]", /* class_name_string */
+/* runtime type MapIterator[MType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+482,
+"MapIterator[MType, Map[MType, Int]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-480, /* MapKeysIterator[MClass, AType] */
+482, /* MapIterator[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, AType] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
-}
-};
-/* runtime type MapValuesIterator[MClass, AType] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
-481,
-"MapValuesIterator[MClass, AType]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType,
+/* runtime type HashMapKeys[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
+2450,
+"HashMapKeys[MType, HashSet[MType]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-481, /* MapValuesIterator[MClass, AType] */
+2171, /* HashMapKeys[MType, Set[MType]] */
+2450, /* HashMapKeys[MType, HashSet[MType]] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, AType] */
-&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, HashSet[MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, HashSet[MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type ArrayIterator[Couple[MClass, AType]] */
-const struct type type_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-1875,
-"ArrayIterator[Couple[MClass, AType]]", /* class_name_string */
-4,
+/* runtime type HashMapValues[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
+2451,
+"HashMapValues[MType, HashSet[MType]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-482, /* Iterator[Couple[MClass, AType]] */
-1875, /* ArrayIterator[Couple[MClass, AType]] */
+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_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Couplemodel__MClassparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Couple[MClass, AType]] */
-&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Iterator#0]: Array[Couple[MClass, AType]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, HashSet[MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, HashSet[MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
 }
 };
-/* runtime type Iterator[Couple[MClass, AType]] */
-const struct type type_abstract_collection__Iteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-482,
-"Iterator[Couple[MClass, AType]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+1667,
+"NativeArray[nullable HashMapNode[MType, HashSet[MType]]]", /* class_name_string */
 3,
 0,
-NULL,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-482, /* Iterator[Couple[MClass, AType]] */
+389, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
+1667, /* NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
 },
 };
-/* runtime type NativeArray[Couple[MClass, AType]] */
-const struct type type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-1631,
-"NativeArray[Couple[MClass, AType]]", /* class_name_string */
-3,
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray#0: nullable HashMapNode[MType, HashSet[MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
+}
+};
+/* runtime type HashMapNode[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+2206,
+"HashMapNode[MType, HashSet[MType]]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1631, /* NativeArray[Couple[MClass, AType]] */
+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_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray#0: Couple[MClass, AType] */
-&type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[Couple[MClass, AType]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
+&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* N: HashMapNode[MType, HashSet[MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type ContainerIterator[Scope] */
-const struct type type_abstract_collection__ContainerIteratorscope__Scope = {
+/* runtime type nullable HashMapNode[MType, HashSet[MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
 483,
-"ContainerIterator[Scope]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__ContainerIteratorscope__Scope,
+"nullable HashMapNode[MType, HashSet[MType]]", /* class_name_string */
 3,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-483, /* ContainerIterator[Scope] */
+-1, /* empty */
+137, /* nullable HashMapNode[MType, Set[MType]] */
+483, /* nullable HashMapNode[MType, HashSet[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorscope__Scope = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerscope__Scope, /* Container[ContainerIterator#0]: Container[Scope] */
-&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
+&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* N: HashMapNode[MType, HashSet[MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type Array[Scope] */
-const struct type type_array__Arrayscope__Scope = {
-2514,
-"Array[Scope]", /* class_name_string */
-7,
+/* runtime type HashMapIterator[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+2207,
+"HashMapIterator[MType, HashSet[MType]]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayscope__Scope,
-10,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1420, /* Collection[Scope] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2387, /* AbstractArrayRead[Scope] */
-1728, /* AbstractArrayRead[Object] */
-2514, /* Array[Scope] */
--1, /* empty */
-1911, /* Array[Object] */
+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_array__Arrayscope__Scope = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_array__Arrayscope__Scope, /* Array[Array#0]: Array[Scope] */
-&type_array__NativeArrayscope__Scope, /* NativeArray[Array#0]: NativeArray[Scope] */
-&type_scope__Scope, /* Sequence#0: Scope */
-&type_scope__Scope, /* SimpleCollection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Array#0]: Collection[Scope] */
-&type_scope__Scope, /* Array#0: Scope */
-&type_array__NativeArrayscope__Scope, /* NativeArray[ArrayCapable#0]: NativeArray[Scope] */
-&type_scope__Scope, /* AbstractArray#0: Scope */
-&type_scope__Scope, /* RemovableCollection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Sequence#0]: Collection[Scope] */
-&type_array__Arrayscope__Scope, /* Array[Sequence#0]: Array[Scope] */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[SimpleCollection#0]: Collection[Scope] */
-&type_scope__Scope, /* Collection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Collection#0]: Collection[Scope] */
-&type_scope__Scope, /* SequenceRead#0: Scope */
-&type_scope__Scope, /* AbstractArrayRead#0: Scope */
-&type_array__Arrayscope__Scope, /* Array[AbstractArrayRead#0]: Array[Scope] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Scope] not a live type) */
-&type_array__ArrayIteratorscope__Scope, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Scope] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, HashSet[MType]] */
 }
 };
-/* runtime type AbstractArrayRead[Scope] */
-const struct type type_array__AbstractArrayReadscope__Scope = {
-2387,
-"AbstractArrayRead[Scope]", /* class_name_string */
-5,
+/* runtime type MapIterator[MType, HashSet[MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+1668,
+"MapIterator[MType, HashSet[MType]]", /* class_name_string */
+4,
 0,
 NULL,
-7,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1420, /* Collection[Scope] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2387, /* AbstractArrayRead[Scope] */
-1728, /* AbstractArrayRead[Object] */
+391, /* MapIterator[MType, Set[MType]] */
+-1, /* empty */
+1668, /* MapIterator[MType, HashSet[MType]] */
 },
 };
-/* runtime type HashMapKeys[MClass, POSetElement[MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
-2155,
-"HashMapKeys[MClass, POSetElement[MClass]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[EscapeMark, String] */
+const struct type type_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
+484,
+"MapKeysIterator[EscapeMark, String]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass,
-6,
+&resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2155, /* HashMapKeys[MClass, POSetElement[MClass]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
+484, /* MapKeysIterator[EscapeMark, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, POSetElement[MClass]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, POSetElement[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] */
+&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 HashMapValues[MClass, POSetElement[MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
-1876,
-"HashMapValues[MClass, POSetElement[MClass]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass,
-5,
+&resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1632, /* Collection[POSetElement[MClass]] */
-1876, /* HashMapValues[MClass, POSetElement[MClass]] */
-164, /* Collection[Object] */
+485, /* MapValuesIterator[EscapeMark, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, POSetElement[MClass]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, POSetElement[MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_poset__POSetElementmodel__MClass, /* RemovableCollection#0: POSetElement[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_poset__POSetElementmodel__MClass, /* Collection#0: POSetElement[MClass] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Collection#0]: Collection[POSetElement[MClass]] */
+&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 Collection[POSetElement[MClass]] */
-const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClass = {
-1632,
-"Collection[POSetElement[MClass]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1632, /* Collection[POSetElement[MClass]] */
--1, /* empty */
-164, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
-484,
-"NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]]", /* class_name_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_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-484, /* NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
+486, /* MapKeysIterator[Variable, RuntimeVariable] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, POSetElement[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
+&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 HashMapNode[MClass, POSetElement[MClass]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
-1633,
-"HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-149, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
-1633, /* HashMapNode[MClass, POSetElement[MClass]] */
+487, /* MapValuesIterator[Variable, RuntimeVariable] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_poset__POSetElementmodel__MClass, /* HashMapNode#1: POSetElement[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* N: HashMapNode[MClass, POSetElement[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 nullable HashMapNode[MClass, POSetElement[MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
-149,
-"nullable HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
+/* 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, /* empty */
-149, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
+1, /* Object */
+227, /* Collection[nullable MGroup] */
+2208, /* HashMapKeys[MGroup, POSetElement[MGroup]] */
+170, /* Collection[Object] */
+1800, /* Collection[MGroup] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_poset__POSetElementmodel__MClass, /* HashMapNode#1: POSetElement[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* N: HashMapNode[MClass, POSetElement[MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&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 HashMapIterator[MClass, POSetElement[MClass]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
-1634,
-"HashMapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
+/* 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__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass,
-4,
+&resolution_table_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-485, /* MapIterator[MClass, POSetElement[MClass]] */
-1634, /* HashMapIterator[MClass, POSetElement[MClass]] */
+1669, /* Collection[POSetElement[MGroup]] */
+1932, /* HashMapValues[MGroup, POSetElement[MGroup]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, POSetElement[MClass]] */
+&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 MapIterator[MClass, POSetElement[MClass]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass = {
-485,
-"MapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
+/* runtime type Collection[POSetElement[MGroup]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmproject__MGroup = {
+1669,
+"Collection[POSetElement[MGroup]]", /* class_name_string */
 2,
 0,
 NULL,
-3,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-485, /* MapIterator[MClass, POSetElement[MClass]] */
+1669, /* Collection[POSetElement[MGroup]] */
+-1, /* empty */
+170, /* Collection[Object] */
 },
 };
-/* runtime type ArrayIterator[AExternCodeBlock] */
-const struct type type_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
-2156,
-"ArrayIterator[AExternCodeBlock]", /* class_name_string */
-5,
+/* 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__ArrayIteratorparser_nodes__AExternCodeBlock,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2156, /* ArrayIterator[AExternCodeBlock] */
+488, /* NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AExternCodeBlock, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCodeBlock] */
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Iterator#0]: Array[AExternCodeBlock] */
+&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 NativeArray[AExternCodeBlock] */
-const struct type type_array__NativeArrayparser_nodes__AExternCodeBlock = {
-2157,
-"NativeArray[AExternCodeBlock]", /* class_name_string */
-5,
+/* 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_array__NativeArrayparser_nodes__AExternCodeBlock,
-6,
+&resolution_table_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2157, /* NativeArray[AExternCodeBlock] */
+154, /* nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+1670, /* HashMapNode[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock = {
+const struct types resolution_table_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_parser_nodes__AExternCodeBlock, /* NativeArray#0: AExternCodeBlock */
-&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[NativeArray#0]: NativeArray[AExternCodeBlock] */
+&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[MClass, AClassdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
-486,
-"MapKeysIterator[MClass, AClassdef]", /* 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__MapKeysIteratormodel__MClassparser_nodes__AClassdef,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-486, /* MapKeysIterator[MClass, AClassdef] */
+-1, /* empty */
+154, /* nullable HashMapNode[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 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] */
+&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[MClass, AClassdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
-487,
-"MapValuesIterator[MClass, AClassdef]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef,
+/* 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 */
-487, /* MapValuesIterator[MClass, AClassdef] */
+489, /* MapIterator[MGroup, POSetElement[MGroup]] */
+1671, /* HashMapIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
 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] */
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MGroup, POSetElement[MGroup]] */
 }
 };
-/* runtime type MapKeysIterator[MProperty, APropdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
-488,
-"MapKeysIterator[MProperty, APropdef]", /* 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__MapKeysIteratormodel__MPropertyparser_nodes__APropdef,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-488, /* MapKeysIterator[MProperty, APropdef] */
+489, /* MapIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-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 = {
-489,
-"MapValuesIterator[MProperty, APropdef]", /* class_name_string */
-2,
+/* runtime type HashSet[MGroup] */
+const struct type type_hash_collection__HashSetmproject__MGroup = {
+2545,
+"HashSet[MGroup]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef,
-3,
+&resolution_table_hash_collection__HashSetmproject__MGroup,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-489, /* MapValuesIterator[MProperty, APropdef] */
+227, /* Collection[nullable MGroup] */
+633, /* Set[Object] */
+170, /* Collection[Object] */
+1800, /* Collection[MGroup] */
+1794, /* HashSet[Object] */
+2545, /* HashSet[MGroup] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashSetmproject__MGroup = {
 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_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[AFormaldef] */
-const struct type type_array__ArrayIteratorparser_nodes__AFormaldef = {
-2158,
-"ArrayIterator[AFormaldef]", /* class_name_string */
+/* runtime type ArrayIterator[AClassdef] */
+const struct type type_array__ArrayIteratorparser_nodes__AClassdef = {
+2209,
+"ArrayIterator[AClassdef]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AFormaldef,
+&resolution_table_array__ArrayIteratorparser_nodes__AClassdef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2158, /* ArrayIterator[AFormaldef] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2209, /* ArrayIterator[AClassdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AFormaldef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AFormaldef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AFormaldef] */
-&type_array__Arrayparser_nodes__AFormaldef, /* Array[Iterator#0]: Array[AFormaldef] */
+&type_array__AbstractArrayReadparser_nodes__AClassdef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AClassdef] */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
 }
 };
-/* runtime type NativeArray[AFormaldef] */
-const struct type type_array__NativeArrayparser_nodes__AFormaldef = {
-2159,
-"NativeArray[AFormaldef]", /* class_name_string */
+/* runtime type NativeArray[AClassdef] */
+const struct type type_array__NativeArrayparser_nodes__AClassdef = {
+2210,
+"NativeArray[AClassdef]", /* class_name_string */
 5,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AFormaldef,
+&resolution_table_array__NativeArrayparser_nodes__AClassdef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2159, /* NativeArray[AFormaldef] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2210, /* NativeArray[AClassdef] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AFormaldef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_parser_nodes__AFormaldef, /* NativeArray#0: AFormaldef */
-&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[NativeArray#0]: NativeArray[AFormaldef] */
+&type_parser_nodes__AClassdef, /* NativeArray#0: AClassdef */
+&type_array__NativeArrayparser_nodes__AClassdef, /* NativeArray[NativeArray#0]: NativeArray[AClassdef] */
 }
 };
-/* runtime type ArrayIterator[ASuperclass] */
-const struct type type_array__ArrayIteratorparser_nodes__ASuperclass = {
-2160,
-"ArrayIterator[ASuperclass]", /* class_name_string */
+/* runtime type ArrayIterator[APropdef] */
+const struct type type_array__ArrayIteratorparser_nodes__APropdef = {
+2211,
+"ArrayIterator[APropdef]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__ASuperclass,
+&resolution_table_array__ArrayIteratorparser_nodes__APropdef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2160, /* ArrayIterator[ASuperclass] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2211, /* ArrayIterator[APropdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__ASuperclass = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__ASuperclass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ASuperclass] */
-&type_array__Arrayparser_nodes__ASuperclass, /* Array[Iterator#0]: Array[ASuperclass] */
+&type_array__AbstractArrayReadparser_nodes__APropdef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[APropdef] */
+&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
 }
 };
-/* runtime type NativeArray[ASuperclass] */
-const struct type type_array__NativeArrayparser_nodes__ASuperclass = {
-2161,
-"NativeArray[ASuperclass]", /* class_name_string */
+/* runtime type NativeArray[APropdef] */
+const struct type type_array__NativeArrayparser_nodes__APropdef = {
+2212,
+"NativeArray[APropdef]", /* class_name_string */
 5,
 0,
-&resolution_table_array__NativeArrayparser_nodes__ASuperclass,
+&resolution_table_array__NativeArrayparser_nodes__APropdef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2161, /* NativeArray[ASuperclass] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2212, /* NativeArray[APropdef] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__ASuperclass = {
+const struct types resolution_table_array__NativeArrayparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_parser_nodes__ASuperclass, /* NativeArray#0: ASuperclass */
-&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[NativeArray#0]: NativeArray[ASuperclass] */
+&type_parser_nodes__APropdef, /* NativeArray#0: APropdef */
+&type_array__NativeArrayparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[APropdef] */
 }
 };
-/* runtime type ArrayIterator[AAnnotation] */
-const struct type type_array__ArrayIteratorparser_nodes__AAnnotation = {
-2162,
-"ArrayIterator[AAnnotation]", /* class_name_string */
-5,
+/* runtime type ContainerIterator[ANode] */
+const struct type type_abstract_collection__ContainerIteratorparser_nodes__ANode = {
+490,
+"ContainerIterator[ANode]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AAnnotation,
-6,
+&resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2162, /* ArrayIterator[AAnnotation] */
+490, /* ContainerIterator[ANode] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AAnnotation = {
+const struct types resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AAnnotation, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAnnotation] */
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[Iterator#0]: Array[AAnnotation] */
+&type_abstract_collection__Containerparser_nodes__ANode, /* Container[ContainerIterator#0]: Container[ANode] */
+&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
 }
 };
-/* runtime type NativeArray[AAnnotation] */
-const struct type type_array__NativeArrayparser_nodes__AAnnotation = {
-2163,
-"NativeArray[AAnnotation]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArrayparser_nodes__AAnnotation,
-6,
+/* 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__MClassarray__Arraynullable_model__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2163, /* NativeArray[AAnnotation] */
+491, /* MapKeysIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AAnnotation = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_parser_nodes__AAnnotation, /* NativeArray#0: AAnnotation */
-&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[NativeArray#0]: NativeArray[AAnnotation] */
+&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 ArrayIterator[AParam] */
-const struct type type_array__ArrayIteratorparser_nodes__AParam = {
-2164,
-"ArrayIterator[AParam]", /* class_name_string */
-5,
+/* 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_array__ArrayIteratorparser_nodes__AParam,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2164, /* ArrayIterator[AParam] */
+492, /* MapValuesIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AParam = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
 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__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 NativeArray[AParam] */
-const struct type type_array__NativeArrayparser_nodes__AParam = {
-2165,
-"NativeArray[AParam]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArrayparser_nodes__AParam,
+/* 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 */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2165, /* NativeArray[AParam] */
+289, /* ArrayIterator[Object] */
+379, /* ArrayIterator[nullable MPropDef] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2167, /* ArrayIterator[MPropDef] */
+2452, /* ArrayIterator[MMethodDef] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AParam = {
+const struct types resolution_table_array__ArrayIteratormodel__MMethodDef = {
 0, /* dummy */
 {
-&type_parser_nodes__AParam, /* NativeArray#0: AParam */
-&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[NativeArray#0]: NativeArray[AParam] */
+&type_array__AbstractArrayReadmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
 }
 };
-/* runtime type ArrayIterator[AExternCall] */
-const struct type type_array__ArrayIteratorparser_nodes__AExternCall = {
-2166,
-"ArrayIterator[AExternCall]", /* class_name_string */
-5,
-0,
-&resolution_table_array__ArrayIteratorparser_nodes__AExternCall,
+/* 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 */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2166, /* ArrayIterator[AExternCall] */
+193, /* NativeArray[Object] */
+380, /* NativeArray[nullable MPropDef] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2168, /* NativeArray[MPropDef] */
+2453, /* NativeArray[MMethodDef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCall = {
+const struct types resolution_table_array__NativeArraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AExternCall, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCall] */
-&type_array__Arrayparser_nodes__AExternCall, /* Array[Iterator#0]: Array[AExternCall] */
+&type_model__MMethodDef, /* NativeArray#0: MMethodDef */
+&type_array__NativeArraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[MMethodDef] */
 }
 };
-/* runtime type NativeArray[AExternCall] */
-const struct type type_array__NativeArrayparser_nodes__AExternCall = {
-2167,
-"NativeArray[AExternCall]", /* class_name_string */
-5,
+/* 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_array__NativeArrayparser_nodes__AExternCall,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2167, /* NativeArray[AExternCall] */
+493, /* MapKeysIterator[MModule, Set[MClassDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AExternCall = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_parser_nodes__AExternCall, /* NativeArray#0: AExternCall */
-&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[NativeArray#0]: NativeArray[AExternCall] */
+&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 ArrayIterator[AType] */
-const struct type type_array__ArrayIteratorparser_nodes__AType = {
-2168,
-"ArrayIterator[AType]", /* class_name_string */
-5,
+/* 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_array__ArrayIteratorparser_nodes__AType,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2168, /* ArrayIterator[AType] */
+494, /* MapValuesIterator[MModule, Set[MClassDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AType] */
-&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
+&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 NativeArray[AType] */
-const struct type type_array__NativeArrayparser_nodes__AType = {
-2169,
-"NativeArray[AType]", /* class_name_string */
-5,
+/* 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_array__NativeArrayparser_nodes__AType,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2169, /* NativeArray[AType] */
+495, /* MapKeysIterator[MModule, Set[MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_parser_nodes__AType, /* NativeArray#0: AType */
-&type_array__NativeArrayparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[AType] */
+&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 ArrayIterator[TId] */
-const struct type type_array__ArrayIteratorparser_nodes__TId = {
-2170,
-"ArrayIterator[TId]", /* class_name_string */
-5,
+/* 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_array__ArrayIteratorparser_nodes__TId,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1851, /* ArrayIterator[Token] */
-2170, /* ArrayIterator[TId] */
+496, /* MapValuesIterator[MModule, Set[MClass]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__TId = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
 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__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 NativeArray[TId] */
-const struct type type_array__NativeArrayparser_nodes__TId = {
-2171,
-"NativeArray[TId]", /* class_name_string */
-5,
+/* 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_array__NativeArrayparser_nodes__TId,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1852, /* NativeArray[Token] */
-2171, /* NativeArray[TId] */
+497, /* MapKeysIterator[MModule, Set[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__TId = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
 0, /* dummy */
 {
-&type_parser_nodes__TId, /* NativeArray#0: TId */
-&type_array__NativeArrayparser_nodes__TId, /* NativeArray[NativeArray#0]: NativeArray[TId] */
+&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 ArrayIterator[AAtArg] */
-const struct type type_array__ArrayIteratorparser_nodes__AAtArg = {
-2172,
-"ArrayIterator[AAtArg]", /* class_name_string */
-5,
+/* 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_array__ArrayIteratorparser_nodes__AAtArg,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2172, /* ArrayIterator[AAtArg] */
+498, /* MapValuesIterator[MModule, Set[MClassType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AAtArg = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AAtArg, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAtArg] */
-&type_array__Arrayparser_nodes__AAtArg, /* Array[Iterator#0]: Array[AAtArg] */
+&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 NativeArray[AAtArg] */
-const struct type type_array__NativeArrayparser_nodes__AAtArg = {
-2173,
-"NativeArray[AAtArg]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MClassType, Set[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
+1672,
+"MapKeysIterator[MClassType, Set[MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayparser_nodes__AAtArg,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2173, /* NativeArray[AAtArg] */
+499, /* MapKeysIterator[MType, Set[MType]] */
+1672, /* MapKeysIterator[MClassType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AAtArg = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__AAtArg, /* NativeArray#0: AAtArg */
-&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[NativeArray#0]: NativeArray[AAtArg] */
+&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Set[MType]] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type ArrayIterator[TComment] */
-const struct type type_array__ArrayIteratorparser_nodes__TComment = {
-2174,
-"ArrayIterator[TComment]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MType, Set[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
+499,
+"MapKeysIterator[MType, Set[MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__TComment,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1851, /* ArrayIterator[Token] */
-2174, /* ArrayIterator[TComment] */
+499, /* MapKeysIterator[MType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__TComment = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
 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__MTypeabstract_collection__Setmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Set[MType]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type NativeArray[TComment] */
-const struct type type_array__NativeArrayparser_nodes__TComment = {
-2175,
-"NativeArray[TComment]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MClassType, Set[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
+1673,
+"MapValuesIterator[MClassType, Set[MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayparser_nodes__TComment,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1852, /* NativeArray[Token] */
-2175, /* NativeArray[TComment] */
+500, /* MapValuesIterator[MType, Set[MType]] */
+1673, /* MapValuesIterator[MClassType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__TComment = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__TComment, /* NativeArray#0: TComment */
-&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[NativeArray#0]: NativeArray[TComment] */
+&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Set[MType]] */
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
 }
 };
-/* runtime type ArrayIterator[MMethodDef] */
-const struct type type_array__ArrayIteratormodel__MMethodDef = {
-2388,
-"ArrayIterator[MMethodDef]", /* class_name_string */
-6,
+/* runtime type MapValuesIterator[MType, Set[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
+500,
+"MapValuesIterator[MType, Set[MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratormodel__MMethodDef,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-363, /* ArrayIterator[nullable MPropDef] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2102, /* ArrayIterator[MPropDef] */
-2388, /* ArrayIterator[MMethodDef] */
+500, /* MapValuesIterator[MType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MMethodDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Set[MType]] */
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
 }
 };
-/* runtime type NativeArray[MMethodDef] */
-const struct type type_array__NativeArraymodel__MMethodDef = {
-2389,
-"NativeArray[MMethodDef]", /* class_name_string */
-6,
+/* runtime type HashMapKeys[MClassType, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
+2546,
+"HashMapKeys[MClassType, Int]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArraymodel__MMethodDef,
-7,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-364, /* NativeArray[nullable MPropDef] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2103, /* NativeArray[MPropDef] */
-2389, /* NativeArray[MMethodDef] */
+2177, /* HashMapKeys[MType, Int] */
+2546, /* HashMapKeys[MClassType, Int] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
+-1, /* empty */
+-1, /* empty */
+1978, /* Collection[MClassType] */
 },
 };
-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 HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-490,
-"HashMap[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-490, /* HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Int] */
 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]]] */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type HashMap[MType, Array[MMethodDef]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-491,
-"HashMap[MType, Array[MMethodDef]]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MClassType, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
+2213,
+"HashMapValues[MClassType, Int]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-491, /* HashMap[MType, Array[MMethodDef]] */
+653, /* Collection[Int] */
+1901, /* HashMapValues[MType, Int] */
+170, /* Collection[Object] */
+2213, /* HashMapValues[MClassType, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Int] */
 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]] */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type MapKeysIterator[String, Variable] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
-492,
-"MapKeysIterator[String, Variable]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable,
+/* runtime type NativeArray[nullable HashMapNode[MClassType, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+1674,
+"NativeArray[nullable HashMapNode[MClassType, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-492, /* MapKeysIterator[String, Variable] */
+392, /* NativeArray[nullable HashMapNode[MType, Int]] */
+1674, /* NativeArray[nullable HashMapNode[MClassType, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
 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_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MClassType, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Int]] */
 }
 };
-/* runtime type MapValuesIterator[String, Variable] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
-493,
-"MapValuesIterator[String, Variable]", /* class_name_string */
-2,
+/* runtime type HashMapNode[MClassType, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+2214,
+"HashMapNode[MClassType, Int]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable,
-3,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-493, /* MapValuesIterator[String, Variable] */
+138, /* nullable HashMapNode[MType, Int] */
+501, /* nullable HashMapNode[MClassType, Int] */
+1593, /* HashMapNode[MType, Int] */
+2214, /* HashMapNode[MClassType, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
 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_model__MClassType, /* HashMapNode#0: MClassType */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* N: HashMapNode[MClassType, Int] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type MapKeysIterator[Variable, nullable MType] */
-const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
-494,
-"MapKeysIterator[Variable, nullable MType]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType,
+/* runtime type nullable HashMapNode[MClassType, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+501,
+"nullable HashMapNode[MClassType, Int]", /* class_name_string */
 3,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-494, /* MapKeysIterator[Variable, nullable MType] */
+-1, /* empty */
+138, /* nullable HashMapNode[MType, Int] */
+501, /* nullable HashMapNode[MClassType, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
 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_model__MClassType, /* HashMapNode#0: MClassType */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* N: HashMapNode[MClassType, Int] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type MapValuesIterator[Variable, nullable MType] */
-const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
-495,
-"MapValuesIterator[Variable, nullable MType]", /* class_name_string */
-2,
+/* runtime type HashMapIterator[MClassType, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
+2215,
+"HashMapIterator[MClassType, Int]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType,
-3,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-495, /* MapValuesIterator[Variable, nullable MType] */
+393, /* MapIterator[MType, Int] */
+1594, /* HashMapIterator[MType, Int] */
+1675, /* MapIterator[MClassType, Int] */
+2215, /* HashMapIterator[MClassType, Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
 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_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Int] */
 }
 };
-/* runtime type MapKeysIterator[Variable, nullable Array[nullable MType]] */
-const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
-496,
-"MapKeysIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type MapIterator[MClassType, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypekernel__Int = {
+1675,
+"MapIterator[MClassType, Int]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+393, /* MapIterator[MType, Int] */
+-1, /* empty */
+1675, /* MapIterator[MClassType, Int] */
+},
+};
+/* runtime type HashMapKeys[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+2547,
+"HashMapKeys[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-496, /* MapKeysIterator[Variable, nullable Array[nullable MType]] */
+2205, /* HashMapKeys[MType, Map[MType, Int]] */
+2547, /* HashMapKeys[MClassType, Map[MType, Int]] */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
+-1, /* empty */
+-1, /* empty */
+1978, /* Collection[MClassType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 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_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Map[MType, Int]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Map[MType, Int]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type MapValuesIterator[Variable, nullable Array[nullable MType]] */
-const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
-497,
-"MapValuesIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+2216,
+"HashMapValues[MClassType, Map[MType, Int]]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType,
-3,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-497, /* MapValuesIterator[Variable, nullable Array[nullable MType]] */
+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_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 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_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Map[MType, Int]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Map[MType, Int]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
+&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
 }
 };
-/* runtime type ArrayIterator[MAttributeDef] */
-const struct type type_array__ArrayIteratormodel__MAttributeDef = {
-2390,
-"ArrayIterator[MAttributeDef]", /* class_name_string */
-6,
+/* runtime type NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1676,
+"NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratormodel__MAttributeDef,
-7,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-363, /* ArrayIterator[nullable MPropDef] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2102, /* ArrayIterator[MPropDef] */
-2390, /* ArrayIterator[MAttributeDef] */
+481, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+1676, /* NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MAttributeDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttributeDef] */
-&type_array__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[MAttributeDef] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MClassType, Map[MType, Int]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
 }
 };
-/* runtime type NativeArray[MAttributeDef] */
-const struct type type_array__NativeArraymodel__MAttributeDef = {
-2391,
-"NativeArray[MAttributeDef]", /* class_name_string */
-6,
+/* runtime type HashMapNode[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+2217,
+"HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraymodel__MAttributeDef,
-7,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-364, /* NativeArray[nullable MPropDef] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2103, /* NativeArray[MPropDef] */
-2391, /* NativeArray[MAttributeDef] */
+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_array__NativeArraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_model__MAttributeDef, /* NativeArray#0: MAttributeDef */
-&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[MAttributeDef] */
-}
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
+&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MClassType, Map[MType, Int]] */
+&type_model__MClassType, /* HashNode#0: MClassType */
+}
 };
-/* runtime type HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-498,
-"HashMap[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+/* runtime type nullable HashMapNode[MClassType, Map[MType, Int]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+502,
+"nullable HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+4,
 {
 0, /* nullable Object */
-1, /* Object */
-498, /* HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+-1, /* empty */
+153, /* nullable HashMapNode[MType, Map[MType, Int]] */
+502, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 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_model__MClassType, /* HashMapNode#0: MClassType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
+&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* N: HashMapNode[MClassType, Map[MType, Int]] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type HashMap[MType, Array[MAttributeDef]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-499,
-"HashMap[MType, Array[MAttributeDef]]", /* class_name_string */
-2,
+/* runtime type HashMapIterator[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+2218,
+"HashMapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-3,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-499, /* HashMap[MType, Array[MAttributeDef]] */
+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__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 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_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Map[MType, Int]] */
 }
 };
-/* runtime type ContainerIterator[Int] */
-const struct type type_abstract_collection__ContainerIteratorkernel__Int = {
-500,
-"ContainerIterator[Int]", /* class_name_string */
-2,
+/* runtime type MapIterator[MClassType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1677,
+"MapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__ContainerIteratorkernel__Int,
-3,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-500, /* ContainerIterator[Int] */
+482, /* MapIterator[MType, Map[MType, Int]] */
+-1, /* empty */
+1677, /* MapIterator[MClassType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorkernel__Int = {
-0, /* dummy */
-{
-&type_abstract_collection__Containerkernel__Int, /* Container[ContainerIterator#0]: Container[Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
-}
-};
-/* runtime type ArrayIterator[MVirtualTypeDef] */
-const struct type type_array__ArrayIteratormodel__MVirtualTypeDef = {
-2392,
-"ArrayIterator[MVirtualTypeDef]", /* class_name_string */
-6,
+/* 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__ArrayIteratormodel__MVirtualTypeDef,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-363, /* ArrayIterator[nullable MPropDef] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2102, /* ArrayIterator[MPropDef] */
-2392, /* ArrayIterator[MVirtualTypeDef] */
+503, /* MapKeysIterator[MType, Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MVirtualTypeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualTypeDef] */
-&type_array__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[MVirtualTypeDef] */
+&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[MVirtualTypeDef] */
-const struct type type_array__NativeArraymodel__MVirtualTypeDef = {
-2393,
-"NativeArray[MVirtualTypeDef]", /* class_name_string */
-6,
+/* 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__NativeArraymodel__MVirtualTypeDef,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-364, /* NativeArray[nullable MPropDef] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2103, /* NativeArray[MPropDef] */
-2393, /* NativeArray[MVirtualTypeDef] */
+504, /* MapValuesIterator[MType, Int] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_model__MVirtualTypeDef, /* NativeArray#0: MVirtualTypeDef */
-&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[MVirtualTypeDef] */
+&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 HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-501,
-"HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, MClassType] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
+505,
+"MapKeysIterator[MClass, MClassType]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-501, /* HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+505, /* MapKeysIterator[MClass, MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
 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__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]]] */
-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_abstract_collection__MapIteratormodel__MClassmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, MClassType] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type HashMap[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-502,
-"HashMap[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, MClassType] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
+506,
+"MapValuesIterator[MClass, MClassType]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-502, /* HashMap[MType, Array[MVirtualTypeDef]] */
+506, /* MapValuesIterator[MClass, MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MVirtualTypeDef]] */
-&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MVirtualTypeDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MVirtualTypeDef]] */
-&type_model__MType, /* Map#0: MType */
-&type_array__Arraymodel__MVirtualTypeDef, /* Map#1: Array[MVirtualTypeDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MVirtualTypeDef]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MVirtualTypeDef]] not a live type) */
-&type_array__Arraymodel__MVirtualTypeDef, /* MapRead#1: Array[MVirtualTypeDef] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashCollection#1: HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapIteratormodel__MClassmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, MClassType] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type MapKeysIterator[Phase, POSetElement[Phase]] */
-const struct type type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
-503,
-"MapKeysIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, AType] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
+507,
+"MapKeysIterator[MClass, AType]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-503, /* MapKeysIterator[Phase, POSetElement[Phase]] */
+507, /* MapKeysIterator[MClass, AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Phase, POSetElement[Phase]] */
-&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, AType] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type MapValuesIterator[Phase, POSetElement[Phase]] */
-const struct type type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
-504,
-"MapValuesIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, AType] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
+508,
+"MapValuesIterator[MClass, AType]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-504, /* MapValuesIterator[Phase, POSetElement[Phase]] */
+508, /* MapValuesIterator[MClass, AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Phase, POSetElement[Phase]] */
-&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Iterator#0]: Array[POSetElement[Phase]] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, AType] */
+&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
 }
 };
-/* runtime type HashSetNode[Phase] */
-const struct type type_hash_collection__HashSetNodephase__Phase = {
-2176,
-"HashSetNode[Phase]", /* class_name_string */
-5,
+/* runtime type ArrayIterator[Couple[MClass, AType]] */
+const struct type type_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+1933,
+"ArrayIterator[Couple[MClass, AType]]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashSetNodephase__Phase,
-6,
+&resolution_table_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashSetNode[Object] */
-505, /* nullable HashSetNode[Phase] */
-1456, /* HashSetNode[Object] */
-2176, /* HashSetNode[Phase] */
+289, /* ArrayIterator[Object] */
+509, /* Iterator[Couple[MClass, AType]] */
+1933, /* ArrayIterator[Couple[MClass, AType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodephase__Phase = {
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_phase__Phase, /* HashSetNode#0: Phase */
-NULL, /* empty */
-&type_hash_collection__HashSetNodephase__Phase, /* N: HashSetNode[Phase] */
-&type_phase__Phase, /* HashNode#0: Phase */
+&type_array__AbstractArrayReadabstract_collection__Couplemodel__MClassparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Couple[MClass, AType]] */
+&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Iterator#0]: Array[Couple[MClass, AType]] */
 }
 };
-/* runtime type nullable HashSetNode[Phase] */
-const struct type type_nullable_hash_collection__HashSetNodephase__Phase = {
-505,
-"nullable HashSetNode[Phase]", /* class_name_string */
+/* runtime type Iterator[Couple[MClass, AType]] */
+const struct type type_abstract_collection__Iteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+509,
+"Iterator[Couple[MClass, AType]]", /* class_name_string */
 3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodephase__Phase,
+0,
+NULL,
 4,
 {
 0, /* nullable Object */
+1, /* Object */
 -1, /* empty */
-116, /* nullable HashSetNode[Object] */
-505, /* nullable HashSetNode[Phase] */
+509, /* Iterator[Couple[MClass, AType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodephase__Phase = {
-0, /* dummy */
-{
-&type_phase__Phase, /* HashSetNode#0: Phase */
-NULL, /* empty */
-&type_hash_collection__HashSetNodephase__Phase, /* N: HashSetNode[Phase] */
-&type_phase__Phase, /* HashNode#0: Phase */
-}
-};
-/* runtime type HashSetIterator[Phase] */
-const struct type type_hash_collection__HashSetIteratorphase__Phase = {
-1635,
-"HashSetIterator[Phase]", /* class_name_string */
+/* runtime type NativeArray[Couple[MClass, AType]] */
+const struct type type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+1678,
+"NativeArray[Couple[MClass, AType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashSetIteratorphase__Phase,
+&resolution_table_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* HashSetIterator[Object] */
-1635, /* HashSetIterator[Phase] */
+193, /* NativeArray[Object] */
+1678, /* NativeArray[Couple[MClass, AType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratorphase__Phase = {
+const struct types resolution_table_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetphase__Phase, /* HashSet[HashSetIterator#0]: HashSet[Phase] */
-&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
+&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray#0: Couple[MClass, AType] */
+&type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[Couple[MClass, AType]] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[Phase]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
-1636,
-"NativeArray[nullable HashSetNode[Phase]]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[Scope] */
+const struct type type_abstract_collection__ContainerIteratorscope__Scope = {
+510,
+"ContainerIterator[Scope]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase,
-4,
+&resolution_table_abstract_collection__ContainerIteratorscope__Scope,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1636, /* NativeArray[nullable HashSetNode[Phase]] */
+510, /* ContainerIterator[Scope] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
+const struct types resolution_table_abstract_collection__ContainerIteratorscope__Scope = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodephase__Phase, /* NativeArray#0: nullable HashSetNode[Phase] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Phase]] */
+&type_abstract_collection__Containerscope__Scope, /* Container[ContainerIterator#0]: Container[Scope] */
+&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
 }
 };
-/* runtime type MapKeysIterator[MModule, POSetElement[MModule]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-506,
-"MapKeysIterator[MModule, POSetElement[MModule]]", /* class_name_string */
-2,
+/* runtime type Array[Scope] */
+const struct type type_array__Arrayscope__Scope = {
+2587,
+"Array[Scope]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule,
-3,
+&resolution_table_array__Arrayscope__Scope,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-506, /* MapKeysIterator[MModule, POSetElement[MModule]] */
+673, /* Collection[Scope] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2454, /* AbstractArrayRead[Scope] */
+1782, /* AbstractArrayRead[Object] */
+2587, /* Array[Scope] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_array__Arrayscope__Scope = {
 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_array__Arrayscope__Scope, /* Array[Array#0]: Array[Scope] */
+&type_array__NativeArrayscope__Scope, /* NativeArray[Array#0]: NativeArray[Scope] */
+&type_scope__Scope, /* Sequence#0: Scope */
+&type_scope__Scope, /* SimpleCollection#0: Scope */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[Array#0]: Collection[Scope] */
+&type_scope__Scope, /* Array#0: Scope */
+&type_array__NativeArrayscope__Scope, /* NativeArray[ArrayCapable#0]: NativeArray[Scope] */
+&type_scope__Scope, /* AbstractArray#0: Scope */
+&type_scope__Scope, /* RemovableCollection#0: Scope */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[Sequence#0]: Collection[Scope] */
+&type_array__Arrayscope__Scope, /* Array[Sequence#0]: Array[Scope] */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[SimpleCollection#0]: Collection[Scope] */
+&type_scope__Scope, /* Collection#0: Scope */
+&type_abstract_collection__Collectionscope__Scope, /* Collection[Collection#0]: Collection[Scope] */
+&type_scope__Scope, /* SequenceRead#0: Scope */
+&type_scope__Scope, /* AbstractArrayRead#0: Scope */
+&type_array__Arrayscope__Scope, /* Array[AbstractArrayRead#0]: Array[Scope] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Scope] not a live type) */
+&type_array__ArrayIteratorscope__Scope, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Scope] */
 }
 };
-/* runtime type MapValuesIterator[MModule, POSetElement[MModule]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-507,
-"MapValuesIterator[MModule, POSetElement[MModule]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Scope] */
+const struct type type_array__AbstractArrayReadscope__Scope = {
+2454,
+"AbstractArrayRead[Scope]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule,
-3,
+NULL,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-507, /* MapValuesIterator[MModule, POSetElement[MModule]] */
+673, /* Collection[Scope] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2454, /* AbstractArrayRead[Scope] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__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]] */
-}
-};
-/* runtime type Array[Array[MModule]] */
-const struct type type_array__Arrayarray__Arraymodel_base__MModule = {
-2515,
-"Array[Array[MModule]]", /* class_name_string */
-7,
+/* runtime type HashMapKeys[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
+2219,
+"HashMapKeys[MClass, POSetElement[MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayarray__Arraymodel_base__MModule,
-10,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1432, /* Collection[Array[MModule]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2394, /* AbstractArrayRead[Array[MModule]] */
-1728, /* AbstractArrayRead[Object] */
-2515, /* Array[Array[MModule]] */
--1, /* empty */
-1911, /* Array[Object] */
+178, /* Collection[nullable MClass] */
+2219, /* HashMapKeys[MClass, POSetElement[MClass]] */
+170, /* Collection[Object] */
+1787, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraymodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
 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]] */
-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_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, POSetElement[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, POSetElement[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[Array[MModule]] */
-const struct type type_array__AbstractArrayReadarray__Arraymodel_base__MModule = {
-2394,
-"AbstractArrayRead[Array[MModule]]", /* class_name_string */
-5,
+/* runtime type HashMapValues[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
+1934,
+"HashMapValues[MClass, POSetElement[MClass]]", /* class_name_string */
+3,
 0,
-NULL,
-7,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1432, /* Collection[Array[MModule]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2394, /* AbstractArrayRead[Array[MModule]] */
-1728, /* AbstractArrayRead[Object] */
+1679, /* Collection[POSetElement[MClass]] */
+1934, /* HashMapValues[MClass, POSetElement[MClass]] */
+170, /* Collection[Object] */
 },
 };
-/* runtime type MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-508,
-"MapKeysIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, POSetElement[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, POSetElement[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmodel__MClass, /* RemovableCollection#0: POSetElement[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmodel__MClass, /* Collection#0: POSetElement[MClass] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Collection#0]: Collection[POSetElement[MClass]] */
+}
+};
+/* runtime type Collection[POSetElement[MClass]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClass = {
+1679,
+"Collection[POSetElement[MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
-3,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-508, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
+1679, /* Collection[POSetElement[MClass]] */
+-1, /* empty */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, POSetElement[MClassDef]] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
-}
-};
-/* runtime type MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-509,
-"MapValuesIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+511,
+"NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-509, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
+511, /* NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, POSetElement[MClassDef]] */
-&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Iterator#0]: Array[POSetElement[MClassDef]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, POSetElement[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 }
 };
-/* runtime type MapKeysIterator[MClassType, POSetElement[MClassType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1637,
-"MapKeysIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+/* runtime type HashMapNode[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+1680,
+"HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
+&resolution_table_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-510, /* MapKeysIterator[MType, POSetElement[MType]] */
-1637, /* MapKeysIterator[MClassType, POSetElement[MClassType]] */
+155, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
+1680, /* HashMapNode[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, POSetElement[MClassType]] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_poset__POSetElementmodel__MClass, /* HashMapNode#1: POSetElement[MClass] */
+&type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* N: HashMapNode[MClass, POSetElement[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type MapKeysIterator[MType, POSetElement[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
-510,
-"MapKeysIterator[MType, POSetElement[MType]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClass, POSetElement[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+155,
+"nullable HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-510, /* MapKeysIterator[MType, POSetElement[MType]] */
+-1, /* empty */
+155, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, POSetElement[MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_poset__POSetElementmodel__MClass, /* HashMapNode#1: POSetElement[MClass] */
+&type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* N: HashMapNode[MClass, POSetElement[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type MapValuesIterator[MClassType, POSetElement[MClassType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1638,
-"MapValuesIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+/* runtime type HashMapIterator[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
+1681,
+"HashMapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-511, /* MapValuesIterator[MType, POSetElement[MType]] */
-1638, /* MapValuesIterator[MClassType, POSetElement[MClassType]] */
+512, /* MapIterator[MClass, POSetElement[MClass]] */
+1681, /* HashMapIterator[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, POSetElement[MClassType]] */
-&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Iterator#0]: Array[POSetElement[MClassType]] */
+&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, POSetElement[MClass]] */
 }
 };
-/* runtime type MapValuesIterator[MType, POSetElement[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
-511,
-"MapValuesIterator[MType, POSetElement[MType]]", /* class_name_string */
+/* runtime type MapIterator[MClass, POSetElement[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass = {
+512,
+"MapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-511, /* MapValuesIterator[MType, POSetElement[MType]] */
+512, /* MapIterator[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, POSetElement[MType]] */
-&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Iterator#0]: Array[POSetElement[MType]] */
-}
-};
-/* runtime type Array[Array[MClass]] */
-const struct type type_array__Arrayarray__Arraymodel__MClass = {
-2584,
-"Array[Array[MClass]]", /* class_name_string */
-11,
+/* runtime type ArrayIterator[AImport] */
+const struct type type_array__ArrayIteratorparser_nodes__AImport = {
+2220,
+"ArrayIterator[AImport]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayarray__Arraymodel__MClass,
-12,
+&resolution_table_array__ArrayIteratorparser_nodes__AImport,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1439, /* Collection[Array[nullable MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1787, /* Collection[Array[MClass]] */
-1728, /* AbstractArrayRead[Object] */
-2395, /* AbstractArrayRead[Array[nullable MClass]] */
-2516, /* Array[Array[nullable MClass]] */
-1911, /* Array[Object] */
-2517, /* AbstractArrayRead[Array[MClass]] */
-2584, /* Array[Array[MClass]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2220, /* ArrayIterator[AImport] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraymodel__MClass = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AImport = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Array#0]: Array[Array[MClass]] */
-&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[Array#0]: NativeArray[Array[MClass]] */
-&type_array__Arraymodel__MClass, /* Sequence#0: Array[MClass] */
-&type_array__Arraymodel__MClass, /* SimpleCollection#0: Array[MClass] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Array#0]: Collection[Array[MClass]] */
-&type_array__Arraymodel__MClass, /* Array#0: Array[MClass] */
-&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MClass]] */
-&type_array__Arraymodel__MClass, /* AbstractArray#0: Array[MClass] */
-&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Sequence#0]: Collection[Array[MClass]] */
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Sequence#0]: Array[Array[MClass]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[SimpleCollection#0]: Collection[Array[MClass]] */
-&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
-&type_array__Arraymodel__MClass, /* SequenceRead#0: Array[MClass] */
-&type_array__Arraymodel__MClass, /* AbstractArrayRead#0: Array[MClass] */
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[AbstractArrayRead#0]: Array[Array[MClass]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClass]] not a live type) */
-&type_array__ArrayIteratorarray__Arraymodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MClass]] */
+&type_array__AbstractArrayReadparser_nodes__AImport, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AImport] */
+&type_array__Arrayparser_nodes__AImport, /* Array[Iterator#0]: Array[AImport] */
 }
 };
-/* runtime type Array[Array[nullable MClass]] */
-const struct type type_array__Arrayarray__Arraynullable_model__MClass = {
-2516,
-"Array[Array[nullable MClass]]", /* class_name_string */
-8,
+/* runtime type NativeArray[AImport] */
+const struct type type_array__NativeArrayparser_nodes__AImport = {
+2221,
+"NativeArray[AImport]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayarray__Arraynullable_model__MClass,
-10,
+&resolution_table_array__NativeArrayparser_nodes__AImport,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1439, /* Collection[Array[nullable MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2395, /* AbstractArrayRead[Array[nullable MClass]] */
-2516, /* Array[Array[nullable MClass]] */
-1911, /* Array[Object] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2221, /* NativeArray[AImport] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraynullable_model__MClass = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AImport = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Array#0]: Array[Array[nullable MClass]] */
-&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[Array#0]: NativeArray[Array[nullable MClass]] */
-&type_array__Arraynullable_model__MClass, /* Sequence#0: Array[nullable MClass] */
-&type_array__Arraynullable_model__MClass, /* SimpleCollection#0: Array[nullable MClass] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Array#0]: Collection[Array[nullable MClass]] */
-&type_array__Arraynullable_model__MClass, /* Array#0: Array[nullable MClass] */
-&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MClass]] */
-&type_array__Arraynullable_model__MClass, /* AbstractArray#0: Array[nullable MClass] */
-&type_array__Arraynullable_model__MClass, /* RemovableCollection#0: Array[nullable MClass] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Sequence#0]: Collection[Array[nullable MClass]] */
-&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Sequence#0]: Array[Array[nullable MClass]] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[SimpleCollection#0]: Collection[Array[nullable MClass]] */
-&type_array__Arraynullable_model__MClass, /* Collection#0: Array[nullable MClass] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Collection#0]: Collection[Array[nullable MClass]] */
-&type_array__Arraynullable_model__MClass, /* SequenceRead#0: Array[nullable MClass] */
-&type_array__Arraynullable_model__MClass, /* AbstractArrayRead#0: Array[nullable MClass] */
-&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[AbstractArrayRead#0]: Array[Array[nullable MClass]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MClass]] not a live type) */
-&type_array__ArrayIteratorarray__Arraynullable_model__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MClass]] */
+&type_parser_nodes__AImport, /* NativeArray#0: AImport */
+&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[NativeArray#0]: NativeArray[AImport] */
 }
 };
-/* runtime type AbstractArrayRead[Array[MClass]] */
-const struct type type_array__AbstractArrayReadarray__Arraymodel__MClass = {
-2517,
-"AbstractArrayRead[Array[MClass]]", /* class_name_string */
-10,
+/* runtime type ArrayIterator[AFormaldef] */
+const struct type type_array__ArrayIteratorparser_nodes__AFormaldef = {
+2222,
+"ArrayIterator[AFormaldef]", /* class_name_string */
+5,
 0,
-NULL,
-11,
+&resolution_table_array__ArrayIteratorparser_nodes__AFormaldef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1439, /* Collection[Array[nullable MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1787, /* Collection[Array[MClass]] */
-1728, /* AbstractArrayRead[Object] */
-2395, /* AbstractArrayRead[Array[nullable MClass]] */
--1, /* empty */
--1, /* empty */
-2517, /* AbstractArrayRead[Array[MClass]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2222, /* ArrayIterator[AFormaldef] */
 },
 };
-/* runtime type AbstractArrayRead[Array[nullable MClass]] */
-const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MClass = {
-2395,
-"AbstractArrayRead[Array[nullable MClass]]", /* class_name_string */
-7,
-0,
-NULL,
-8,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AFormaldef = {
+0, /* dummy */
 {
-0, /* nullable Object */
-1, /* Object */
-1439, /* Collection[Array[nullable MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2395, /* AbstractArrayRead[Array[nullable MClass]] */
-},
+&type_array__AbstractArrayReadparser_nodes__AFormaldef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AFormaldef] */
+&type_array__Arrayparser_nodes__AFormaldef, /* Array[Iterator#0]: Array[AFormaldef] */
+}
 };
-/* runtime type Array[Array[MProperty]] */
-const struct type type_array__Arrayarray__Arraymodel__MProperty = {
-2518,
-"Array[Array[MProperty]]", /* class_name_string */
-7,
+/* runtime type NativeArray[AFormaldef] */
+const struct type type_array__NativeArrayparser_nodes__AFormaldef = {
+2223,
+"NativeArray[AFormaldef]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayarray__Arraymodel__MProperty,
-10,
+&resolution_table_array__NativeArrayparser_nodes__AFormaldef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1442, /* Collection[Array[MProperty]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2396, /* AbstractArrayRead[Array[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-2518, /* Array[Array[MProperty]] */
--1, /* empty */
-1911, /* Array[Object] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2223, /* NativeArray[AFormaldef] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraymodel__MProperty = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AFormaldef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Array#0]: Array[Array[MProperty]] */
-&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[Array#0]: NativeArray[Array[MProperty]] */
-&type_array__Arraymodel__MProperty, /* Sequence#0: Array[MProperty] */
-&type_array__Arraymodel__MProperty, /* SimpleCollection#0: Array[MProperty] */
-&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Array#0]: Collection[Array[MProperty]] */
-&type_array__Arraymodel__MProperty, /* Array#0: Array[MProperty] */
-&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MProperty]] */
-&type_array__Arraymodel__MProperty, /* AbstractArray#0: Array[MProperty] */
-&type_array__Arraymodel__MProperty, /* RemovableCollection#0: Array[MProperty] */
-&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Sequence#0]: Collection[Array[MProperty]] */
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Sequence#0]: Array[Array[MProperty]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[SimpleCollection#0]: Collection[Array[MProperty]] */
-&type_array__Arraymodel__MProperty, /* Collection#0: Array[MProperty] */
-&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Collection#0]: Collection[Array[MProperty]] */
-&type_array__Arraymodel__MProperty, /* SequenceRead#0: Array[MProperty] */
-&type_array__Arraymodel__MProperty, /* AbstractArrayRead#0: Array[MProperty] */
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[AbstractArrayRead#0]: Array[Array[MProperty]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MProperty]] not a live type) */
-&type_array__ArrayIteratorarray__Arraymodel__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MProperty]] */
+&type_parser_nodes__AFormaldef, /* NativeArray#0: AFormaldef */
+&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[NativeArray#0]: NativeArray[AFormaldef] */
 }
 };
-/* runtime type AbstractArrayRead[Array[MProperty]] */
-const struct type type_array__AbstractArrayReadarray__Arraymodel__MProperty = {
-2396,
-"AbstractArrayRead[Array[MProperty]]", /* class_name_string */
+/* runtime type ArrayIterator[ASuperclass] */
+const struct type type_array__ArrayIteratorparser_nodes__ASuperclass = {
+2224,
+"ArrayIterator[ASuperclass]", /* class_name_string */
 5,
 0,
-NULL,
-7,
+&resolution_table_array__ArrayIteratorparser_nodes__ASuperclass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1442, /* Collection[Array[MProperty]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2396, /* AbstractArrayRead[Array[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2224, /* ArrayIterator[ASuperclass] */
 },
 };
-/* runtime type MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-512,
-"MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-2,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__ASuperclass = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadparser_nodes__ASuperclass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ASuperclass] */
+&type_array__Arrayparser_nodes__ASuperclass, /* Array[Iterator#0]: Array[ASuperclass] */
+}
+};
+/* runtime type NativeArray[ASuperclass] */
+const struct type type_array__NativeArrayparser_nodes__ASuperclass = {
+2225,
+"NativeArray[ASuperclass]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-3,
+&resolution_table_array__NativeArrayparser_nodes__ASuperclass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-512, /* MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2225, /* NativeArray[ASuperclass] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArrayparser_nodes__ASuperclass = {
 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_parser_nodes__ASuperclass, /* NativeArray#0: ASuperclass */
+&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[NativeArray#0]: NativeArray[ASuperclass] */
 }
 };
-/* runtime type MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+/* runtime type HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 513,
-"MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+"HashMap[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-513, /* MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+513, /* HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 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_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap2[MType, String, nullable MProperty]] */
+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 HashMapKeys[MType, HashMap[String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-2177,
-"HashMapKeys[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+/* 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_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
-8,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2177, /* HashMapKeys[MType, HashMap[String, nullable MProperty]] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+514, /* HashMap[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&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 HashMapValues[MType, HashMap[String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1877,
-"HashMapValues[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
-5,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1639, /* Collection[HashMap[String, nullable MProperty]] */
-1877, /* HashMapValues[MType, HashMap[String, nullable MProperty]] */
-164, /* Collection[Object] */
+515, /* MapKeysIterator[String, Variable] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap[String, nullable MProperty] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection#0: HashMap[String, nullable MProperty] */
-&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[Collection#0]: Collection[HashMap[String, nullable MProperty]] */
+&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 Collection[HashMap[String, nullable MProperty]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1639,
-"Collection[HashMap[String, nullable MProperty]]", /* class_name_string */
+/* runtime type MapValuesIterator[String, Variable] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
+516,
+"MapValuesIterator[String, Variable]", /* class_name_string */
 2,
 0,
-NULL,
-5,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1639, /* Collection[HashMap[String, nullable MProperty]] */
--1, /* empty */
-164, /* Collection[Object] */
+516, /* MapValuesIterator[String, Variable] */
 },
 };
-/* 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 = {
-514,
-"NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]]", /* class_name_string */
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
+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] */
+}
+};
+/* 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__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-514, /* NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
+517, /* MapKeysIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
+&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 HashMapNode[MType, HashMap[String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1640,
-"HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-150, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
-1640, /* HashMapNode[MType, HashMap[String, nullable MProperty]] */
+518, /* MapValuesIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap[String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* N: HashMapNode[MType, HashMap[String, nullable MProperty]] */
-&type_model__MType, /* HashNode#0: MType */
+&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 nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-150,
-"nullable HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+/* 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,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+0,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-150, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+1, /* Object */
+519, /* MapKeysIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap[String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* N: HashMapNode[MType, HashMap[String, nullable MProperty]] */
-&type_model__MType, /* HashNode#0: MType */
+&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 HashMapIterator[MType, HashMap[String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1641,
-"HashMapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-515, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
-1641, /* HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+520, /* MapValuesIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&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 MapIterator[MType, HashMap[String, nullable MProperty]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-515,
-"MapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[MAttributeDef] */
+const struct type type_array__ArrayIteratormodel__MAttributeDef = {
+2455,
+"ArrayIterator[MAttributeDef]", /* class_name_string */
+6,
 0,
-NULL,
-3,
+&resolution_table_array__ArrayIteratormodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-515, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
+289, /* ArrayIterator[Object] */
+379, /* ArrayIterator[nullable MPropDef] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2167, /* ArrayIterator[MPropDef] */
+2455, /* ArrayIterator[MAttributeDef] */
 },
 };
-/* runtime type HashMapKeys[String, nullable MProperty] */
-const struct type type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
-1878,
-"HashMapKeys[String, nullable MProperty]", /* class_name_string */
-3,
+const struct types resolution_table_array__ArrayIteratormodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadmodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttributeDef] */
+&type_array__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[MAttributeDef] */
+}
+};
+/* runtime type NativeArray[MAttributeDef] */
+const struct type type_array__NativeArraymodel__MAttributeDef = {
+2456,
+"NativeArray[MAttributeDef]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty,
-5,
+&resolution_table_array__NativeArraymodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-595, /* Collection[String] */
-1878, /* HashMapKeys[String, nullable MProperty] */
-164, /* Collection[Object] */
+193, /* NativeArray[Object] */
+380, /* NativeArray[nullable MPropDef] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2168, /* NativeArray[MPropDef] */
+2456, /* NativeArray[MAttributeDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, nullable MProperty] */
-&type_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, nullable MProperty] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_model__MAttributeDef, /* NativeArray#0: MAttributeDef */
+&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[MAttributeDef] */
 }
 };
-/* runtime type HashMapValues[String, nullable MProperty] */
-const struct type type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
-1642,
-"HashMapValues[String, nullable MProperty]", /* class_name_string */
-3,
+/* 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_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty,
-4,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-1642, /* HashMapValues[String, nullable MProperty] */
+521, /* HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, nullable MProperty] */
-&type_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, nullable MProperty] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable_model__MProperty, /* RemovableCollection#0: nullable MProperty */
-NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable_model__MProperty, /* Collection#0: nullable MProperty */
-&type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[Collection#0]: Collection[nullable MProperty] */
+&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[nullable HashMapNode[String, nullable MProperty]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
-516,
-"NativeArray[nullable HashMapNode[String, nullable MProperty]]", /* class_name_string */
+/* 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__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-516, /* NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+522, /* HashMap[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[String, nullable MProperty] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+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 HashMapNode[String, nullable MProperty] */
-const struct type type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
-1643,
-"HashMapNode[String, nullable MProperty]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[Int] */
+const struct type type_abstract_collection__ContainerIteratorkernel__Int = {
+523,
+"ContainerIterator[Int]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
-4,
+&resolution_table_abstract_collection__ContainerIteratorkernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-151, /* nullable HashMapNode[String, nullable MProperty] */
-1643, /* HashMapNode[String, nullable MProperty] */
+523, /* ContainerIterator[Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__ContainerIteratorkernel__Int = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_nullable_model__MProperty, /* HashMapNode#1: nullable MProperty */
-&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* N: HashMapNode[String, nullable MProperty] */
-&type_string__String, /* HashNode#0: String */
+&type_abstract_collection__Containerkernel__Int, /* Container[ContainerIterator#0]: Container[Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type nullable HashMapNode[String, nullable MProperty] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
-151,
-"nullable HashMapNode[String, nullable MProperty]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
-3,
+/* runtime type ArrayIterator[AExternCodeBlock] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
+2226,
+"ArrayIterator[AExternCodeBlock]", /* class_name_string */
+5,
+0,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-151, /* nullable HashMapNode[String, nullable MProperty] */
+1, /* Object */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2226, /* ArrayIterator[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_nullable_model__MProperty, /* HashMapNode#1: nullable MProperty */
-&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* N: HashMapNode[String, nullable MProperty] */
-&type_string__String, /* HashNode#0: String */
+&type_array__AbstractArrayReadparser_nodes__AExternCodeBlock, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCodeBlock] */
+&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Iterator#0]: Array[AExternCodeBlock] */
 }
 };
-/* runtime type HashMapIterator[String, nullable MProperty] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
-1644,
-"HashMapIterator[String, nullable MProperty]", /* class_name_string */
-3,
+/* runtime type NativeArray[AExternCodeBlock] */
+const struct type type_array__NativeArrayparser_nodes__AExternCodeBlock = {
+2227,
+"NativeArray[AExternCodeBlock]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-517, /* MapIterator[String, nullable MProperty] */
-1644, /* HashMapIterator[String, nullable MProperty] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2227, /* NativeArray[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, nullable MProperty] */
+&type_parser_nodes__AExternCodeBlock, /* NativeArray#0: AExternCodeBlock */
+&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[NativeArray#0]: NativeArray[AExternCodeBlock] */
 }
 };
-/* runtime type MapIterator[String, nullable MProperty] */
-const struct type type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty = {
-517,
-"MapIterator[String, nullable MProperty]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
+524,
+"MapKeysIterator[MClass, AClassdef]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-517, /* MapIterator[String, nullable MProperty] */
+524, /* MapKeysIterator[MClass, AClassdef] */
 },
 };
-/* runtime type Array[Set[MProperty]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MProperty = {
-2585,
-"Array[Set[MProperty]]", /* class_name_string */
-13,
-0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MProperty,
-14,
+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 = {
+525,
+"MapValuesIterator[MClass, AClassdef]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
--1, /* empty */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1911, /* Array[Object] */
-2519, /* Array[Set[PropertyLayoutElement]] */
-2520, /* AbstractArrayRead[Set[MProperty]] */
--1, /* empty */
-2585, /* Array[Set[MProperty]] */
+525, /* MapValuesIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Array#0]: Array[Set[MProperty]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[Array#0]: NativeArray[Set[MProperty]] */
-&type_abstract_collection__Setmodel__MProperty, /* Sequence#0: Set[MProperty] */
-&type_abstract_collection__Setmodel__MProperty, /* SimpleCollection#0: Set[MProperty] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Array#0]: Collection[Set[MProperty]] */
-&type_abstract_collection__Setmodel__MProperty, /* Array#0: Set[MProperty] */
-&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MProperty]] */
-&type_abstract_collection__Setmodel__MProperty, /* AbstractArray#0: Set[MProperty] */
-&type_abstract_collection__Setmodel__MProperty, /* RemovableCollection#0: Set[MProperty] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Sequence#0]: Collection[Set[MProperty]] */
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Sequence#0]: Array[Set[MProperty]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[SimpleCollection#0]: Collection[Set[MProperty]] */
-&type_abstract_collection__Setmodel__MProperty, /* Collection#0: Set[MProperty] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Collection#0]: Collection[Set[MProperty]] */
-&type_abstract_collection__Setmodel__MProperty, /* SequenceRead#0: Set[MProperty] */
-&type_abstract_collection__Setmodel__MProperty, /* AbstractArrayRead#0: Set[MProperty] */
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[AbstractArrayRead#0]: Array[Set[MProperty]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MProperty]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MProperty]] */
+&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 Array[Set[PropertyLayoutElement]] */
-const struct type type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-2519,
-"Array[Set[PropertyLayoutElement]]", /* class_name_string */
-10,
+/* 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__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement,
-11,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
--1, /* empty */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1911, /* Array[Object] */
-2519, /* Array[Set[PropertyLayoutElement]] */
+526, /* MapKeysIterator[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Array#0]: Array[Set[PropertyLayoutElement]] */
-&type_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[Array#0]: NativeArray[Set[PropertyLayoutElement]] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Sequence#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* SimpleCollection#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Array#0]: Collection[Set[PropertyLayoutElement]] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array#0: Set[PropertyLayoutElement] */
-&type_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[Set[PropertyLayoutElement]] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* AbstractArray#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* RemovableCollection#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Sequence#0]: Collection[Set[PropertyLayoutElement]] */
-&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Sequence#0]: Array[Set[PropertyLayoutElement]] */
-&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[SimpleCollection#0]: Collection[Set[PropertyLayoutElement]] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[Set[PropertyLayoutElement]] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* SequenceRead#0: Set[PropertyLayoutElement] */
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* AbstractArrayRead#0: Set[PropertyLayoutElement] */
-&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[AbstractArrayRead#0]: Array[Set[PropertyLayoutElement]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[PropertyLayoutElement]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setlayout_builders__PropertyLayoutElement, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[PropertyLayoutElement]] */
+&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 AbstractArrayRead[Set[MProperty]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MProperty = {
-2520,
-"AbstractArrayRead[Set[MProperty]]", /* class_name_string */
-11,
+/* runtime type MapValuesIterator[MProperty, APropdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
+527,
+"MapValuesIterator[MProperty, APropdef]", /* class_name_string */
+2,
 0,
-NULL,
-12,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
--1, /* empty */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
--1, /* empty */
--1, /* empty */
-2520, /* AbstractArrayRead[Set[MProperty]] */
+527, /* MapValuesIterator[MProperty, APropdef] */
 },
 };
-/* runtime type AbstractArrayRead[Set[PropertyLayoutElement]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-2397,
-"AbstractArrayRead[Set[PropertyLayoutElement]]", /* class_name_string */
-8,
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
+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] */
+}
+};
+/* runtime type ArrayIterator[AAnnotation] */
+const struct type type_array__ArrayIteratorparser_nodes__AAnnotation = {
+2228,
+"ArrayIterator[AAnnotation]", /* class_name_string */
+5,
 0,
-NULL,
-9,
+&resolution_table_array__ArrayIteratorparser_nodes__AAnnotation,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
--1, /* empty */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2228, /* ArrayIterator[AAnnotation] */
 },
 };
-/* runtime type Array[HashSet[MType]] */
-const struct type type_array__Arrayhash_collection__HashSetmodel__MType = {
-2586,
-"Array[HashSet[MType]]", /* class_name_string */
-11,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AAnnotation = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadparser_nodes__AAnnotation, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAnnotation] */
+&type_array__Arrayparser_nodes__AAnnotation, /* Array[Iterator#0]: Array[AAnnotation] */
+}
+};
+/* runtime type NativeArray[AAnnotation] */
+const struct type type_array__NativeArrayparser_nodes__AAnnotation = {
+2229,
+"NativeArray[AAnnotation]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayhash_collection__HashSetmodel__MType,
-12,
+&resolution_table_array__NativeArrayparser_nodes__AAnnotation,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1807, /* Collection[HashSet[MType]] */
-1728, /* AbstractArrayRead[Object] */
-2398, /* AbstractArrayRead[Set[MType]] */
-2521, /* Array[Set[MType]] */
-1911, /* Array[Object] */
-2522, /* AbstractArrayRead[HashSet[MType]] */
-2586, /* Array[HashSet[MType]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2229, /* NativeArray[AAnnotation] */
 },
 };
-const struct types resolution_table_array__Arrayhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AAnnotation = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Array#0]: Array[HashSet[MType]] */
-&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[Array#0]: NativeArray[HashSet[MType]] */
-&type_hash_collection__HashSetmodel__MType, /* Sequence#0: HashSet[MType] */
-&type_hash_collection__HashSetmodel__MType, /* SimpleCollection#0: HashSet[MType] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Array#0]: Collection[HashSet[MType]] */
-&type_hash_collection__HashSetmodel__MType, /* Array#0: HashSet[MType] */
-&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[HashSet[MType]] */
-&type_hash_collection__HashSetmodel__MType, /* AbstractArray#0: HashSet[MType] */
-&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Sequence#0]: Collection[HashSet[MType]] */
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Sequence#0]: Array[HashSet[MType]] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[SimpleCollection#0]: Collection[HashSet[MType]] */
-&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
-&type_hash_collection__HashSetmodel__MType, /* SequenceRead#0: HashSet[MType] */
-&type_hash_collection__HashSetmodel__MType, /* AbstractArrayRead#0: HashSet[MType] */
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[AbstractArrayRead#0]: Array[HashSet[MType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[HashSet[MType]] not a live type) */
-&type_array__ArrayIteratorhash_collection__HashSetmodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashSet[MType]] */
+&type_parser_nodes__AAnnotation, /* NativeArray#0: AAnnotation */
+&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[NativeArray#0]: NativeArray[AAnnotation] */
 }
 };
-/* runtime type Array[Set[MType]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MType = {
-2521,
-"Array[Set[MType]]", /* class_name_string */
-8,
+/* runtime type ArrayIterator[AParam] */
+const struct type type_array__ArrayIteratorparser_nodes__AParam = {
+2230,
+"ArrayIterator[AParam]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MType,
-10,
+&resolution_table_array__ArrayIteratorparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2398, /* AbstractArrayRead[Set[MType]] */
-2521, /* Array[Set[MType]] */
-1911, /* Array[Object] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2230, /* ArrayIterator[AParam] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MType = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AParam = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Array#0]: Array[Set[MType]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[Array#0]: NativeArray[Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* Sequence#0: Set[MType] */
-&type_abstract_collection__Setmodel__MType, /* SimpleCollection#0: Set[MType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Array#0]: Collection[Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* Array#0: Set[MType] */
-&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* AbstractArray#0: Set[MType] */
-&type_abstract_collection__Setmodel__MType, /* RemovableCollection#0: Set[MType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Sequence#0]: Collection[Set[MType]] */
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Sequence#0]: Array[Set[MType]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[SimpleCollection#0]: Collection[Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* Collection#0: Set[MType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Collection#0]: Collection[Set[MType]] */
-&type_abstract_collection__Setmodel__MType, /* SequenceRead#0: Set[MType] */
-&type_abstract_collection__Setmodel__MType, /* AbstractArrayRead#0: Set[MType] */
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[AbstractArrayRead#0]: Array[Set[MType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MType]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MType]] */
+&type_array__AbstractArrayReadparser_nodes__AParam, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AParam] */
+&type_array__Arrayparser_nodes__AParam, /* Array[Iterator#0]: Array[AParam] */
 }
 };
-/* runtime type AbstractArrayRead[HashSet[MType]] */
-const struct type type_array__AbstractArrayReadhash_collection__HashSetmodel__MType = {
-2522,
-"AbstractArrayRead[HashSet[MType]]", /* class_name_string */
-10,
+/* runtime type NativeArray[AParam] */
+const struct type type_array__NativeArrayparser_nodes__AParam = {
+2231,
+"NativeArray[AParam]", /* class_name_string */
+5,
 0,
-NULL,
-11,
+&resolution_table_array__NativeArrayparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1807, /* Collection[HashSet[MType]] */
-1728, /* AbstractArrayRead[Object] */
-2398, /* AbstractArrayRead[Set[MType]] */
--1, /* empty */
--1, /* empty */
-2522, /* AbstractArrayRead[HashSet[MType]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2231, /* NativeArray[AParam] */
 },
 };
-/* runtime type AbstractArrayRead[Set[MType]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MType = {
-2398,
-"AbstractArrayRead[Set[MType]]", /* class_name_string */
-7,
+const struct types resolution_table_array__NativeArrayparser_nodes__AParam = {
+0, /* dummy */
+{
+&type_parser_nodes__AParam, /* NativeArray#0: AParam */
+&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[NativeArray#0]: NativeArray[AParam] */
+}
+};
+/* runtime type ArrayIterator[AExternCall] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCall = {
+2232,
+"ArrayIterator[AExternCall]", /* class_name_string */
+5,
 0,
-NULL,
-8,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2398, /* AbstractArrayRead[Set[MType]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2232, /* ArrayIterator[AExternCall] */
 },
 };
-/* runtime type Array[Array[nullable MType]] */
-const struct type type_array__Arrayarray__Arraynullable_model__MType = {
-2587,
-"Array[Array[nullable MType]]", /* class_name_string */
-14,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCall = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadparser_nodes__AExternCall, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCall] */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[Iterator#0]: Array[AExternCall] */
+}
+};
+/* runtime type NativeArray[AExternCall] */
+const struct type type_array__NativeArrayparser_nodes__AExternCall = {
+2233,
+"NativeArray[AExternCall]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayarray__Arraynullable_model__MType,
-15,
+&resolution_table_array__NativeArrayparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1809, /* Collection[Array[nullable MType]] */
-1728, /* AbstractArrayRead[Object] */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
--1, /* empty */
-1911, /* Array[Object] */
-2178, /* Array[nullable Array[nullable MType]] */
--1, /* empty */
-2523, /* AbstractArrayRead[Array[nullable MType]] */
--1, /* empty */
-2587, /* Array[Array[nullable MType]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2233, /* NativeArray[AExternCall] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Array#0]: Array[Array[nullable MType]] */
-&type_array__NativeArrayarray__Arraynullable_model__MType, /* NativeArray[Array#0]: NativeArray[Array[nullable MType]] */
-&type_array__Arraynullable_model__MType, /* Sequence#0: Array[nullable MType] */
-&type_array__Arraynullable_model__MType, /* SimpleCollection#0: Array[nullable MType] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Array#0]: Collection[Array[nullable MType]] */
-&type_array__Arraynullable_model__MType, /* Array#0: Array[nullable MType] */
-&type_array__NativeArrayarray__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MType]] */
-&type_array__Arraynullable_model__MType, /* AbstractArray#0: Array[nullable MType] */
-&type_array__Arraynullable_model__MType, /* RemovableCollection#0: Array[nullable MType] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Sequence#0]: Collection[Array[nullable MType]] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Sequence#0]: Array[Array[nullable MType]] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[SimpleCollection#0]: Collection[Array[nullable MType]] */
-&type_array__Arraynullable_model__MType, /* Collection#0: Array[nullable MType] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[Array[nullable MType]] */
-&type_array__Arraynullable_model__MType, /* SequenceRead#0: Array[nullable MType] */
-&type_array__Arraynullable_model__MType, /* AbstractArrayRead#0: Array[nullable MType] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[AbstractArrayRead#0]: Array[Array[nullable MType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MType]] not a live type) */
-&type_array__ArrayIteratorarray__Arraynullable_model__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MType]] */
+&type_parser_nodes__AExternCall, /* NativeArray#0: AExternCall */
+&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[NativeArray#0]: NativeArray[AExternCall] */
 }
 };
-/* runtime type Array[nullable Array[nullable MType]] */
-const struct type type_array__Arraynullable_array__Arraynullable_model__MType = {
-2178,
-"Array[nullable Array[nullable MType]]", /* class_name_string */
-10,
+/* runtime type ArrayIterator[AType] */
+const struct type type_array__ArrayIteratorparser_nodes__AType = {
+2234,
+"ArrayIterator[AType]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arraynullable_array__Arraynullable_model__MType,
-11,
+&resolution_table_array__ArrayIteratorparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
--1, /* empty */
--1, /* empty */
-2178, /* Array[nullable Array[nullable MType]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2234, /* ArrayIterator[AType] */
 },
 };
-const struct types resolution_table_array__Arraynullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AType = {
 0, /* dummy */
 {
-&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Array#0]: Array[nullable Array[nullable MType]] */
-&type_array__NativeArraynullable_array__Arraynullable_model__MType, /* NativeArray[Array#0]: NativeArray[nullable Array[nullable MType]] */
-&type_nullable_array__Arraynullable_model__MType, /* Sequence#0: nullable Array[nullable MType] */
-&type_nullable_array__Arraynullable_model__MType, /* SimpleCollection#0: nullable Array[nullable MType] */
-&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Array#0]: Collection[nullable Array[nullable MType]] */
-&type_nullable_array__Arraynullable_model__MType, /* Array#0: nullable Array[nullable MType] */
-&type_array__NativeArraynullable_array__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable Array[nullable MType]] */
-&type_nullable_array__Arraynullable_model__MType, /* AbstractArray#0: nullable Array[nullable MType] */
-&type_nullable_array__Arraynullable_model__MType, /* RemovableCollection#0: nullable Array[nullable MType] */
-&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Sequence#0]: Collection[nullable Array[nullable MType]] */
-&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Sequence#0]: Array[nullable Array[nullable MType]] */
-&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[SimpleCollection#0]: Collection[nullable Array[nullable MType]] */
-&type_nullable_array__Arraynullable_model__MType, /* Collection#0: nullable Array[nullable MType] */
-&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[nullable Array[nullable MType]] */
-&type_nullable_array__Arraynullable_model__MType, /* SequenceRead#0: nullable Array[nullable MType] */
-&type_nullable_array__Arraynullable_model__MType, /* AbstractArrayRead#0: nullable Array[nullable MType] */
-&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[AbstractArrayRead#0]: Array[nullable Array[nullable MType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable Array[nullable MType]] not a live type) */
-&type_array__ArrayIteratornullable_array__Arraynullable_model__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable 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 AbstractArrayRead[Array[nullable MType]] */
-const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MType = {
-2523,
-"AbstractArrayRead[Array[nullable MType]]", /* class_name_string */
-12,
+/* runtime type NativeArray[AType] */
+const struct type type_array__NativeArrayparser_nodes__AType = {
+2235,
+"NativeArray[AType]", /* class_name_string */
+5,
 0,
-NULL,
-13,
+&resolution_table_array__NativeArrayparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1809, /* Collection[Array[nullable MType]] */
-1728, /* AbstractArrayRead[Object] */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2523, /* AbstractArrayRead[Array[nullable MType]] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2235, /* NativeArray[AType] */
 },
 };
-/* runtime type AbstractArrayRead[nullable Array[nullable MType]] */
-const struct type type_array__AbstractArrayReadnullable_array__Arraynullable_model__MType = {
-1879,
-"AbstractArrayRead[nullable Array[nullable MType]]", /* class_name_string */
-7,
+const struct types resolution_table_array__NativeArrayparser_nodes__AType = {
+0, /* dummy */
+{
+&type_parser_nodes__AType, /* NativeArray#0: AType */
+&type_array__NativeArrayparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[AType] */
+}
+};
+/* runtime type ArrayIterator[TId] */
+const struct type type_array__ArrayIteratorparser_nodes__TId = {
+2236,
+"ArrayIterator[TId]", /* class_name_string */
+5,
 0,
-NULL,
-8,
+&resolution_table_array__ArrayIteratorparser_nodes__TId,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1908, /* ArrayIterator[Token] */
+2236, /* ArrayIterator[TId] */
 },
 };
-/* runtime type Array[Array[nullable MPropDef]] */
-const struct type type_array__Arrayarray__Arraynullable_model__MPropDef = {
-2524,
-"Array[Array[nullable MPropDef]]", /* class_name_string */
-8,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__TId = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadparser_nodes__TId, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TId] */
+&type_array__Arrayparser_nodes__TId, /* Array[Iterator#0]: Array[TId] */
+}
+};
+/* runtime type NativeArray[TId] */
+const struct type type_array__NativeArrayparser_nodes__TId = {
+2237,
+"NativeArray[TId]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayarray__Arraynullable_model__MPropDef,
-10,
+&resolution_table_array__NativeArrayparser_nodes__TId,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2399, /* AbstractArrayRead[Array[nullable MPropDef]] */
-2524, /* Array[Array[nullable MPropDef]] */
-1911, /* Array[Object] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1909, /* NativeArray[Token] */
+2237, /* NativeArray[TId] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__TId = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Array#0]: Array[Array[nullable MPropDef]] */
-&type_array__NativeArrayarray__Arraynullable_model__MPropDef, /* NativeArray[Array#0]: NativeArray[Array[nullable MPropDef]] */
-&type_array__Arraynullable_model__MPropDef, /* Sequence#0: Array[nullable MPropDef] */
-&type_array__Arraynullable_model__MPropDef, /* SimpleCollection#0: Array[nullable MPropDef] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Array#0]: Collection[Array[nullable MPropDef]] */
-&type_array__Arraynullable_model__MPropDef, /* Array#0: Array[nullable MPropDef] */
-&type_array__NativeArrayarray__Arraynullable_model__MPropDef, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MPropDef]] */
-&type_array__Arraynullable_model__MPropDef, /* AbstractArray#0: Array[nullable MPropDef] */
-&type_array__Arraynullable_model__MPropDef, /* RemovableCollection#0: Array[nullable MPropDef] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Sequence#0]: Collection[Array[nullable MPropDef]] */
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Sequence#0]: Array[Array[nullable MPropDef]] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[SimpleCollection#0]: Collection[Array[nullable MPropDef]] */
-&type_array__Arraynullable_model__MPropDef, /* Collection#0: Array[nullable MPropDef] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Collection#0]: Collection[Array[nullable MPropDef]] */
-&type_array__Arraynullable_model__MPropDef, /* SequenceRead#0: Array[nullable MPropDef] */
-&type_array__Arraynullable_model__MPropDef, /* AbstractArrayRead#0: Array[nullable MPropDef] */
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[AbstractArrayRead#0]: Array[Array[nullable MPropDef]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MPropDef]] not a live type) */
-&type_array__ArrayIteratorarray__Arraynullable_model__MPropDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MPropDef]] */
+&type_parser_nodes__TId, /* NativeArray#0: TId */
+&type_array__NativeArrayparser_nodes__TId, /* NativeArray[NativeArray#0]: NativeArray[TId] */
 }
 };
-/* runtime type AbstractArrayRead[Array[nullable MPropDef]] */
-const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MPropDef = {
-2399,
-"AbstractArrayRead[Array[nullable MPropDef]]", /* class_name_string */
-7,
+/* runtime type ArrayIterator[AAtArg] */
+const struct type type_array__ArrayIteratorparser_nodes__AAtArg = {
+2238,
+"ArrayIterator[AAtArg]", /* class_name_string */
+5,
 0,
-NULL,
-8,
+&resolution_table_array__ArrayIteratorparser_nodes__AAtArg,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2399, /* AbstractArrayRead[Array[nullable MPropDef]] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1848, /* ArrayIterator[Prod] */
+2238, /* ArrayIterator[AAtArg] */
 },
 };
-/* runtime type ArrayIterator[CodeFile] */
-const struct type type_array__ArrayIteratorabstract_compiler__CodeFile = {
-1645,
-"ArrayIterator[CodeFile]", /* class_name_string */
-3,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AAtArg = {
+0, /* dummy */
+{
+&type_array__AbstractArrayReadparser_nodes__AAtArg, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAtArg] */
+&type_array__Arrayparser_nodes__AAtArg, /* Array[Iterator#0]: Array[AAtArg] */
+}
+};
+/* runtime type NativeArray[AAtArg] */
+const struct type type_array__NativeArrayparser_nodes__AAtArg = {
+2239,
+"NativeArray[AAtArg]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratorabstract_compiler__CodeFile,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AAtArg,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1645, /* ArrayIterator[CodeFile] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1849, /* NativeArray[Prod] */
+2239, /* NativeArray[AAtArg] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_compiler__CodeFile = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AAtArg = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_compiler__CodeFile, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[CodeFile] */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
+&type_parser_nodes__AAtArg, /* NativeArray#0: AAtArg */
+&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[NativeArray#0]: NativeArray[AAtArg] */
 }
 };
-/* runtime type NativeArray[CodeFile] */
-const struct type type_array__NativeArrayabstract_compiler__CodeFile = {
-1646,
-"NativeArray[CodeFile]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[TComment] */
+const struct type type_array__ArrayIteratorparser_nodes__TComment = {
+2240,
+"ArrayIterator[TComment]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArrayabstract_compiler__CodeFile,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__TComment,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1646, /* NativeArray[CodeFile] */
+289, /* ArrayIterator[Object] */
+1492, /* ArrayIterator[ANode] */
+1908, /* ArrayIterator[Token] */
+2240, /* ArrayIterator[TComment] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_compiler__CodeFile = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__TComment = {
 0, /* dummy */
 {
-&type_abstract_compiler__CodeFile, /* NativeArray#0: CodeFile */
-&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[NativeArray#0]: NativeArray[CodeFile] */
+&type_array__AbstractArrayReadparser_nodes__TComment, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TComment] */
+&type_array__Arrayparser_nodes__TComment, /* Array[Iterator#0]: Array[TComment] */
 }
 };
-/* runtime type ArrayIterator[AbstractRuntimeFunction] */
-const struct type type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
-1647,
-"ArrayIterator[AbstractRuntimeFunction]", /* class_name_string */
-3,
+/* runtime type NativeArray[TComment] */
+const struct type type_array__NativeArrayparser_nodes__TComment = {
+2241,
+"NativeArray[TComment]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction,
-4,
+&resolution_table_array__NativeArrayparser_nodes__TComment,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1647, /* ArrayIterator[AbstractRuntimeFunction] */
+193, /* NativeArray[Object] */
+1493, /* NativeArray[ANode] */
+1909, /* NativeArray[Token] */
+2241, /* NativeArray[TComment] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
+const struct types resolution_table_array__NativeArrayparser_nodes__TComment = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_compiler__AbstractRuntimeFunction, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AbstractRuntimeFunction] */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
+&type_parser_nodes__TComment, /* NativeArray#0: TComment */
+&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[NativeArray#0]: NativeArray[TComment] */
 }
 };
-/* runtime type NativeArray[AbstractRuntimeFunction] */
-const struct type type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
-1648,
-"NativeArray[AbstractRuntimeFunction]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[MVirtualTypeDef] */
+const struct type type_array__ArrayIteratormodel__MVirtualTypeDef = {
+2457,
+"ArrayIterator[MVirtualTypeDef]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction,
-4,
+&resolution_table_array__ArrayIteratormodel__MVirtualTypeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1648, /* NativeArray[AbstractRuntimeFunction] */
+289, /* ArrayIterator[Object] */
+379, /* ArrayIterator[nullable MPropDef] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2167, /* ArrayIterator[MPropDef] */
+2457, /* ArrayIterator[MVirtualTypeDef] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
+const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_compiler__AbstractRuntimeFunction, /* NativeArray#0: AbstractRuntimeFunction */
-&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[NativeArray#0]: NativeArray[AbstractRuntimeFunction] */
+&type_array__AbstractArrayReadmodel__MVirtualTypeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualTypeDef] */
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[MVirtualTypeDef] */
 }
 };
-/* runtime type Array[Array[MClassType]] */
-const struct type type_array__Arrayarray__Arraymodel__MClassType = {
-2641,
-"Array[Array[MClassType]]", /* class_name_string */
-17,
+/* runtime type NativeArray[MVirtualTypeDef] */
+const struct type type_array__NativeArraymodel__MVirtualTypeDef = {
+2458,
+"NativeArray[MVirtualTypeDef]", /* class_name_string */
+6,
 0,
-&resolution_table_array__Arrayarray__Arraymodel__MClassType,
-18,
+&resolution_table_array__NativeArraymodel__MVirtualTypeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1809, /* Collection[Array[nullable MType]] */
-1728, /* AbstractArrayRead[Object] */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2084, /* Collection[Array[MType]] */
-1911, /* Array[Object] */
-2178, /* Array[nullable Array[nullable MType]] */
-2357, /* Collection[Array[MClassType]] */
-2523, /* AbstractArrayRead[Array[nullable MType]] */
-2575, /* AbstractArrayRead[Array[MType]] */
-2587, /* Array[Array[nullable MType]] */
-2605, /* AbstractArrayRead[Array[MClassType]] */
-2626, /* Array[Array[MType]] */
-2641, /* Array[Array[MClassType]] */
+193, /* NativeArray[Object] */
+380, /* NativeArray[nullable MPropDef] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2168, /* NativeArray[MPropDef] */
+2458, /* NativeArray[MVirtualTypeDef] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraymodel__MClassType = {
+const struct types resolution_table_array__NativeArraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Array#0]: Array[Array[MClassType]] */
-&type_array__NativeArrayarray__Arraymodel__MClassType, /* NativeArray[Array#0]: NativeArray[Array[MClassType]] */
-&type_array__Arraymodel__MClassType, /* Sequence#0: Array[MClassType] */
-&type_array__Arraymodel__MClassType, /* SimpleCollection#0: Array[MClassType] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Array#0]: Collection[Array[MClassType]] */
-&type_array__Arraymodel__MClassType, /* Array#0: Array[MClassType] */
-&type_array__NativeArrayarray__Arraymodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MClassType]] */
-&type_array__Arraymodel__MClassType, /* AbstractArray#0: Array[MClassType] */
-&type_array__Arraymodel__MClassType, /* RemovableCollection#0: Array[MClassType] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Sequence#0]: Collection[Array[MClassType]] */
-&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Sequence#0]: Array[Array[MClassType]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[SimpleCollection#0]: Collection[Array[MClassType]] */
-&type_array__Arraymodel__MClassType, /* Collection#0: Array[MClassType] */
-&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Collection#0]: Collection[Array[MClassType]] */
-&type_array__Arraymodel__MClassType, /* SequenceRead#0: Array[MClassType] */
-&type_array__Arraymodel__MClassType, /* AbstractArrayRead#0: Array[MClassType] */
-&type_array__Arrayarray__Arraymodel__MClassType, /* Array[AbstractArrayRead#0]: Array[Array[MClassType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClassType]] not a live type) */
-&type_array__ArrayIteratorarray__Arraymodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MClassType]] */
+&type_model__MVirtualTypeDef, /* NativeArray#0: MVirtualTypeDef */
+&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[MVirtualTypeDef] */
 }
 };
-/* runtime type Array[Array[MType]] */
-const struct type type_array__Arrayarray__Arraymodel__MType = {
-2626,
-"Array[Array[MType]]", /* class_name_string */
-16,
+/* runtime type HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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_array__Arrayarray__Arraymodel__MType,
-17,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1809, /* Collection[Array[nullable MType]] */
-1728, /* AbstractArrayRead[Object] */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2084, /* Collection[Array[MType]] */
-1911, /* Array[Object] */
-2178, /* Array[nullable Array[nullable MType]] */
--1, /* empty */
-2523, /* AbstractArrayRead[Array[nullable MType]] */
-2575, /* AbstractArrayRead[Array[MType]] */
-2587, /* Array[Array[nullable MType]] */
--1, /* empty */
-2626, /* Array[Array[MType]] */
+528, /* HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_array__Arrayarray__Arraymodel__MType = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MType, /* Array[Array#0]: Array[Array[MType]] */
-&type_array__NativeArrayarray__Arraymodel__MType, /* NativeArray[Array#0]: NativeArray[Array[MType]] */
-&type_array__Arraymodel__MType, /* Sequence#0: Array[MType] */
-&type_array__Arraymodel__MType, /* SimpleCollection#0: Array[MType] */
-&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Array#0]: Collection[Array[MType]] */
-&type_array__Arraymodel__MType, /* Array#0: Array[MType] */
-&type_array__NativeArrayarray__Arraymodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MType]] */
-&type_array__Arraymodel__MType, /* AbstractArray#0: Array[MType] */
-&type_array__Arraymodel__MType, /* RemovableCollection#0: Array[MType] */
-&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Sequence#0]: Collection[Array[MType]] */
-&type_array__Arrayarray__Arraymodel__MType, /* Array[Sequence#0]: Array[Array[MType]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[SimpleCollection#0]: Collection[Array[MType]] */
-&type_array__Arraymodel__MType, /* Collection#0: Array[MType] */
-&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Collection#0]: Collection[Array[MType]] */
-&type_array__Arraymodel__MType, /* SequenceRead#0: Array[MType] */
-&type_array__Arraymodel__MType, /* AbstractArrayRead#0: Array[MType] */
-&type_array__Arrayarray__Arraymodel__MType, /* Array[AbstractArrayRead#0]: Array[Array[MType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MType]] not a live type) */
-&type_array__ArrayIteratorarray__Arraymodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&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__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_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 AbstractArrayRead[Array[MClassType]] */
-const struct type type_array__AbstractArrayReadarray__Arraymodel__MClassType = {
-2605,
-"AbstractArrayRead[Array[MClassType]]", /* class_name_string */
-15,
+/* runtime type HashMap[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+529,
+"HashMap[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+2,
 0,
-NULL,
-16,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1809, /* Collection[Array[nullable MType]] */
-1728, /* AbstractArrayRead[Object] */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2084, /* Collection[Array[MType]] */
--1, /* empty */
--1, /* empty */
-2357, /* Collection[Array[MClassType]] */
-2523, /* AbstractArrayRead[Array[nullable MType]] */
-2575, /* AbstractArrayRead[Array[MType]] */
--1, /* empty */
-2605, /* AbstractArrayRead[Array[MClassType]] */
+529, /* HashMap[MType, Array[MVirtualTypeDef]] */
 },
 };
-/* runtime type AbstractArrayRead[Array[MType]] */
-const struct type type_array__AbstractArrayReadarray__Arraymodel__MType = {
-2575,
-"AbstractArrayRead[Array[MType]]", /* class_name_string */
-13,
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MVirtualTypeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* Map#1: Array[MVirtualTypeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MVirtualTypeDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MVirtualTypeDef]] not a live type) */
+&type_array__Arraymodel__MVirtualTypeDef, /* MapRead#1: Array[MVirtualTypeDef] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashCollection#1: HashMapNode[MType, Array[MVirtualTypeDef]] */
+}
+};
+/* runtime type MapKeysIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
+530,
+"MapKeysIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+2,
 0,
-NULL,
-14,
+&resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1809, /* Collection[Array[nullable MType]] */
-1728, /* AbstractArrayRead[Object] */
-1879, /* AbstractArrayRead[nullable Array[nullable MType]] */
-2084, /* Collection[Array[MType]] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2523, /* AbstractArrayRead[Array[nullable MType]] */
-2575, /* AbstractArrayRead[Array[MType]] */
+530, /* MapKeysIterator[Phase, POSetElement[Phase]] */
 },
 };
-/* runtime type MapKeysIterator[MClass, Array[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass = {
-1649,
-"MapKeysIterator[MClass, Array[MClass]]", /* class_name_string */
-3,
+const struct types resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Phase, POSetElement[Phase]] */
+&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
+}
+};
+/* runtime type MapValuesIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
+531,
+"MapValuesIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-470, /* MapKeysIterator[MClass, Array[nullable MClass]] */
-1649, /* MapKeysIterator[MClass, Array[MClass]] */
+531, /* MapValuesIterator[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[MClass]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Phase, POSetElement[Phase]] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Iterator#0]: Array[POSetElement[Phase]] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Array[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass = {
-1650,
-"MapValuesIterator[MClass, Array[MClass]]", /* class_name_string */
-3,
+/* runtime type HashSetNode[Phase] */
+const struct type type_hash_collection__HashSetNodephase__Phase = {
+2242,
+"HashSetNode[Phase]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass,
-4,
+&resolution_table_hash_collection__HashSetNodephase__Phase,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-471, /* MapValuesIterator[MClass, Array[nullable MClass]] */
-1650, /* MapValuesIterator[MClass, Array[MClass]] */
+121, /* nullable HashSetNode[Object] */
+532, /* nullable HashSetNode[Phase] */
+1500, /* HashSetNode[Object] */
+2242, /* HashSetNode[Phase] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashSetNodephase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[MClass]] */
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
+&type_phase__Phase, /* HashSetNode#0: Phase */
+NULL, /* empty */
+&type_hash_collection__HashSetNodephase__Phase, /* N: HashSetNode[Phase] */
+&type_phase__Phase, /* HashNode#0: Phase */
 }
 };
-/* runtime type MapKeysIterator[MClass, HashSet[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-1651,
-"MapKeysIterator[MClass, HashSet[MClass]]", /* class_name_string */
+/* runtime type nullable HashSetNode[Phase] */
+const struct type type_nullable_hash_collection__HashSetNodephase__Phase = {
+532,
+"nullable HashSetNode[Phase]", /* class_name_string */
 3,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass,
+1,
+&resolution_table_nullable_hash_collection__HashSetNodephase__Phase,
 4,
 {
 0, /* nullable Object */
-1, /* Object */
-518, /* MapKeysIterator[MClass, Set[MClass]] */
-1651, /* MapKeysIterator[MClass, HashSet[MClass]] */
+-1, /* empty */
+121, /* nullable HashSetNode[Object] */
+532, /* nullable HashSetNode[Phase] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_nullable_hash_collection__HashSetNodephase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, HashSet[MClass]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_phase__Phase, /* HashSetNode#0: Phase */
+NULL, /* empty */
+&type_hash_collection__HashSetNodephase__Phase, /* N: HashSetNode[Phase] */
+&type_phase__Phase, /* HashNode#0: Phase */
 }
 };
-/* runtime type MapKeysIterator[MClass, Set[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-518,
-"MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass,
+/* runtime type HashSetIterator[Phase] */
+const struct type type_hash_collection__HashSetIteratorphase__Phase = {
+1682,
+"HashSetIterator[Phase]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashSetIteratorphase__Phase,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-518, /* MapKeysIterator[MClass, Set[MClass]] */
+324, /* HashSetIterator[Object] */
+1682, /* HashSetIterator[Phase] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashSetIteratorphase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MClass]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_hash_collection__HashSetphase__Phase, /* HashSet[HashSetIterator#0]: HashSet[Phase] */
+&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
 }
 };
-/* runtime type MapValuesIterator[MClass, HashSet[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
-1652,
-"MapValuesIterator[MClass, HashSet[MClass]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[Phase]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
+1683,
+"NativeArray[nullable HashSetNode[Phase]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-519, /* MapValuesIterator[MClass, Set[MClass]] */
-1652, /* MapValuesIterator[MClass, HashSet[MClass]] */
+325, /* NativeArray[nullable HashSetNode[Object]] */
+1683, /* NativeArray[nullable HashSetNode[Phase]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, HashSet[MClass]] */
-&type_array__Arrayhash_collection__HashSetmodel__MClass, /* Array[Iterator#0]: Array[HashSet[MClass]] */
+&type_nullable_hash_collection__HashSetNodephase__Phase, /* NativeArray#0: nullable HashSetNode[Phase] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Phase]] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Set[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
-519,
-"MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
-2,
+/* runtime type Array[Array[MProject]] */
+const struct type type_array__Arrayarray__Arraymproject__MProject = {
+2588,
+"Array[Array[MProject]]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass,
-3,
+&resolution_table_array__Arrayarray__Arraymproject__MProject,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-519, /* MapValuesIterator[MClass, Set[MClass]] */
+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_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_array__Arrayarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MClass]] */
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
+&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 MapKeysIterator[MClass, Map[MClass, Int]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-520,
-"MapKeysIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+/* 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__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+533,
+"MapKeysIterator[MModule, POSetElement[MModule]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-520, /* MapKeysIterator[MClass, Map[MClass, Int]] */
+533, /* MapKeysIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Map[MClass, Int]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&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[MClass, Map[MClass, Int]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-521,
-"MapValuesIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+/* runtime type MapValuesIterator[MModule, POSetElement[MModule]] */
+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__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-521, /* MapValuesIterator[MClass, Map[MClass, Int]] */
+534, /* MapValuesIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Map[MClass, Int]] */
-&type_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int, /* Array[Iterator#0]: Array[Map[MClass, Int]] */
+&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[Set[MVirtualTypeProp]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp = {
-2627,
-"Array[Set[MVirtualTypeProp]]", /* class_name_string */
-14,
+/* runtime type Array[Array[MModule]] */
+const struct type type_array__Arrayarray__Arraymmodule__MModule = {
+2589,
+"Array[Array[MModule]]", /* class_name_string */
+7,
 0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp,
-15,
+&resolution_table_array__Arrayarray__Arraymmodule__MModule,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-2087, /* Collection[Set[MVirtualTypeProp]] */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1911, /* Array[Object] */
-2519, /* Array[Set[PropertyLayoutElement]] */
-2520, /* AbstractArrayRead[Set[MProperty]] */
-2576, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
-2585, /* Array[Set[MProperty]] */
-2627, /* Array[Set[MVirtualTypeProp]] */
+1472, /* Collection[Array[MModule]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2460, /* AbstractArrayRead[Array[MModule]] */
+1782, /* AbstractArrayRead[Object] */
+2589, /* Array[Array[MModule]] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_array__Arrayarray__Arraymmodule__MModule = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Array#0]: Array[Set[MVirtualTypeProp]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[Array#0]: NativeArray[Set[MVirtualTypeProp]] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Sequence#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* SimpleCollection#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Array#0]: Collection[Set[MVirtualTypeProp]] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Array#0: Set[MVirtualTypeProp] */
-&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MVirtualTypeProp]] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArray#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* RemovableCollection#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Sequence#0]: Collection[Set[MVirtualTypeProp]] */
-&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Sequence#0]: Array[Set[MVirtualTypeProp]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[Set[MVirtualTypeProp]] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Collection#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[Set[MVirtualTypeProp]] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* SequenceRead#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArrayRead#0: Set[MVirtualTypeProp] */
-&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[AbstractArrayRead#0]: Array[Set[MVirtualTypeProp]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MVirtualTypeProp]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MVirtualTypeProp]] */
+&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__Arraymmodule__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MModule]] */
 }
 };
-/* runtime type AbstractArrayRead[Set[MVirtualTypeProp]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MVirtualTypeProp = {
-2576,
-"AbstractArrayRead[Set[MVirtualTypeProp]]", /* class_name_string */
-12,
+/* runtime type AbstractArrayRead[Array[MModule]] */
+const struct type type_array__AbstractArrayReadarray__Arraymmodule__MModule = {
+2460,
+"AbstractArrayRead[Array[MModule]]", /* class_name_string */
+5,
 0,
 NULL,
-13,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-2087, /* Collection[Set[MVirtualTypeProp]] */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
--1, /* empty */
--1, /* empty */
-2520, /* AbstractArrayRead[Set[MProperty]] */
-2576, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
+1472, /* Collection[Array[MModule]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2460, /* AbstractArrayRead[Array[MModule]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-/* runtime type ArrayIterator[MVirtualTypeProp] */
-const struct type type_array__ArrayIteratormodel__MVirtualTypeProp = {
-2400,
-"ArrayIterator[MVirtualTypeProp]", /* class_name_string */
-6,
+/* runtime type MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+535,
+"MapKeysIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratormodel__MVirtualTypeProp,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-286, /* ArrayIterator[nullable MProperty] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2060, /* ArrayIterator[MProperty] */
-2400, /* ArrayIterator[MVirtualTypeProp] */
+535, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeProp = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MVirtualTypeProp, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualTypeProp] */
-&type_array__Arraymodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[MVirtualTypeProp] */
+&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, POSetElement[MClassDef]] */
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
 }
 };
-/* runtime type NativeArray[MVirtualTypeProp] */
-const struct type type_array__NativeArraymodel__MVirtualTypeProp = {
-2401,
-"NativeArray[MVirtualTypeProp]", /* class_name_string */
-6,
+/* runtime type MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+536,
+"MapValuesIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraymodel__MVirtualTypeProp,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-287, /* NativeArray[nullable MProperty] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2061, /* NativeArray[MProperty] */
-2401, /* NativeArray[MVirtualTypeProp] */
+536, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MVirtualTypeProp = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_model__MVirtualTypeProp, /* NativeArray#0: MVirtualTypeProp */
-&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[NativeArray#0]: NativeArray[MVirtualTypeProp] */
+&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, POSetElement[MClassDef]] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Iterator#0]: Array[POSetElement[MClassDef]] */
 }
 };
-/* runtime type MapKeysIterator[MVirtualTypeProp, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
-1653,
-"MapKeysIterator[MVirtualTypeProp, Int]", /* class_name_string */
+/* runtime type MapKeysIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+1684,
+"MapKeysIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-522, /* MapKeysIterator[PropertyLayoutElement, Int] */
-1653, /* MapKeysIterator[MVirtualTypeProp, Int] */
+537, /* MapKeysIterator[MType, POSetElement[MType]] */
+1684, /* MapKeysIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MVirtualTypeProp, Int] */
-&type_array__Arraymodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[MVirtualTypeProp] */
+&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, POSetElement[MClassType]] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type MapKeysIterator[PropertyLayoutElement, Int] */
-const struct type type_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-522,
-"MapKeysIterator[PropertyLayoutElement, Int]", /* class_name_string */
+/* runtime type MapKeysIterator[MType, POSetElement[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
+537,
+"MapKeysIterator[MType, POSetElement[MType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-522, /* MapKeysIterator[PropertyLayoutElement, Int] */
+537, /* MapKeysIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[PropertyLayoutElement, Int] */
-&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[PropertyLayoutElement] */
+&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, POSetElement[MType]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type MapValuesIterator[MVirtualTypeProp, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
-1654,
-"MapValuesIterator[MVirtualTypeProp, Int]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+1685,
+"MapValuesIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-523, /* MapValuesIterator[PropertyLayoutElement, Int] */
-1654, /* MapValuesIterator[MVirtualTypeProp, Int] */
+538, /* MapValuesIterator[MType, POSetElement[MType]] */
+1685, /* MapValuesIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MVirtualTypeProp, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, POSetElement[MClassType]] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Iterator#0]: Array[POSetElement[MClassType]] */
 }
 };
-/* runtime type MapValuesIterator[PropertyLayoutElement, Int] */
-const struct type type_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
-523,
-"MapValuesIterator[PropertyLayoutElement, Int]", /* class_name_string */
+/* runtime type MapValuesIterator[MType, POSetElement[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
+538,
+"MapValuesIterator[MType, POSetElement[MType]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-523, /* MapValuesIterator[PropertyLayoutElement, Int] */
+538, /* MapValuesIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[PropertyLayoutElement, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, POSetElement[MType]] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Iterator#0]: Array[POSetElement[MType]] */
 }
 };
-/* runtime type MapKeysIterator[MAttribute, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
-1655,
-"MapKeysIterator[MAttribute, Int]", /* class_name_string */
-3,
+/* runtime type Array[Array[MClass]] */
+const struct type type_array__Arrayarray__Arraymodel__MClass = {
+2662,
+"Array[Array[MClass]]", /* class_name_string */
+11,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int,
-4,
+&resolution_table_array__Arrayarray__Arraymodel__MClass,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-522, /* MapKeysIterator[PropertyLayoutElement, Int] */
-1655, /* MapKeysIterator[MAttribute, Int] */
+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_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
+const struct types resolution_table_array__Arrayarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MAttributekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MAttribute, Int] */
-&type_array__Arraymodel__MAttribute, /* Array[Iterator#0]: Array[MAttribute] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[Array#0]: Array[Array[MClass]] */
+&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[Array#0]: NativeArray[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Sequence#0: Array[MClass] */
+&type_array__Arraymodel__MClass, /* SimpleCollection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Array#0]: Collection[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Array#0: Array[MClass] */
+&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* AbstractArray#0: Array[MClass] */
+&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Sequence#0]: Collection[Array[MClass]] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[Sequence#0]: Array[Array[MClass]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[SimpleCollection#0]: Collection[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* SequenceRead#0: Array[MClass] */
+&type_array__Arraymodel__MClass, /* AbstractArrayRead#0: Array[MClass] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[AbstractArrayRead#0]: Array[Array[MClass]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClass]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MClass]] */
 }
 };
-/* runtime type MapValuesIterator[MAttribute, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
-1656,
-"MapValuesIterator[MAttribute, Int]", /* class_name_string */
-3,
+/* runtime type Array[Array[nullable MClass]] */
+const struct type type_array__Arrayarray__Arraynullable_model__MClass = {
+2590,
+"Array[Array[nullable MClass]]", /* class_name_string */
+8,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int,
-4,
+&resolution_table_array__Arrayarray__Arraynullable_model__MClass,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-523, /* MapValuesIterator[PropertyLayoutElement, Int] */
-1656, /* MapValuesIterator[MAttribute, Int] */
+1479, /* Collection[Array[nullable MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+-1, /* empty */
+1782, /* AbstractArrayRead[Object] */
+2461, /* AbstractArrayRead[Array[nullable MClass]] */
+2590, /* Array[Array[nullable MClass]] */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
+const struct types resolution_table_array__Arrayarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MAttributekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MAttribute, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Array#0]: Array[Array[nullable MClass]] */
+&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[Array#0]: NativeArray[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* Sequence#0: Array[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* SimpleCollection#0: Array[nullable MClass] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Array#0]: Collection[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* Array#0: Array[nullable MClass] */
+&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* AbstractArray#0: Array[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* RemovableCollection#0: Array[nullable MClass] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Sequence#0]: Collection[Array[nullable MClass]] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Sequence#0]: Array[Array[nullable MClass]] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[SimpleCollection#0]: Collection[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* Collection#0: Array[nullable MClass] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Collection#0]: Collection[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* SequenceRead#0: Array[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* AbstractArrayRead#0: Array[nullable MClass] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[AbstractArrayRead#0]: Array[Array[nullable MClass]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MClass]] not a live type) */
+&type_array__ArrayIteratorarray__Arraynullable_model__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MClass]] */
 }
 };
-/* runtime type Array[Set[MAttribute]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MAttribute = {
-2628,
-"Array[Set[MAttribute]]", /* class_name_string */
-14,
+/* runtime type AbstractArrayRead[Array[MClass]] */
+const struct type type_array__AbstractArrayReadarray__Arraymodel__MClass = {
+2591,
+"AbstractArrayRead[Array[MClass]]", /* class_name_string */
+10,
 0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MAttribute,
-15,
+NULL,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-2093, /* Collection[Set[MAttribute]] */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-1911, /* Array[Object] */
-2519, /* Array[Set[PropertyLayoutElement]] */
-2520, /* AbstractArrayRead[Set[MProperty]] */
-2577, /* AbstractArrayRead[Set[MAttribute]] */
-2585, /* Array[Set[MProperty]] */
-2628, /* Array[Set[MAttribute]] */
+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 */
+2591, /* AbstractArrayRead[Array[MClass]] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MAttribute = {
-0, /* dummy */
-{
-&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Array#0]: Array[Set[MAttribute]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[Array#0]: NativeArray[Set[MAttribute]] */
-&type_abstract_collection__Setmodel__MAttribute, /* Sequence#0: Set[MAttribute] */
-&type_abstract_collection__Setmodel__MAttribute, /* SimpleCollection#0: Set[MAttribute] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Array#0]: Collection[Set[MAttribute]] */
-&type_abstract_collection__Setmodel__MAttribute, /* Array#0: Set[MAttribute] */
-&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MAttribute]] */
-&type_abstract_collection__Setmodel__MAttribute, /* AbstractArray#0: Set[MAttribute] */
-&type_abstract_collection__Setmodel__MAttribute, /* RemovableCollection#0: Set[MAttribute] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Sequence#0]: Collection[Set[MAttribute]] */
-&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Sequence#0]: Array[Set[MAttribute]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[Set[MAttribute]] */
-&type_abstract_collection__Setmodel__MAttribute, /* Collection#0: Set[MAttribute] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Collection#0]: Collection[Set[MAttribute]] */
-&type_abstract_collection__Setmodel__MAttribute, /* SequenceRead#0: Set[MAttribute] */
-&type_abstract_collection__Setmodel__MAttribute, /* AbstractArrayRead#0: Set[MAttribute] */
-&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[AbstractArrayRead#0]: Array[Set[MAttribute]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MAttribute]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MAttribute, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MAttribute]] */
-}
-};
-/* runtime type AbstractArrayRead[Set[MAttribute]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MAttribute = {
-2577,
-"AbstractArrayRead[Set[MAttribute]]", /* class_name_string */
-12,
-0,
-NULL,
-13,
+/* runtime type AbstractArrayRead[Array[nullable MClass]] */
+const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MClass = {
+2461,
+"AbstractArrayRead[Array[nullable MClass]]", /* class_name_string */
+7,
+0,
+NULL,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-2093, /* Collection[Set[MAttribute]] */
-2397, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1479, /* Collection[Array[nullable MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
--1, /* empty */
-2520, /* AbstractArrayRead[Set[MProperty]] */
-2577, /* AbstractArrayRead[Set[MAttribute]] */
+1782, /* AbstractArrayRead[Object] */
+2461, /* AbstractArrayRead[Array[nullable MClass]] */
 },
 };
-/* runtime type ArrayIterator[MAttribute] */
-const struct type type_array__ArrayIteratormodel__MAttribute = {
-2402,
-"ArrayIterator[MAttribute]", /* class_name_string */
-6,
-0,
-&resolution_table_array__ArrayIteratormodel__MAttribute,
+/* runtime type Array[Array[MProperty]] */
+const struct type type_array__Arrayarray__Arraymodel__MProperty = {
+2592,
+"Array[Array[MProperty]]", /* class_name_string */
 7,
+0,
+&resolution_table_array__Arrayarray__Arraymodel__MProperty,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-286, /* ArrayIterator[nullable MProperty] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2060, /* ArrayIterator[MProperty] */
-2402, /* ArrayIterator[MAttribute] */
+1482, /* Collection[Array[MProperty]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2462, /* AbstractArrayRead[Array[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+2592, /* Array[Array[MProperty]] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MAttribute = {
+const struct types resolution_table_array__Arrayarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MAttribute, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttribute] */
-&type_array__Arraymodel__MAttribute, /* Array[Iterator#0]: Array[MAttribute] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Array#0]: Array[Array[MProperty]] */
+&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[Array#0]: NativeArray[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* Sequence#0: Array[MProperty] */
+&type_array__Arraymodel__MProperty, /* SimpleCollection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Array#0]: Collection[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* Array#0: Array[MProperty] */
+&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* AbstractArray#0: Array[MProperty] */
+&type_array__Arraymodel__MProperty, /* RemovableCollection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Sequence#0]: Collection[Array[MProperty]] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Sequence#0]: Array[Array[MProperty]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[SimpleCollection#0]: Collection[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* Collection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Collection#0]: Collection[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* SequenceRead#0: Array[MProperty] */
+&type_array__Arraymodel__MProperty, /* AbstractArrayRead#0: Array[MProperty] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[AbstractArrayRead#0]: Array[Array[MProperty]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MProperty]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymodel__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MProperty]] */
 }
 };
-/* runtime type NativeArray[MAttribute] */
-const struct type type_array__NativeArraymodel__MAttribute = {
-2403,
-"NativeArray[MAttribute]", /* class_name_string */
-6,
+/* runtime type AbstractArrayRead[Array[MProperty]] */
+const struct type type_array__AbstractArrayReadarray__Arraymodel__MProperty = {
+2462,
+"AbstractArrayRead[Array[MProperty]]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraymodel__MAttribute,
+NULL,
 7,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-287, /* NativeArray[nullable MProperty] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2061, /* NativeArray[MProperty] */
-2403, /* NativeArray[MAttribute] */
+1482, /* Collection[Array[MProperty]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2462, /* AbstractArrayRead[Array[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MAttribute = {
-0, /* dummy */
-{
-&type_model__MAttribute, /* NativeArray#0: MAttribute */
-&type_array__NativeArraymodel__MAttribute, /* NativeArray[NativeArray#0]: NativeArray[MAttribute] */
-}
-};
-/* runtime type MapKeysIterator[MType, Map[MType, Int]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-524,
-"MapKeysIterator[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+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__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-524, /* MapKeysIterator[MType, Map[MType, Int]] */
+539, /* MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Map[MType, Int]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&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[MType, Map[MType, Int]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-525,
-"MapValuesIterator[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+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__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-525, /* MapValuesIterator[MType, Map[MType, Int]] */
+540, /* MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Map[MType, Int]] */
-&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[Iterator#0]: Array[Map[MType, Int]] */
+&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 MapKeysIterator[MType, HashSet[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-1657,
-"MapKeysIterator[MType, HashSet[MType]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+2243,
+"HashMapKeys[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-472, /* MapKeysIterator[MType, Set[MType]] */
-1657, /* MapKeysIterator[MType, HashSet[MType]] */
+2243, /* HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+-1, /* empty */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, HashSet[MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type MapValuesIterator[MType, HashSet[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType = {
-1658,
-"MapValuesIterator[MType, HashSet[MType]]", /* class_name_string */
+/* runtime type HashMapValues[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1935,
+"HashMapValues[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType,
-4,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-473, /* MapValuesIterator[MType, Set[MType]] */
-1658, /* MapValuesIterator[MType, HashSet[MType]] */
+1686, /* Collection[HashMap[String, nullable MProperty]] */
+1935, /* HashMapValues[MType, HashMap[String, nullable MProperty]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, HashSet[MType]] */
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap[String, nullable MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection#0: HashMap[String, nullable MProperty] */
+&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[Collection#0]: Collection[HashMap[String, nullable MProperty]] */
 }
 };
-/* runtime type Array[EscapeMark] */
-const struct type type_array__Arrayscope__EscapeMark = {
-2525,
-"Array[EscapeMark]", /* class_name_string */
-7,
+/* runtime type Collection[HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1686,
+"Collection[HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arrayscope__EscapeMark,
-10,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1524, /* Collection[EscapeMark] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2404, /* AbstractArrayRead[EscapeMark] */
-1728, /* AbstractArrayRead[Object] */
-2525, /* Array[EscapeMark] */
+1686, /* Collection[HashMap[String, nullable MProperty]] */
 -1, /* empty */
-1911, /* Array[Object] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__Arrayscope__EscapeMark = {
+/* 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 = {
+541,
+"NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+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 = {
 0, /* dummy */
 {
-&type_array__Arrayscope__EscapeMark, /* Array[Array#0]: Array[EscapeMark] */
-&type_array__NativeArrayscope__EscapeMark, /* NativeArray[Array#0]: NativeArray[EscapeMark] */
-&type_scope__EscapeMark, /* Sequence#0: EscapeMark */
-&type_scope__EscapeMark, /* SimpleCollection#0: EscapeMark */
-&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Array#0]: Collection[EscapeMark] */
-&type_scope__EscapeMark, /* Array#0: EscapeMark */
-&type_array__NativeArrayscope__EscapeMark, /* NativeArray[ArrayCapable#0]: NativeArray[EscapeMark] */
-&type_scope__EscapeMark, /* AbstractArray#0: EscapeMark */
-&type_scope__EscapeMark, /* RemovableCollection#0: EscapeMark */
-&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Sequence#0]: Collection[EscapeMark] */
-&type_array__Arrayscope__EscapeMark, /* Array[Sequence#0]: Array[EscapeMark] */
-&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[SimpleCollection#0]: Collection[EscapeMark] */
-&type_scope__EscapeMark, /* Collection#0: EscapeMark */
-&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Collection#0]: Collection[EscapeMark] */
-&type_scope__EscapeMark, /* SequenceRead#0: EscapeMark */
-&type_scope__EscapeMark, /* AbstractArrayRead#0: EscapeMark */
-&type_array__Arrayscope__EscapeMark, /* Array[AbstractArrayRead#0]: Array[EscapeMark] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[EscapeMark] not a live type) */
-&type_array__ArrayIteratorscope__EscapeMark, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[EscapeMark] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 }
 };
-/* runtime type AbstractArrayRead[EscapeMark] */
-const struct type type_array__AbstractArrayReadscope__EscapeMark = {
-2404,
-"AbstractArrayRead[EscapeMark]", /* class_name_string */
-5,
+/* runtime type HashMapNode[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1687,
+"HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+3,
 0,
-NULL,
-7,
+&resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1524, /* Collection[EscapeMark] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2404, /* AbstractArrayRead[EscapeMark] */
-1728, /* AbstractArrayRead[Object] */
+156, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+1687, /* HashMapNode[MType, HashMap[String, nullable MProperty]] */
 },
 };
-/* runtime type Array[Set[MClassDef]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MClassDef = {
-2526,
-"Array[Set[MClassDef]]", /* class_name_string */
-7,
-0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MClassDef,
-10,
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+0, /* dummy */
+{
+&type_model__MType, /* HashMapNode#0: MType */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap[String, nullable MProperty] */
+&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* N: HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_model__MType, /* HashNode#0: MType */
+}
+};
+/* runtime type nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+156,
+"nullable HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-1533, /* Collection[Set[MClassDef]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2405, /* AbstractArrayRead[Set[MClassDef]] */
-1728, /* AbstractArrayRead[Object] */
-2526, /* Array[Set[MClassDef]] */
 -1, /* empty */
-1911, /* Array[Object] */
+156, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Array#0]: Array[Set[MClassDef]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[Array#0]: NativeArray[Set[MClassDef]] */
-&type_abstract_collection__Setmodel__MClassDef, /* Sequence#0: Set[MClassDef] */
-&type_abstract_collection__Setmodel__MClassDef, /* SimpleCollection#0: Set[MClassDef] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Array#0]: Collection[Set[MClassDef]] */
-&type_abstract_collection__Setmodel__MClassDef, /* Array#0: Set[MClassDef] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MClassDef]] */
-&type_abstract_collection__Setmodel__MClassDef, /* AbstractArray#0: Set[MClassDef] */
-&type_abstract_collection__Setmodel__MClassDef, /* RemovableCollection#0: Set[MClassDef] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Sequence#0]: Collection[Set[MClassDef]] */
-&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Sequence#0]: Array[Set[MClassDef]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[SimpleCollection#0]: Collection[Set[MClassDef]] */
-&type_abstract_collection__Setmodel__MClassDef, /* Collection#0: Set[MClassDef] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Collection#0]: Collection[Set[MClassDef]] */
-&type_abstract_collection__Setmodel__MClassDef, /* SequenceRead#0: Set[MClassDef] */
-&type_abstract_collection__Setmodel__MClassDef, /* AbstractArrayRead#0: Set[MClassDef] */
-&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[AbstractArrayRead#0]: Array[Set[MClassDef]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClassDef]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MClassDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MClassDef]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap[String, nullable MProperty] */
+&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* N: HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type AbstractArrayRead[Set[MClassDef]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClassDef = {
-2405,
-"AbstractArrayRead[Set[MClassDef]]", /* class_name_string */
-5,
-0,
-NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1533, /* Collection[Set[MClassDef]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2405, /* AbstractArrayRead[Set[MClassDef]] */
-1728, /* AbstractArrayRead[Object] */
-},
-};
-/* runtime type Array[Set[MClass]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MClass = {
-2527,
-"Array[Set[MClass]]", /* class_name_string */
-8,
+/* runtime type HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1688,
+"HashMapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MClass,
-10,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2406, /* AbstractArrayRead[Set[MClass]] */
-2527, /* Array[Set[MClass]] */
-1911, /* Array[Object] */
+542, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
+1688, /* HashMapIterator[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Array#0]: Array[Set[MClass]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[Array#0]: NativeArray[Set[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* Sequence#0: Set[MClass] */
-&type_abstract_collection__Setmodel__MClass, /* SimpleCollection#0: Set[MClass] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Array#0]: Collection[Set[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* Array#0: Set[MClass] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* AbstractArray#0: Set[MClass] */
-&type_abstract_collection__Setmodel__MClass, /* RemovableCollection#0: Set[MClass] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Sequence#0]: Collection[Set[MClass]] */
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Sequence#0]: Array[Set[MClass]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[SimpleCollection#0]: Collection[Set[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* Collection#0: Set[MClass] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Collection#0]: Collection[Set[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* SequenceRead#0: Set[MClass] */
-&type_abstract_collection__Setmodel__MClass, /* AbstractArrayRead#0: Set[MClass] */
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[AbstractArrayRead#0]: Array[Set[MClass]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClass]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MClass]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
 }
 };
-/* runtime type AbstractArrayRead[Set[MClass]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClass = {
-2406,
-"AbstractArrayRead[Set[MClass]]", /* class_name_string */
-7,
+/* runtime type MapIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+542,
+"MapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
 0,
 NULL,
-8,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
--1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2406, /* AbstractArrayRead[Set[MClass]] */
+542, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
 },
 };
-/* runtime type Array[Set[MClassType]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MClassType = {
-2588,
-"Array[Set[MClassType]]", /* class_name_string */
-11,
+/* runtime type HashMapKeys[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
+1936,
+"HashMapKeys[String, nullable MProperty]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MClassType,
-12,
+&resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1841, /* Collection[Set[MClassType]] */
-1728, /* AbstractArrayRead[Object] */
-2398, /* AbstractArrayRead[Set[MType]] */
-2521, /* Array[Set[MType]] */
-1911, /* Array[Object] */
-2528, /* AbstractArrayRead[Set[MClassType]] */
-2588, /* Array[Set[MClassType]] */
+631, /* Collection[String] */
+1936, /* HashMapKeys[String, nullable MProperty] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Array#0]: Array[Set[MClassType]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[Array#0]: NativeArray[Set[MClassType]] */
-&type_abstract_collection__Setmodel__MClassType, /* Sequence#0: Set[MClassType] */
-&type_abstract_collection__Setmodel__MClassType, /* SimpleCollection#0: Set[MClassType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Array#0]: Collection[Set[MClassType]] */
-&type_abstract_collection__Setmodel__MClassType, /* Array#0: Set[MClassType] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MClassType]] */
-&type_abstract_collection__Setmodel__MClassType, /* AbstractArray#0: Set[MClassType] */
-&type_abstract_collection__Setmodel__MClassType, /* RemovableCollection#0: Set[MClassType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Sequence#0]: Collection[Set[MClassType]] */
-&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Sequence#0]: Array[Set[MClassType]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[Set[MClassType]] */
-&type_abstract_collection__Setmodel__MClassType, /* Collection#0: Set[MClassType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Collection#0]: Collection[Set[MClassType]] */
-&type_abstract_collection__Setmodel__MClassType, /* SequenceRead#0: Set[MClassType] */
-&type_abstract_collection__Setmodel__MClassType, /* AbstractArrayRead#0: Set[MClassType] */
-&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[AbstractArrayRead#0]: Array[Set[MClassType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClassType]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MClassType]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, nullable MProperty] */
+&type_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, nullable MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* RemovableCollection#0: String */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* Collection#0: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type AbstractArrayRead[Set[MClassType]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClassType = {
-2528,
-"AbstractArrayRead[Set[MClassType]]", /* class_name_string */
-10,
-0,
-NULL,
-11,
-{
-0, /* nullable Object */
-1, /* Object */
-1479, /* Collection[Set[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1841, /* Collection[Set[MClassType]] */
-1728, /* AbstractArrayRead[Object] */
-2398, /* AbstractArrayRead[Set[MType]] */
--1, /* empty */
--1, /* empty */
-2528, /* AbstractArrayRead[Set[MClassType]] */
-},
-};
-/* runtime type MapKeysIterator[MClassType, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int = {
-1659,
-"MapKeysIterator[MClassType, Int]", /* class_name_string */
+/* runtime type HashMapValues[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
+1689,
+"HashMapValues[String, nullable MProperty]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int,
+&resolution_table_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-476, /* MapKeysIterator[MType, Int] */
-1659, /* MapKeysIterator[MClassType, Int] */
+179, /* Collection[nullable MProperty] */
+1689, /* HashMapValues[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Int] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, nullable MProperty] */
+&type_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, nullable MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_model__MProperty, /* RemovableCollection#0: nullable MProperty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_model__MProperty, /* Collection#0: nullable MProperty */
+&type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[Collection#0]: Collection[nullable MProperty] */
 }
 };
-/* runtime type MapValuesIterator[MClassType, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int = {
-1660,
-"MapValuesIterator[MClassType, Int]", /* class_name_string */
-3,
+/* runtime type NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+543,
+"NativeArray[nullable HashMapNode[String, nullable MProperty]]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int,
-4,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-477, /* MapValuesIterator[MType, Int] */
-1660, /* MapValuesIterator[MClassType, Int] */
+543, /* NativeArray[nullable HashMapNode[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[String, nullable MProperty] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
 }
 };
-/* runtime type MapKeysIterator[MClassType, Map[MType, Int]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1661,
-"MapKeysIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+/* runtime type HashMapNode[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+1690,
+"HashMapNode[String, nullable MProperty]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+&resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-524, /* MapKeysIterator[MType, Map[MType, Int]] */
-1661, /* MapKeysIterator[MClassType, Map[MType, Int]] */
+157, /* nullable HashMapNode[String, nullable MProperty] */
+1690, /* HashMapNode[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Map[MType, Int]] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_string__String, /* HashMapNode#0: String */
+&type_nullable_model__MProperty, /* HashMapNode#1: nullable MProperty */
+&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* N: HashMapNode[String, nullable MProperty] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type MapValuesIterator[MClassType, Map[MType, Int]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1662,
-"MapValuesIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+/* runtime type nullable HashMapNode[String, nullable MProperty] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+157,
+"nullable HashMapNode[String, nullable MProperty]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
 3,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-4,
 {
 0, /* nullable Object */
-1, /* Object */
-525, /* MapValuesIterator[MType, Map[MType, Int]] */
-1662, /* MapValuesIterator[MClassType, Map[MType, Int]] */
+-1, /* empty */
+157, /* nullable HashMapNode[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Map[MType, Int]] */
-&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[Iterator#0]: Array[Map[MType, Int]] */
+&type_string__String, /* HashMapNode#0: String */
+&type_nullable_model__MProperty, /* HashMapNode#1: nullable MProperty */
+&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* N: HashMapNode[String, nullable MProperty] */
+&type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type ArrayIterator[Scope] */
-const struct type type_array__ArrayIteratorscope__Scope = {
-1663,
-"ArrayIterator[Scope]", /* class_name_string */
+/* runtime type HashMapIterator[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
+1691,
+"HashMapIterator[String, nullable MProperty]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorscope__Scope,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1663, /* ArrayIterator[Scope] */
+544, /* MapIterator[String, nullable MProperty] */
+1691, /* HashMapIterator[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorscope__Scope = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadscope__Scope, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Scope] */
-&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, nullable MProperty] */
 }
 };
-/* runtime type NativeArray[Scope] */
-const struct type type_array__NativeArrayscope__Scope = {
-1664,
-"NativeArray[Scope]", /* class_name_string */
-3,
+/* runtime type MapIterator[String, nullable MProperty] */
+const struct type type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty = {
+544,
+"MapIterator[String, nullable MProperty]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayscope__Scope,
-4,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1664, /* NativeArray[Scope] */
+544, /* MapIterator[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__NativeArrayscope__Scope = {
-0, /* dummy */
-{
-&type_scope__Scope, /* NativeArray#0: Scope */
-&type_array__NativeArrayscope__Scope, /* NativeArray[NativeArray#0]: NativeArray[Scope] */
-}
-};
-/* runtime type MapKeysIterator[MClass, POSetElement[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
-526,
-"MapKeysIterator[MClass, POSetElement[MClass]]", /* class_name_string */
-2,
+/* runtime type Array[nullable ModulePath] */
+const struct type type_array__Arraynullable_modelbuilder__ModulePath = {
+2244,
+"Array[nullable ModulePath]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass,
-3,
+&resolution_table_array__Arraynullable_modelbuilder__ModulePath,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-526, /* MapKeysIterator[MClass, POSetElement[MClass]] */
+312, /* Collection[nullable ModulePath] */
+169, /* SequenceRead[nullable Object] */
+1937, /* AbstractArrayRead[nullable ModulePath] */
+2244, /* Array[nullable ModulePath] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_array__Arraynullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, POSetElement[MClass]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&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 MapValuesIterator[MClass, POSetElement[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
-527,
-"MapValuesIterator[MClass, POSetElement[MClass]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[nullable ModulePath] */
+const struct type type_array__AbstractArrayReadnullable_modelbuilder__ModulePath = {
+1937,
+"AbstractArrayRead[nullable ModulePath]", /* class_name_string */
+4,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass,
-3,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-527, /* MapValuesIterator[MClass, POSetElement[MClass]] */
+312, /* Collection[nullable ModulePath] */
+169, /* SequenceRead[nullable Object] */
+1937, /* AbstractArrayRead[nullable ModulePath] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
+/* 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_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, POSetElement[MClass]] */
-&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[Iterator#0]: Array[POSetElement[MClass]] */
+&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 HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1880,
-"HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[nullable MGroup] */
+const struct type type_array__AbstractArrayReadnullable_mproject__MGroup = {
+1938,
+"AbstractArrayRead[nullable MGroup]", /* class_name_string */
+7,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-5,
+NULL,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1880, /* HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
-164, /* Collection[Object] */
+227, /* Collection[nullable MGroup] */
+169, /* SequenceRead[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1938, /* AbstractArrayRead[nullable MGroup] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type Array[Set[MProperty]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MProperty = {
+2663,
+"Array[Set[MProperty]]", /* class_name_string */
+13,
+0,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MProperty,
+14,
+{
+0, /* nullable Object */
+1, /* Object */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1973, /* Array[Object] */
+2593, /* Array[Set[PropertyLayoutElement]] */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+-1, /* empty */
+2663, /* Array[Set[MProperty]] */
+},
+};
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MProperty = {
 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]]] */
-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_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Array#0]: Array[Set[MProperty]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[Array#0]: NativeArray[Set[MProperty]] */
+&type_abstract_collection__Setmodel__MProperty, /* Sequence#0: Set[MProperty] */
+&type_abstract_collection__Setmodel__MProperty, /* SimpleCollection#0: Set[MProperty] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Array#0]: Collection[Set[MProperty]] */
+&type_abstract_collection__Setmodel__MProperty, /* Array#0: Set[MProperty] */
+&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MProperty]] */
+&type_abstract_collection__Setmodel__MProperty, /* AbstractArray#0: Set[MProperty] */
+&type_abstract_collection__Setmodel__MProperty, /* RemovableCollection#0: Set[MProperty] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Sequence#0]: Collection[Set[MProperty]] */
+&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Sequence#0]: Array[Set[MProperty]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[SimpleCollection#0]: Collection[Set[MProperty]] */
+&type_abstract_collection__Setmodel__MProperty, /* Collection#0: Set[MProperty] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MProperty, /* Collection[Collection#0]: Collection[Set[MProperty]] */
+&type_abstract_collection__Setmodel__MProperty, /* SequenceRead#0: Set[MProperty] */
+&type_abstract_collection__Setmodel__MProperty, /* AbstractArrayRead#0: Set[MProperty] */
+&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[AbstractArrayRead#0]: Array[Set[MProperty]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MProperty]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MProperty]] */
 }
 };
-/* runtime type HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1881,
-"HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-3,
+/* runtime type Array[Set[PropertyLayoutElement]] */
+const struct type type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+2593,
+"Array[Set[PropertyLayoutElement]]", /* class_name_string */
+10,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-5,
+&resolution_table_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-1665, /* Collection[HashMap[MType, Array[MMethodDef]]] */
-1881, /* HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
-164, /* Collection[Object] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+-1, /* empty */
+1782, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+1973, /* Array[Object] */
+2593, /* Array[Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 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]]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* RemovableCollection#0: HashMap[MType, Array[MMethodDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection#0: HashMap[MType, Array[MMethodDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[Collection#0]: Collection[HashMap[MType, Array[MMethodDef]]] */
+&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Array#0]: Array[Set[PropertyLayoutElement]] */
+&type_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[Array#0]: NativeArray[Set[PropertyLayoutElement]] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Sequence#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* SimpleCollection#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Array#0]: Collection[Set[PropertyLayoutElement]] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array#0: Set[PropertyLayoutElement] */
+&type_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[ArrayCapable#0]: NativeArray[Set[PropertyLayoutElement]] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* AbstractArray#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* RemovableCollection#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Sequence#0]: Collection[Set[PropertyLayoutElement]] */
+&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Sequence#0]: Array[Set[PropertyLayoutElement]] */
+&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[SimpleCollection#0]: Collection[Set[PropertyLayoutElement]] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Collectionabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[Set[PropertyLayoutElement]] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* SequenceRead#0: Set[PropertyLayoutElement] */
+&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* AbstractArrayRead#0: Set[PropertyLayoutElement] */
+&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[AbstractArrayRead#0]: Array[Set[PropertyLayoutElement]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[PropertyLayoutElement]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setlayout_builders__PropertyLayoutElement, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type Collection[HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1665,
-"Collection[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Set[MProperty]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MProperty = {
+2594,
+"AbstractArrayRead[Set[MProperty]]", /* class_name_string */
+11,
 0,
 NULL,
-5,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-1665, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1853, /* Collection[Set[MProperty]] */
+1782, /* AbstractArrayRead[Object] */
 -1, /* empty */
-164, /* Collection[Object] */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+-1, /* empty */
+-1, /* empty */
+2594, /* AbstractArrayRead[Set[MProperty]] */
 },
 };
-/* 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 = {
-528,
-"NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Set[PropertyLayoutElement]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+2463,
+"AbstractArrayRead[Set[PropertyLayoutElement]]", /* class_name_string */
+8,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
+NULL,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-528, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+1505, /* Collection[Set[PropertyLayoutElement]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+-1, /* empty */
+1782, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2463, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type Array[HashSet[MType]] */
+const struct type type_array__Arrayhash_collection__HashSetmodel__MType = {
+2664,
+"Array[HashSet[MType]]", /* class_name_string */
+11,
+0,
+&resolution_table_array__Arrayhash_collection__HashSetmodel__MType,
+12,
+{
+0, /* nullable Object */
+1, /* Object */
+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 = {
 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_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Array#0]: Array[HashSet[MType]] */
+&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[Array#0]: NativeArray[HashSet[MType]] */
+&type_hash_collection__HashSetmodel__MType, /* Sequence#0: HashSet[MType] */
+&type_hash_collection__HashSetmodel__MType, /* SimpleCollection#0: HashSet[MType] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Array#0]: Collection[HashSet[MType]] */
+&type_hash_collection__HashSetmodel__MType, /* Array#0: HashSet[MType] */
+&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[HashSet[MType]] */
+&type_hash_collection__HashSetmodel__MType, /* AbstractArray#0: HashSet[MType] */
+&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Sequence#0]: Collection[HashSet[MType]] */
+&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Sequence#0]: Array[HashSet[MType]] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[SimpleCollection#0]: Collection[HashSet[MType]] */
+&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
+&type_hash_collection__HashSetmodel__MType, /* SequenceRead#0: HashSet[MType] */
+&type_hash_collection__HashSetmodel__MType, /* AbstractArrayRead#0: HashSet[MType] */
+&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[AbstractArrayRead#0]: Array[HashSet[MType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[HashSet[MType]] not a live type) */
+&type_array__ArrayIteratorhash_collection__HashSetmodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashSet[MType]] */
 }
 };
-/* runtime type HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1666,
-"HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-3,
+/* runtime type Array[Set[MType]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MType = {
+2595,
+"Array[Set[MType]]", /* class_name_string */
+8,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-4,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MType,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-152, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-1666, /* HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+-1, /* empty */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
+2595, /* Array[Set[MType]] */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_model_base__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_array__Arrayabstract_collection__Setmodel__MType, /* Array[Array#0]: Array[Set[MType]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[Array#0]: NativeArray[Set[MType]] */
+&type_abstract_collection__Setmodel__MType, /* Sequence#0: Set[MType] */
+&type_abstract_collection__Setmodel__MType, /* SimpleCollection#0: Set[MType] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Array#0]: Collection[Set[MType]] */
+&type_abstract_collection__Setmodel__MType, /* Array#0: Set[MType] */
+&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MType]] */
+&type_abstract_collection__Setmodel__MType, /* AbstractArray#0: Set[MType] */
+&type_abstract_collection__Setmodel__MType, /* RemovableCollection#0: Set[MType] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Sequence#0]: Collection[Set[MType]] */
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Sequence#0]: Array[Set[MType]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[SimpleCollection#0]: Collection[Set[MType]] */
+&type_abstract_collection__Setmodel__MType, /* Collection#0: Set[MType] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Collection#0]: Collection[Set[MType]] */
+&type_abstract_collection__Setmodel__MType, /* SequenceRead#0: Set[MType] */
+&type_abstract_collection__Setmodel__MType, /* AbstractArrayRead#0: Set[MType] */
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[AbstractArrayRead#0]: Array[Set[MType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MType]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MType]] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-152,
-"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,
-3,
+/* runtime type AbstractArrayRead[HashSet[MType]] */
+const struct type type_array__AbstractArrayReadhash_collection__HashSetmodel__MType = {
+2596,
+"AbstractArrayRead[HashSet[MType]]", /* class_name_string */
+10,
+0,
+NULL,
+11,
 {
 0, /* nullable Object */
+1, /* Object */
+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 */
-152, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+2596, /* AbstractArrayRead[HashSet[MType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type AbstractArrayRead[Set[MType]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MType = {
+2464,
+"AbstractArrayRead[Set[MType]]", /* class_name_string */
+7,
+0,
+NULL,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+-1, /* empty */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
+},
+};
+/* runtime type Array[Array[nullable MType]] */
+const struct type type_array__Arrayarray__Arraynullable_model__MType = {
+2665,
+"Array[Array[nullable MType]]", /* class_name_string */
+14,
+0,
+&resolution_table_array__Arrayarray__Arraynullable_model__MType,
+15,
+{
+0, /* nullable Object */
+1, /* Object */
+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 */
+1973, /* Array[Object] */
+2246, /* Array[nullable Array[nullable MType]] */
+-1, /* empty */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+-1, /* empty */
+2665, /* Array[Array[nullable MType]] */
+},
+};
+const struct types resolution_table_array__Arrayarray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model_base__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_array__Arrayarray__Arraynullable_model__MType, /* Array[Array#0]: Array[Array[nullable MType]] */
+&type_array__NativeArrayarray__Arraynullable_model__MType, /* NativeArray[Array#0]: NativeArray[Array[nullable MType]] */
+&type_array__Arraynullable_model__MType, /* Sequence#0: Array[nullable MType] */
+&type_array__Arraynullable_model__MType, /* SimpleCollection#0: Array[nullable MType] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Array#0]: Collection[Array[nullable MType]] */
+&type_array__Arraynullable_model__MType, /* Array#0: Array[nullable MType] */
+&type_array__NativeArrayarray__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MType]] */
+&type_array__Arraynullable_model__MType, /* AbstractArray#0: Array[nullable MType] */
+&type_array__Arraynullable_model__MType, /* RemovableCollection#0: Array[nullable MType] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Sequence#0]: Collection[Array[nullable MType]] */
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Sequence#0]: Array[Array[nullable MType]] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[SimpleCollection#0]: Collection[Array[nullable MType]] */
+&type_array__Arraynullable_model__MType, /* Collection#0: Array[nullable MType] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[Array[nullable MType]] */
+&type_array__Arraynullable_model__MType, /* SequenceRead#0: Array[nullable MType] */
+&type_array__Arraynullable_model__MType, /* AbstractArrayRead#0: Array[nullable MType] */
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[AbstractArrayRead#0]: Array[Array[nullable MType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MType]] not a live type) */
+&type_array__ArrayIteratorarray__Arraynullable_model__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MType]] */
 }
 };
-/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1667,
-"HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-3,
+/* runtime type Array[nullable Array[nullable MType]] */
+const struct type type_array__Arraynullable_array__Arraynullable_model__MType = {
+2246,
+"Array[nullable Array[nullable MType]]", /* class_name_string */
+10,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-4,
+&resolution_table_array__Arraynullable_array__Arraynullable_model__MType,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-529, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-1667, /* HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
+-1, /* empty */
+-1, /* empty */
+2246, /* Array[nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__Arraynullable_array__Arraynullable_model__MType = {
 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_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Array#0]: Array[nullable Array[nullable MType]] */
+&type_array__NativeArraynullable_array__Arraynullable_model__MType, /* NativeArray[Array#0]: NativeArray[nullable Array[nullable MType]] */
+&type_nullable_array__Arraynullable_model__MType, /* Sequence#0: nullable Array[nullable MType] */
+&type_nullable_array__Arraynullable_model__MType, /* SimpleCollection#0: nullable Array[nullable MType] */
+&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Array#0]: Collection[nullable Array[nullable MType]] */
+&type_nullable_array__Arraynullable_model__MType, /* Array#0: nullable Array[nullable MType] */
+&type_array__NativeArraynullable_array__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable Array[nullable MType]] */
+&type_nullable_array__Arraynullable_model__MType, /* AbstractArray#0: nullable Array[nullable MType] */
+&type_nullable_array__Arraynullable_model__MType, /* RemovableCollection#0: nullable Array[nullable MType] */
+&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Sequence#0]: Collection[nullable Array[nullable MType]] */
+&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Sequence#0]: Array[nullable Array[nullable MType]] */
+&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[SimpleCollection#0]: Collection[nullable Array[nullable MType]] */
+&type_nullable_array__Arraynullable_model__MType, /* Collection#0: nullable Array[nullable MType] */
+&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[nullable Array[nullable MType]] */
+&type_nullable_array__Arraynullable_model__MType, /* SequenceRead#0: nullable Array[nullable MType] */
+&type_nullable_array__Arraynullable_model__MType, /* AbstractArrayRead#0: nullable Array[nullable MType] */
+&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[AbstractArrayRead#0]: Array[nullable Array[nullable MType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[nullable Array[nullable MType]] not a live type) */
+&type_array__ArrayIteratornullable_array__Arraynullable_model__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[nullable Array[nullable MType]] */
 }
 };
-/* runtime type MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-529,
-"MapIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Array[nullable MType]] */
+const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MType = {
+2597,
+"AbstractArrayRead[Array[nullable MType]]", /* class_name_string */
+12,
 0,
 NULL,
-3,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-529, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+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 */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
 },
 };
-/* runtime type HashMapKeys[MType, Array[MMethodDef]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
-2179,
-"HashMapKeys[MType, Array[MMethodDef]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[nullable Array[nullable MType]] */
+const struct type type_array__AbstractArrayReadnullable_array__Arraynullable_model__MType = {
+1939,
+"AbstractArrayRead[nullable Array[nullable MType]]", /* class_name_string */
+7,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef,
+NULL,
 8,
 {
 0, /* nullable Object */
 1, /* Object */
-2179, /* HashMapKeys[MType, Array[MMethodDef]] */
+337, /* Collection[nullable Array[nullable MType]] */
+169, /* SequenceRead[nullable Object] */
+-1, /* empty */
 -1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
 -1, /* empty */
-1737, /* Collection[MType] */
+1939, /* AbstractArrayRead[nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MMethodDef]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MMethodDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
-}
-};
-/* runtime type HashMapValues[MType, Array[MMethodDef]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
-2180,
-"HashMapValues[MType, Array[MMethodDef]]", /* class_name_string */
-3,
+/* runtime type Array[Array[nullable MPropDef]] */
+const struct type type_array__Arrayarray__Arraynullable_model__MPropDef = {
+2598,
+"Array[Array[nullable MPropDef]]", /* class_name_string */
+8,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef,
-6,
+&resolution_table_array__Arrayarray__Arraynullable_model__MPropDef,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
-2180, /* HashMapValues[MType, Array[MMethodDef]] */
-164, /* Collection[Object] */
-1882, /* Collection[Array[MMethodDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+-1, /* empty */
+1782, /* AbstractArrayRead[Object] */
+2465, /* AbstractArrayRead[Array[nullable MPropDef]] */
+2598, /* Array[Array[nullable MPropDef]] */
+1973, /* Array[Object] */
 },
-};
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MMethodDef]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MMethodDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MMethodDef, /* RemovableCollection#0: Array[MMethodDef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MMethodDef, /* Collection#0: Array[MMethodDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[Collection#0]: Collection[Array[MMethodDef]] */
+};
+const struct types resolution_table_array__Arrayarray__Arraynullable_model__MPropDef = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Array#0]: Array[Array[nullable MPropDef]] */
+&type_array__NativeArrayarray__Arraynullable_model__MPropDef, /* NativeArray[Array#0]: NativeArray[Array[nullable MPropDef]] */
+&type_array__Arraynullable_model__MPropDef, /* Sequence#0: Array[nullable MPropDef] */
+&type_array__Arraynullable_model__MPropDef, /* SimpleCollection#0: Array[nullable MPropDef] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Array#0]: Collection[Array[nullable MPropDef]] */
+&type_array__Arraynullable_model__MPropDef, /* Array#0: Array[nullable MPropDef] */
+&type_array__NativeArrayarray__Arraynullable_model__MPropDef, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MPropDef]] */
+&type_array__Arraynullable_model__MPropDef, /* AbstractArray#0: Array[nullable MPropDef] */
+&type_array__Arraynullable_model__MPropDef, /* RemovableCollection#0: Array[nullable MPropDef] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Sequence#0]: Collection[Array[nullable MPropDef]] */
+&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Sequence#0]: Array[Array[nullable MPropDef]] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[SimpleCollection#0]: Collection[Array[nullable MPropDef]] */
+&type_array__Arraynullable_model__MPropDef, /* Collection#0: Array[nullable MPropDef] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MPropDef, /* Collection[Collection#0]: Collection[Array[nullable MPropDef]] */
+&type_array__Arraynullable_model__MPropDef, /* SequenceRead#0: Array[nullable MPropDef] */
+&type_array__Arraynullable_model__MPropDef, /* AbstractArrayRead#0: Array[nullable MPropDef] */
+&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[AbstractArrayRead#0]: Array[Array[nullable MPropDef]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MPropDef]] not a live type) */
+&type_array__ArrayIteratorarray__Arraynullable_model__MPropDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MPropDef]] */
 }
 };
-/* runtime type Collection[Array[MMethodDef]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel__MMethodDef = {
-1882,
-"Collection[Array[MMethodDef]]", /* class_name_string */
-5,
+/* runtime type AbstractArrayRead[Array[nullable MPropDef]] */
+const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MPropDef = {
+2465,
+"AbstractArrayRead[Array[nullable MPropDef]]", /* class_name_string */
+7,
 0,
 NULL,
-6,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-164, /* Collection[Object] */
-1882, /* Collection[Array[MMethodDef]] */
+1782, /* AbstractArrayRead[Object] */
+2465, /* AbstractArrayRead[Array[nullable MPropDef]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
-530,
-"NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+/* runtime type ArrayIterator[CodeFile] */
+const struct type type_array__ArrayIteratorabstract_compiler__CodeFile = {
+1692,
+"ArrayIterator[CodeFile]", /* class_name_string */
 3,
+0,
+&resolution_table_array__ArrayIteratorabstract_compiler__CodeFile,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-530, /* NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+289, /* ArrayIterator[Object] */
+1692, /* ArrayIterator[CodeFile] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__ArrayIteratorabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray#0: nullable HashMapNode[MType, Array[MMethodDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+&type_array__AbstractArrayReadabstract_compiler__CodeFile, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[CodeFile] */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
 }
 };
-/* runtime type HashMapNode[MType, Array[MMethodDef]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
-1668,
-"HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
+/* runtime type NativeArray[CodeFile] */
+const struct type type_array__NativeArrayabstract_compiler__CodeFile = {
+1693,
+"NativeArray[CodeFile]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_array__NativeArrayabstract_compiler__CodeFile,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-153, /* nullable HashMapNode[MType, Array[MMethodDef]] */
-1668, /* HashMapNode[MType, Array[MMethodDef]] */
+193, /* NativeArray[Object] */
+1693, /* NativeArray[CodeFile] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__NativeArrayabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MMethodDef, /* HashMapNode#1: Array[MMethodDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MType, Array[MMethodDef]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_abstract_compiler__CodeFile, /* NativeArray#0: CodeFile */
+&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[NativeArray#0]: NativeArray[CodeFile] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Array[MMethodDef]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
-153,
-"nullable HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+/* runtime type ArrayIterator[AbstractRuntimeFunction] */
+const struct type type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
+1694,
+"ArrayIterator[AbstractRuntimeFunction]", /* class_name_string */
 3,
+0,
+&resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-153, /* nullable HashMapNode[MType, Array[MMethodDef]] */
+1, /* Object */
+289, /* ArrayIterator[Object] */
+1694, /* ArrayIterator[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MMethodDef, /* HashMapNode#1: Array[MMethodDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MType, Array[MMethodDef]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__AbstractArrayReadabstract_compiler__AbstractRuntimeFunction, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AbstractRuntimeFunction] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
 }
 };
-/* runtime type HashMapIterator[MType, Array[MMethodDef]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
-1669,
-"HashMapIterator[MType, Array[MMethodDef]]", /* class_name_string */
+/* runtime type NativeArray[AbstractRuntimeFunction] */
+const struct type type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
+1695,
+"NativeArray[AbstractRuntimeFunction]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-531, /* MapIterator[MType, Array[MMethodDef]] */
-1669, /* HashMapIterator[MType, Array[MMethodDef]] */
+193, /* NativeArray[Object] */
+1695, /* NativeArray[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* NativeArray#0: AbstractRuntimeFunction */
+&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[NativeArray#0]: NativeArray[AbstractRuntimeFunction] */
 }
 };
-/* runtime type MapIterator[MType, Array[MMethodDef]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
-531,
-"MapIterator[MType, Array[MMethodDef]]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-531, /* 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 = {
-1883,
-"HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-3,
+/* runtime type Array[Array[MClassType]] */
+const struct type type_array__Arrayarray__Arraymodel__MClassType = {
+2720,
+"Array[Array[MClassType]]", /* class_name_string */
+17,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-5,
+&resolution_table_array__Arrayarray__Arraymodel__MClassType,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1883, /* HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
-164, /* Collection[Object] */
+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_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__Arrayarray__Arraymodel__MClassType = {
 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]]] */
-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_array__Arrayarray__Arraymodel__MClassType, /* Array[Array#0]: Array[Array[MClassType]] */
+&type_array__NativeArrayarray__Arraymodel__MClassType, /* NativeArray[Array#0]: NativeArray[Array[MClassType]] */
+&type_array__Arraymodel__MClassType, /* Sequence#0: Array[MClassType] */
+&type_array__Arraymodel__MClassType, /* SimpleCollection#0: Array[MClassType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Array#0]: Collection[Array[MClassType]] */
+&type_array__Arraymodel__MClassType, /* Array#0: Array[MClassType] */
+&type_array__NativeArrayarray__Arraymodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MClassType]] */
+&type_array__Arraymodel__MClassType, /* AbstractArray#0: Array[MClassType] */
+&type_array__Arraymodel__MClassType, /* RemovableCollection#0: Array[MClassType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Sequence#0]: Collection[Array[MClassType]] */
+&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Sequence#0]: Array[Array[MClassType]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[SimpleCollection#0]: Collection[Array[MClassType]] */
+&type_array__Arraymodel__MClassType, /* Collection#0: Array[MClassType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClassType, /* Collection[Collection#0]: Collection[Array[MClassType]] */
+&type_array__Arraymodel__MClassType, /* SequenceRead#0: Array[MClassType] */
+&type_array__Arraymodel__MClassType, /* AbstractArrayRead#0: Array[MClassType] */
+&type_array__Arrayarray__Arraymodel__MClassType, /* Array[AbstractArrayRead#0]: Array[Array[MClassType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClassType]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MClassType]] */
 }
 };
-/* runtime type HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1884,
-"HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-3,
+/* runtime type Array[Array[MType]] */
+const struct type type_array__Arrayarray__Arraymodel__MType = {
+2705,
+"Array[Array[MType]]", /* class_name_string */
+16,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-5,
+&resolution_table_array__Arrayarray__Arraymodel__MType,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-1670, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
-1884, /* HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
-164, /* Collection[Object] */
+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 */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
+2665, /* Array[Array[nullable MType]] */
+-1, /* empty */
+2705, /* Array[Array[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__Arrayarray__Arraymodel__MType = {
 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]]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* RemovableCollection#0: HashMap[MType, Array[MAttributeDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection#0: HashMap[MType, Array[MAttributeDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[Collection#0]: Collection[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__Arrayarray__Arraymodel__MType, /* Array[Array#0]: Array[Array[MType]] */
+&type_array__NativeArrayarray__Arraymodel__MType, /* NativeArray[Array#0]: NativeArray[Array[MType]] */
+&type_array__Arraymodel__MType, /* Sequence#0: Array[MType] */
+&type_array__Arraymodel__MType, /* SimpleCollection#0: Array[MType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Array#0]: Collection[Array[MType]] */
+&type_array__Arraymodel__MType, /* Array#0: Array[MType] */
+&type_array__NativeArrayarray__Arraymodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MType]] */
+&type_array__Arraymodel__MType, /* AbstractArray#0: Array[MType] */
+&type_array__Arraymodel__MType, /* RemovableCollection#0: Array[MType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Sequence#0]: Collection[Array[MType]] */
+&type_array__Arrayarray__Arraymodel__MType, /* Array[Sequence#0]: Array[Array[MType]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[SimpleCollection#0]: Collection[Array[MType]] */
+&type_array__Arraymodel__MType, /* Collection#0: Array[MType] */
+&type_abstract_collection__Collectionarray__Arraymodel__MType, /* Collection[Collection#0]: Collection[Array[MType]] */
+&type_array__Arraymodel__MType, /* SequenceRead#0: Array[MType] */
+&type_array__Arraymodel__MType, /* AbstractArrayRead#0: Array[MType] */
+&type_array__Arrayarray__Arraymodel__MType, /* Array[AbstractArrayRead#0]: Array[Array[MType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MType]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MType]] */
 }
 };
-/* runtime type Collection[HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1670,
-"Collection[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Array[MClassType]] */
+const struct type type_array__AbstractArrayReadarray__Arraymodel__MClassType = {
+2684,
+"AbstractArrayRead[Array[MClassType]]", /* class_name_string */
+15,
 0,
 NULL,
-5,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-1670, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+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 */
-164, /* Collection[Object] */
+2422, /* Collection[Array[MClassType]] */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
+-1, /* empty */
+2684, /* AbstractArrayRead[Array[MClassType]] */
 },
 };
-/* 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 = {
-532,
-"NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Array[MType]] */
+const struct type type_array__AbstractArrayReadarray__Arraymodel__MType = {
+2653,
+"AbstractArrayRead[Array[MType]]", /* class_name_string */
+13,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-3,
+NULL,
+14,
 {
 0, /* nullable Object */
 1, /* Object */
-532, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+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 */
+2597, /* AbstractArrayRead[Array[nullable MType]] */
+2653, /* AbstractArrayRead[Array[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__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]]]] */
-}
-};
-/* runtime type HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1671,
-"HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Array[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass = {
+1696,
+"MapKeysIterator[MClass, Array[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-154, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-1671, /* HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+491, /* MapKeysIterator[MClass, Array[nullable MClass]] */
+1696, /* MapKeysIterator[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model_base__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_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-154,
-"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,
+/* runtime type MapValuesIterator[MClass, Array[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass = {
+1697,
+"MapValuesIterator[MClass, Array[MClass]]", /* class_name_string */
 3,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-154, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1, /* Object */
+492, /* MapValuesIterator[MClass, Array[nullable MClass]] */
+1697, /* MapValuesIterator[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model_base__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_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[MClass]] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
 }
 };
-/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1672,
-"HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, HashSet[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+1698,
+"MapKeysIterator[MClass, HashSet[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-533, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-1672, /* HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+545, /* MapKeysIterator[MClass, Set[MClass]] */
+1698, /* MapKeysIterator[MClass, HashSet[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
 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_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, HashSet[MClass]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-533,
-"MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+/* runtime type MapKeysIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+545,
+"MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-533, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-},
-};
-/* runtime type HashMapKeys[MType, Array[MAttributeDef]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
-2181,
-"HashMapKeys[MType, Array[MAttributeDef]]", /* class_name_string */
-2,
-0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-2181, /* HashMapKeys[MType, Array[MAttributeDef]] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+545, /* MapKeysIterator[MClass, Set[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MAttributeDef]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MAttributeDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MClass]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type HashMapValues[MType, Array[MAttributeDef]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
-2182,
-"HashMapValues[MType, Array[MAttributeDef]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, HashSet[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+1699,
+"MapValuesIterator[MClass, HashSet[MClass]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
-2182, /* HashMapValues[MType, Array[MAttributeDef]] */
-164, /* Collection[Object] */
-1885, /* Collection[Array[MAttributeDef]] */
+546, /* MapValuesIterator[MClass, Set[MClass]] */
+1699, /* MapValuesIterator[MClass, HashSet[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MAttributeDef]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MAttributeDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MAttributeDef, /* RemovableCollection#0: Array[MAttributeDef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MAttributeDef, /* Collection#0: Array[MAttributeDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[Collection#0]: Collection[Array[MAttributeDef]] */
+&type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, HashSet[MClass]] */
+&type_array__Arrayhash_collection__HashSetmodel__MClass, /* Array[Iterator#0]: Array[HashSet[MClass]] */
 }
 };
-/* runtime type Collection[Array[MAttributeDef]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef = {
-1885,
-"Collection[Array[MAttributeDef]]", /* class_name_string */
-5,
-0,
-NULL,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
--1, /* empty */
-164, /* Collection[Object] */
-1885, /* Collection[Array[MAttributeDef]] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
-534,
-"NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+546,
+"MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-534, /* NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+546, /* MapValuesIterator[MClass, Set[MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray#0: nullable HashMapNode[MType, Array[MAttributeDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MClass]] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
 }
 };
-/* runtime type HashMapNode[MType, Array[MAttributeDef]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
-1673,
-"HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MClass, Map[MClass, Int]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+547,
+"MapKeysIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-155, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
-1673, /* HashMapNode[MType, Array[MAttributeDef]] */
+547, /* MapKeysIterator[MClass, Map[MClass, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MAttributeDef, /* HashMapNode#1: Array[MAttributeDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MType, Array[MAttributeDef]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Map[MClass, Int]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Array[MAttributeDef]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
-155,
-"nullable HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, Map[MClass, Int]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+548,
+"MapValuesIterator[MClass, Map[MClass, Int]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-155, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
+1, /* Object */
+548, /* MapValuesIterator[MClass, Map[MClass, Int]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MAttributeDef, /* HashMapNode#1: Array[MAttributeDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MType, Array[MAttributeDef]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Map[MClass, Int]] */
+&type_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int, /* Array[Iterator#0]: Array[Map[MClass, Int]] */
 }
 };
-/* runtime type HashMapIterator[MType, Array[MAttributeDef]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
-1674,
-"HashMapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
-3,
+/* runtime type Array[Set[MVirtualTypeProp]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp = {
+2706,
+"Array[Set[MVirtualTypeProp]]", /* class_name_string */
+14,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef,
-4,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-535, /* MapIterator[MType, Array[MAttributeDef]] */
-1674, /* HashMapIterator[MType, Array[MAttributeDef]] */
+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_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MAttributeDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Array#0]: Array[Set[MVirtualTypeProp]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[Array#0]: NativeArray[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Sequence#0: Set[MVirtualTypeProp] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* SimpleCollection#0: Set[MVirtualTypeProp] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Array#0]: Collection[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Array#0: Set[MVirtualTypeProp] */
+&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArray#0: Set[MVirtualTypeProp] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* RemovableCollection#0: Set[MVirtualTypeProp] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Sequence#0]: Collection[Set[MVirtualTypeProp]] */
+&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Sequence#0]: Array[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Collection#0: Set[MVirtualTypeProp] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[Set[MVirtualTypeProp]] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* SequenceRead#0: Set[MVirtualTypeProp] */
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArrayRead#0: Set[MVirtualTypeProp] */
+&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[AbstractArrayRead#0]: Array[Set[MVirtualTypeProp]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MVirtualTypeProp]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MVirtualTypeProp]] */
 }
 };
-/* runtime type MapIterator[MType, Array[MAttributeDef]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
-535,
-"MapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Set[MVirtualTypeProp]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MVirtualTypeProp = {
+2654,
+"AbstractArrayRead[Set[MVirtualTypeProp]]", /* class_name_string */
+12,
 0,
 NULL,
-3,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-535, /* MapIterator[MType, Array[MAttributeDef]] */
+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 */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+2654, /* AbstractArrayRead[Set[MVirtualTypeProp]] */
 },
 };
-/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1886,
-"HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[MVirtualTypeProp] */
+const struct type type_array__ArrayIteratormodel__MVirtualTypeProp = {
+2466,
+"ArrayIterator[MVirtualTypeProp]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-5,
+&resolution_table_array__ArrayIteratormodel__MVirtualTypeProp,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1886, /* HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-164, /* Collection[Object] */
+289, /* ArrayIterator[Object] */
+300, /* ArrayIterator[nullable MProperty] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2125, /* ArrayIterator[MProperty] */
+2466, /* ArrayIterator[MVirtualTypeProp] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeProp = {
 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]]] */
-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_array__AbstractArrayReadmodel__MVirtualTypeProp, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualTypeProp] */
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[MVirtualTypeProp] */
 }
 };
-/* runtime type HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1887,
-"HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+/* runtime type NativeArray[MVirtualTypeProp] */
+const struct type type_array__NativeArraymodel__MVirtualTypeProp = {
+2467,
+"NativeArray[MVirtualTypeProp]", /* class_name_string */
+6,
+0,
+&resolution_table_array__NativeArraymodel__MVirtualTypeProp,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+193, /* NativeArray[Object] */
+301, /* NativeArray[nullable MProperty] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2126, /* NativeArray[MProperty] */
+2467, /* NativeArray[MVirtualTypeProp] */
+},
+};
+const struct types resolution_table_array__NativeArraymodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_model__MVirtualTypeProp, /* NativeArray#0: MVirtualTypeProp */
+&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[NativeArray#0]: NativeArray[MVirtualTypeProp] */
+}
+};
+/* runtime type MapKeysIterator[MVirtualTypeProp, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
+1700,
+"MapKeysIterator[MVirtualTypeProp, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1675, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-1887, /* HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-164, /* Collection[Object] */
+549, /* MapKeysIterator[PropertyLayoutElement, Int] */
+1700, /* MapKeysIterator[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
 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]]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: HashMap[MType, Array[MVirtualTypeDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MVirtualTypeProp, Int] */
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[MVirtualTypeProp] */
 }
 };
-/* runtime type Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1675,
-"Collection[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1675, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
--1, /* empty */
-164, /* 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 = {
-536,
-"NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]]", /* class_name_string */
+/* runtime type MapKeysIterator[PropertyLayoutElement, Int] */
+const struct type type_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+549,
+"MapKeysIterator[PropertyLayoutElement, Int]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-536, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+549, /* MapKeysIterator[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
 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_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[PropertyLayoutElement, Int] */
+&type_array__Arraylayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[PropertyLayoutElement] */
 }
 };
-/* runtime type HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1676,
-"HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+/* runtime type MapValuesIterator[MVirtualTypeProp, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
+1701,
+"MapValuesIterator[MVirtualTypeProp, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-156, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-1676, /* HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+550, /* MapValuesIterator[PropertyLayoutElement, Int] */
+1701, /* MapValuesIterator[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
 0, /* dummy */
 {
-&type_model_base__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_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MVirtualTypeProp, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-156,
-"nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+/* runtime type MapValuesIterator[PropertyLayoutElement, Int] */
+const struct type type_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+550,
+"MapValuesIterator[PropertyLayoutElement, Int]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+0,
+&resolution_table_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-156, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1, /* Object */
+550, /* MapValuesIterator[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_model_base__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_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[PropertyLayoutElement, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1677,
-"HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+/* runtime type MapKeysIterator[MAttribute, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
+1702,
+"MapKeysIterator[MAttribute, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-537, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-1677, /* HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+549, /* MapKeysIterator[PropertyLayoutElement, Int] */
+1702, /* MapKeysIterator[MAttribute, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
 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_abstract_collection__MapIteratormodel__MAttributekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MAttribute, Int] */
+&type_array__Arraymodel__MAttribute, /* Array[Iterator#0]: Array[MAttribute] */
 }
 };
-/* runtime type MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-537,
-"MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-2,
-0,
-NULL,
+/* runtime type MapValuesIterator[MAttribute, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
+1703,
+"MapValuesIterator[MAttribute, Int]", /* class_name_string */
 3,
-{
-0, /* nullable Object */
-1, /* Object */
-537, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-},
-};
-/* runtime type HashMapKeys[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-2183,
-"HashMapKeys[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-8,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-2183, /* HashMapKeys[MType, Array[MVirtualTypeDef]] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+550, /* MapValuesIterator[PropertyLayoutElement, Int] */
+1703, /* MapValuesIterator[MAttribute, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MVirtualTypeDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_abstract_collection__MapIteratormodel__MAttributekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MAttribute, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type HashMapValues[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-2184,
-"HashMapValues[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-3,
+/* runtime type Array[Set[MAttribute]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MAttribute = {
+2707,
+"Array[Set[MAttribute]]", /* class_name_string */
+14,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-6,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MAttribute,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
-2184, /* HashMapValues[MType, Array[MVirtualTypeDef]] */
-164, /* Collection[Object] */
-1888, /* Collection[Array[MVirtualTypeDef]] */
+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_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MAttribute = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MVirtualTypeDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: Array[MVirtualTypeDef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraymodel__MVirtualTypeDef, /* Collection#0: Array[MVirtualTypeDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[Array[MVirtualTypeDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Array#0]: Array[Set[MAttribute]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[Array#0]: NativeArray[Set[MAttribute]] */
+&type_abstract_collection__Setmodel__MAttribute, /* Sequence#0: Set[MAttribute] */
+&type_abstract_collection__Setmodel__MAttribute, /* SimpleCollection#0: Set[MAttribute] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Array#0]: Collection[Set[MAttribute]] */
+&type_abstract_collection__Setmodel__MAttribute, /* Array#0: Set[MAttribute] */
+&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MAttribute]] */
+&type_abstract_collection__Setmodel__MAttribute, /* AbstractArray#0: Set[MAttribute] */
+&type_abstract_collection__Setmodel__MAttribute, /* RemovableCollection#0: Set[MAttribute] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Sequence#0]: Collection[Set[MAttribute]] */
+&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Sequence#0]: Array[Set[MAttribute]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[Set[MAttribute]] */
+&type_abstract_collection__Setmodel__MAttribute, /* Collection#0: Set[MAttribute] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Collection#0]: Collection[Set[MAttribute]] */
+&type_abstract_collection__Setmodel__MAttribute, /* SequenceRead#0: Set[MAttribute] */
+&type_abstract_collection__Setmodel__MAttribute, /* AbstractArrayRead#0: Set[MAttribute] */
+&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[AbstractArrayRead#0]: Array[Set[MAttribute]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MAttribute]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MAttribute, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MAttribute]] */
 }
 };
-/* runtime type Collection[Array[MVirtualTypeDef]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef = {
-1888,
-"Collection[Array[MVirtualTypeDef]]", /* class_name_string */
-5,
+/* runtime type AbstractArrayRead[Set[MAttribute]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MAttribute = {
+2655,
+"AbstractArrayRead[Set[MAttribute]]", /* class_name_string */
+12,
 0,
 NULL,
-6,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-1488, /* Collection[Array[nullable MPropDef]] */
+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 */
-164, /* Collection[Object] */
-1888, /* Collection[Array[MVirtualTypeDef]] */
+-1, /* empty */
+2594, /* AbstractArrayRead[Set[MProperty]] */
+2655, /* AbstractArrayRead[Set[MAttribute]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-538,
-"NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[MAttribute] */
+const struct type type_array__ArrayIteratormodel__MAttribute = {
+2468,
+"ArrayIterator[MAttribute]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
-3,
+&resolution_table_array__ArrayIteratormodel__MAttribute,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-538, /* NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+289, /* ArrayIterator[Object] */
+300, /* ArrayIterator[nullable MProperty] */
+1475, /* ArrayIterator[PropertyLayoutElement] */
+2125, /* ArrayIterator[MProperty] */
+2468, /* ArrayIterator[MAttribute] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__ArrayIteratormodel__MAttribute = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray#0: nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+&type_array__AbstractArrayReadmodel__MAttribute, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttribute] */
+&type_array__Arraymodel__MAttribute, /* Array[Iterator#0]: Array[MAttribute] */
 }
 };
-/* runtime type HashMapNode[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1678,
-"HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-3,
+/* runtime type NativeArray[MAttribute] */
+const struct type type_array__NativeArraymodel__MAttribute = {
+2469,
+"NativeArray[MAttribute]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
-4,
+&resolution_table_array__NativeArraymodel__MAttribute,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-157, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
-1678, /* HashMapNode[MType, Array[MVirtualTypeDef]] */
+193, /* NativeArray[Object] */
+301, /* NativeArray[nullable MProperty] */
+1476, /* NativeArray[PropertyLayoutElement] */
+2126, /* NativeArray[MProperty] */
+2469, /* NativeArray[MAttribute] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__NativeArraymodel__MAttribute = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: Array[MVirtualTypeDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MType, Array[MVirtualTypeDef]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_model__MAttribute, /* NativeArray#0: MAttribute */
+&type_array__NativeArraymodel__MAttribute, /* NativeArray[NativeArray#0]: NativeArray[MAttribute] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-157,
-"nullable HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+/* runtime type MapKeysIterator[MType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+551,
+"MapKeysIterator[MType, Map[MType, Int]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-157, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+1, /* Object */
+551, /* MapKeysIterator[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Map[MType, Int]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+}
+};
+/* runtime type MapValuesIterator[MType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+552,
+"MapValuesIterator[MType, Map[MType, Int]]", /* class_name_string */
+2,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+552, /* MapValuesIterator[MType, Map[MType, Int]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: Array[MVirtualTypeDef] */
-&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MType, Array[MVirtualTypeDef]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Map[MType, Int]] */
+&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[Iterator#0]: Array[Map[MType, Int]] */
 }
 };
-/* runtime type HashMapIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1679,
-"HashMapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+/* runtime type MapKeysIterator[MType, HashSet[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+1704,
+"MapKeysIterator[MType, HashSet[MType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-539, /* MapIterator[MType, Array[MVirtualTypeDef]] */
-1679, /* HashMapIterator[MType, Array[MVirtualTypeDef]] */
+499, /* MapKeysIterator[MType, Set[MType]] */
+1704, /* MapKeysIterator[MType, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, HashSet[MType]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
 }
 };
-/* runtime type MapIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-539,
-"MapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-2,
-0,
-NULL,
+/* runtime type MapValuesIterator[MType, HashSet[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+1705,
+"MapValuesIterator[MType, HashSet[MType]]", /* class_name_string */
 3,
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-539, /* MapIterator[MType, Array[MVirtualTypeDef]] */
+500, /* MapValuesIterator[MType, Set[MType]] */
+1705, /* MapValuesIterator[MType, HashSet[MType]] */
 },
 };
-/* runtime type Array[POSetElement[Phase]] */
-const struct type type_array__Arrayposet__POSetElementphase__Phase = {
-2529,
-"Array[POSetElement[Phase]]", /* class_name_string */
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+0, /* dummy */
+{
+&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, HashSet[MType]] */
+&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
+}
+};
+/* runtime type Array[EscapeMark] */
+const struct type type_array__Arrayscope__EscapeMark = {
+2599,
+"Array[EscapeMark]", /* class_name_string */
 7,
 0,
-&resolution_table_array__Arrayposet__POSetElementphase__Phase,
+&resolution_table_array__Arrayscope__EscapeMark,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
-1581, /* Collection[POSetElement[Phase]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2407, /* AbstractArrayRead[POSetElement[Phase]] */
-1728, /* AbstractArrayRead[Object] */
-2529, /* Array[POSetElement[Phase]] */
+1566, /* Collection[EscapeMark] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2470, /* AbstractArrayRead[EscapeMark] */
+1782, /* AbstractArrayRead[Object] */
+2599, /* Array[EscapeMark] */
 -1, /* empty */
-1911, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementphase__Phase = {
+const struct types resolution_table_array__Arrayscope__EscapeMark = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Array#0]: Array[POSetElement[Phase]] */
-&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[Array#0]: NativeArray[POSetElement[Phase]] */
-&type_poset__POSetElementphase__Phase, /* Sequence#0: POSetElement[Phase] */
-&type_poset__POSetElementphase__Phase, /* SimpleCollection#0: POSetElement[Phase] */
-&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Array#0]: Collection[POSetElement[Phase]] */
-&type_poset__POSetElementphase__Phase, /* Array#0: POSetElement[Phase] */
-&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[Phase]] */
-&type_poset__POSetElementphase__Phase, /* AbstractArray#0: POSetElement[Phase] */
-&type_poset__POSetElementphase__Phase, /* RemovableCollection#0: POSetElement[Phase] */
-&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Sequence#0]: Collection[POSetElement[Phase]] */
-&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Sequence#0]: Array[POSetElement[Phase]] */
-&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[SimpleCollection#0]: Collection[POSetElement[Phase]] */
-&type_poset__POSetElementphase__Phase, /* Collection#0: POSetElement[Phase] */
-&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Collection#0]: Collection[POSetElement[Phase]] */
-&type_poset__POSetElementphase__Phase, /* SequenceRead#0: POSetElement[Phase] */
-&type_poset__POSetElementphase__Phase, /* AbstractArrayRead#0: POSetElement[Phase] */
-&type_array__Arrayposet__POSetElementphase__Phase, /* Array[AbstractArrayRead#0]: Array[POSetElement[Phase]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[Phase]] not a live type) */
-&type_array__ArrayIteratorposet__POSetElementphase__Phase, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[Phase]] */
+&type_array__Arrayscope__EscapeMark, /* Array[Array#0]: Array[EscapeMark] */
+&type_array__NativeArrayscope__EscapeMark, /* NativeArray[Array#0]: NativeArray[EscapeMark] */
+&type_scope__EscapeMark, /* Sequence#0: EscapeMark */
+&type_scope__EscapeMark, /* SimpleCollection#0: EscapeMark */
+&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Array#0]: Collection[EscapeMark] */
+&type_scope__EscapeMark, /* Array#0: EscapeMark */
+&type_array__NativeArrayscope__EscapeMark, /* NativeArray[ArrayCapable#0]: NativeArray[EscapeMark] */
+&type_scope__EscapeMark, /* AbstractArray#0: EscapeMark */
+&type_scope__EscapeMark, /* RemovableCollection#0: EscapeMark */
+&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Sequence#0]: Collection[EscapeMark] */
+&type_array__Arrayscope__EscapeMark, /* Array[Sequence#0]: Array[EscapeMark] */
+&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[SimpleCollection#0]: Collection[EscapeMark] */
+&type_scope__EscapeMark, /* Collection#0: EscapeMark */
+&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Collection#0]: Collection[EscapeMark] */
+&type_scope__EscapeMark, /* SequenceRead#0: EscapeMark */
+&type_scope__EscapeMark, /* AbstractArrayRead#0: EscapeMark */
+&type_array__Arrayscope__EscapeMark, /* Array[AbstractArrayRead#0]: Array[EscapeMark] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[EscapeMark] not a live type) */
+&type_array__ArrayIteratorscope__EscapeMark, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[EscapeMark] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[Phase]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementphase__Phase = {
-2407,
-"AbstractArrayRead[POSetElement[Phase]]", /* class_name_string */
+/* runtime type AbstractArrayRead[EscapeMark] */
+const struct type type_array__AbstractArrayReadscope__EscapeMark = {
+2470,
+"AbstractArrayRead[EscapeMark]", /* class_name_string */
 5,
 0,
 NULL,
@@ -8295,169 +8182,198 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1581, /* Collection[POSetElement[Phase]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2407, /* AbstractArrayRead[POSetElement[Phase]] */
-1728, /* AbstractArrayRead[Object] */
+1566, /* Collection[EscapeMark] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2470, /* AbstractArrayRead[EscapeMark] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-/* runtime type Array[POSetElement[MModule]] */
-const struct type type_array__Arrayposet__POSetElementmodel_base__MModule = {
-2530,
-"Array[POSetElement[MModule]]", /* class_name_string */
-7,
+/* 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_array__Arrayposet__POSetElementmodel_base__MModule,
-10,
+&resolution_table_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1584, /* Collection[POSetElement[MModule]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2408, /* AbstractArrayRead[POSetElement[MModule]] */
-1728, /* AbstractArrayRead[Object] */
-2530, /* Array[POSetElement[MModule]] */
--1, /* empty */
-1911, /* Array[Object] */
+553, /* MapKeysIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
 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]] */
+&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 AbstractArrayRead[POSetElement[MModule]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel_base__MModule = {
-2408,
-"AbstractArrayRead[POSetElement[MModule]]", /* class_name_string */
+/* runtime type HashSetNode[MGroup] */
+const struct type type_hash_collection__HashSetNodemproject__MGroup = {
+2247,
+"HashSetNode[MGroup]", /* class_name_string */
 5,
 0,
-NULL,
-7,
+&resolution_table_hash_collection__HashSetNodemproject__MGroup,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1584, /* Collection[POSetElement[MModule]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2408, /* AbstractArrayRead[POSetElement[MModule]] */
-1728, /* AbstractArrayRead[Object] */
+121, /* nullable HashSetNode[Object] */
+555, /* nullable HashSetNode[MGroup] */
+1500, /* HashSetNode[Object] */
+2247, /* HashSetNode[MGroup] */
 },
 };
-/* runtime type ArrayIterator[Array[MModule]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel_base__MModule = {
-1680,
-"ArrayIterator[Array[MModule]]", /* class_name_string */
+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_array__ArrayIteratorarray__Arraymodel_base__MModule,
+&resolution_table_hash_collection__HashSetIteratormproject__MGroup,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1680, /* ArrayIterator[Array[MModule]] */
+324, /* HashSetIterator[Object] */
+1706, /* HashSetIterator[MGroup] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashSetIteratormproject__MGroup = {
 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_hash_collection__HashSetmproject__MGroup, /* HashSet[HashSetIterator#0]: HashSet[MGroup] */
+&type_array__Arraymproject__MGroup, /* Array[Iterator#0]: Array[MGroup] */
 }
 };
-/* runtime type NativeArray[Array[MModule]] */
-const struct type type_array__NativeArrayarray__Arraymodel_base__MModule = {
-1681,
-"NativeArray[Array[MModule]]", /* class_name_string */
+/* 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__NativeArrayarray__Arraymodel_base__MModule,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1681, /* NativeArray[Array[MModule]] */
+325, /* NativeArray[nullable HashSetNode[Object]] */
+1707, /* NativeArray[nullable HashSetNode[MGroup]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel_base__MModule = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup = {
 0, /* dummy */
 {
-&type_array__Arraymodel_base__MModule, /* NativeArray#0: Array[MModule] */
-&type_array__NativeArrayarray__Arraymodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[Array[MModule]] */
+&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[POSetElement[MClassDef]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClassDef = {
-2531,
-"Array[POSetElement[MClassDef]]", /* class_name_string */
+/* runtime type Array[Set[MClassDef]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MClassDef = {
+2600,
+"Array[Set[MClassDef]]", /* class_name_string */
 7,
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClassDef,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MClassDef,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
-1587, /* Collection[POSetElement[MClassDef]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2409, /* AbstractArrayRead[POSetElement[MClassDef]] */
-1728, /* AbstractArrayRead[Object] */
-2531, /* Array[POSetElement[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 */
-1911, /* Array[Object] */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Array#0]: Array[POSetElement[MClassDef]] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[Array#0]: NativeArray[POSetElement[MClassDef]] */
-&type_poset__POSetElementmodel__MClassDef, /* Sequence#0: POSetElement[MClassDef] */
-&type_poset__POSetElementmodel__MClassDef, /* SimpleCollection#0: POSetElement[MClassDef] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[Array#0]: Collection[POSetElement[MClassDef]] */
-&type_poset__POSetElementmodel__MClassDef, /* Array#0: POSetElement[MClassDef] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MClassDef]] */
-&type_poset__POSetElementmodel__MClassDef, /* AbstractArray#0: POSetElement[MClassDef] */
-&type_poset__POSetElementmodel__MClassDef, /* RemovableCollection#0: POSetElement[MClassDef] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[Sequence#0]: Collection[POSetElement[MClassDef]] */
-&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Sequence#0]: Array[POSetElement[MClassDef]] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[SimpleCollection#0]: Collection[POSetElement[MClassDef]] */
-&type_poset__POSetElementmodel__MClassDef, /* Collection#0: POSetElement[MClassDef] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[Collection#0]: Collection[POSetElement[MClassDef]] */
-&type_poset__POSetElementmodel__MClassDef, /* SequenceRead#0: POSetElement[MClassDef] */
-&type_poset__POSetElementmodel__MClassDef, /* AbstractArrayRead#0: POSetElement[MClassDef] */
-&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[AbstractArrayRead#0]: Array[POSetElement[MClassDef]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[MClassDef]] not a live type) */
-&type_array__ArrayIteratorposet__POSetElementmodel__MClassDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MClassDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Array#0]: Array[Set[MClassDef]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[Array#0]: NativeArray[Set[MClassDef]] */
+&type_abstract_collection__Setmodel__MClassDef, /* Sequence#0: Set[MClassDef] */
+&type_abstract_collection__Setmodel__MClassDef, /* SimpleCollection#0: Set[MClassDef] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Array#0]: Collection[Set[MClassDef]] */
+&type_abstract_collection__Setmodel__MClassDef, /* Array#0: Set[MClassDef] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MClassDef]] */
+&type_abstract_collection__Setmodel__MClassDef, /* AbstractArray#0: Set[MClassDef] */
+&type_abstract_collection__Setmodel__MClassDef, /* RemovableCollection#0: Set[MClassDef] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Sequence#0]: Collection[Set[MClassDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Sequence#0]: Array[Set[MClassDef]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[SimpleCollection#0]: Collection[Set[MClassDef]] */
+&type_abstract_collection__Setmodel__MClassDef, /* Collection#0: Set[MClassDef] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Collection#0]: Collection[Set[MClassDef]] */
+&type_abstract_collection__Setmodel__MClassDef, /* SequenceRead#0: Set[MClassDef] */
+&type_abstract_collection__Setmodel__MClassDef, /* AbstractArrayRead#0: Set[MClassDef] */
+&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[AbstractArrayRead#0]: Array[Set[MClassDef]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClassDef]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MClassDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MClassDef]] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MClassDef]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClassDef = {
-2409,
-"AbstractArrayRead[POSetElement[MClassDef]]", /* class_name_string */
+/* runtime type AbstractArrayRead[Set[MClassDef]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClassDef = {
+2471,
+"AbstractArrayRead[Set[MClassDef]]", /* class_name_string */
 5,
 0,
 NULL,
@@ -8465,1536 +8381,1618 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1587, /* Collection[POSetElement[MClassDef]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2409, /* AbstractArrayRead[POSetElement[MClassDef]] */
-1728, /* AbstractArrayRead[Object] */
+1577, /* Collection[Set[MClassDef]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2471, /* AbstractArrayRead[Set[MClassDef]] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-/* runtime type Array[POSetElement[MClassType]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClassType = {
-2589,
-"Array[POSetElement[MClassType]]", /* class_name_string */
-11,
-0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClassType,
-12,
-{
-0, /* nullable Object */
-1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1860, /* Collection[POSetElement[MClassType]] */
-1728, /* AbstractArrayRead[Object] */
-2410, /* AbstractArrayRead[POSetElement[MType]] */
-2532, /* Array[POSetElement[MType]] */
-1911, /* Array[Object] */
-2533, /* AbstractArrayRead[POSetElement[MClassType]] */
-2589, /* Array[POSetElement[MClassType]] */
-},
-};
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClassType = {
-0, /* dummy */
-{
-&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Array#0]: Array[POSetElement[MClassType]] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[Array#0]: NativeArray[POSetElement[MClassType]] */
-&type_poset__POSetElementmodel__MClassType, /* Sequence#0: POSetElement[MClassType] */
-&type_poset__POSetElementmodel__MClassType, /* SimpleCollection#0: POSetElement[MClassType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[Array#0]: Collection[POSetElement[MClassType]] */
-&type_poset__POSetElementmodel__MClassType, /* Array#0: POSetElement[MClassType] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MClassType]] */
-&type_poset__POSetElementmodel__MClassType, /* AbstractArray#0: POSetElement[MClassType] */
-&type_poset__POSetElementmodel__MClassType, /* RemovableCollection#0: POSetElement[MClassType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[Sequence#0]: Collection[POSetElement[MClassType]] */
-&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Sequence#0]: Array[POSetElement[MClassType]] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[POSetElement[MClassType]] */
-&type_poset__POSetElementmodel__MClassType, /* Collection#0: POSetElement[MClassType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[Collection#0]: Collection[POSetElement[MClassType]] */
-&type_poset__POSetElementmodel__MClassType, /* SequenceRead#0: POSetElement[MClassType] */
-&type_poset__POSetElementmodel__MClassType, /* AbstractArrayRead#0: POSetElement[MClassType] */
-&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[AbstractArrayRead#0]: Array[POSetElement[MClassType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[MClassType]] not a live type) */
-&type_array__ArrayIteratorposet__POSetElementmodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MClassType]] */
-}
-};
-/* runtime type Array[POSetElement[MType]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MType = {
-2532,
-"Array[POSetElement[MType]]", /* class_name_string */
+/* runtime type Array[Set[MClass]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MClass = {
+2601,
+"Array[Set[MClass]]", /* class_name_string */
 8,
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MType,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MClass,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
+1580, /* Collection[Set[MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2410, /* AbstractArrayRead[POSetElement[MType]] */
-2532, /* Array[POSetElement[MType]] */
-1911, /* Array[Object] */
+1782, /* AbstractArrayRead[Object] */
+2472, /* AbstractArrayRead[Set[MClass]] */
+2601, /* Array[Set[MClass]] */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MType = {
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Array#0]: Array[POSetElement[MType]] */
-&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[Array#0]: NativeArray[POSetElement[MType]] */
-&type_poset__POSetElementmodel__MType, /* Sequence#0: POSetElement[MType] */
-&type_poset__POSetElementmodel__MType, /* SimpleCollection#0: POSetElement[MType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[Array#0]: Collection[POSetElement[MType]] */
-&type_poset__POSetElementmodel__MType, /* Array#0: POSetElement[MType] */
-&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MType]] */
-&type_poset__POSetElementmodel__MType, /* AbstractArray#0: POSetElement[MType] */
-&type_poset__POSetElementmodel__MType, /* RemovableCollection#0: POSetElement[MType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[Sequence#0]: Collection[POSetElement[MType]] */
-&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Sequence#0]: Array[POSetElement[MType]] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[SimpleCollection#0]: Collection[POSetElement[MType]] */
-&type_poset__POSetElementmodel__MType, /* Collection#0: POSetElement[MType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[Collection#0]: Collection[POSetElement[MType]] */
-&type_poset__POSetElementmodel__MType, /* SequenceRead#0: POSetElement[MType] */
-&type_poset__POSetElementmodel__MType, /* AbstractArrayRead#0: POSetElement[MType] */
-&type_array__Arrayposet__POSetElementmodel__MType, /* Array[AbstractArrayRead#0]: Array[POSetElement[MType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[MType]] not a live type) */
-&type_array__ArrayIteratorposet__POSetElementmodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MType]] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Array#0]: Array[Set[MClass]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[Array#0]: NativeArray[Set[MClass]] */
+&type_abstract_collection__Setmodel__MClass, /* Sequence#0: Set[MClass] */
+&type_abstract_collection__Setmodel__MClass, /* SimpleCollection#0: Set[MClass] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Array#0]: Collection[Set[MClass]] */
+&type_abstract_collection__Setmodel__MClass, /* Array#0: Set[MClass] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MClass]] */
+&type_abstract_collection__Setmodel__MClass, /* AbstractArray#0: Set[MClass] */
+&type_abstract_collection__Setmodel__MClass, /* RemovableCollection#0: Set[MClass] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Sequence#0]: Collection[Set[MClass]] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Sequence#0]: Array[Set[MClass]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[SimpleCollection#0]: Collection[Set[MClass]] */
+&type_abstract_collection__Setmodel__MClass, /* Collection#0: Set[MClass] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Collection#0]: Collection[Set[MClass]] */
+&type_abstract_collection__Setmodel__MClass, /* SequenceRead#0: Set[MClass] */
+&type_abstract_collection__Setmodel__MClass, /* AbstractArrayRead#0: Set[MClass] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[AbstractArrayRead#0]: Array[Set[MClass]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClass]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MClass]] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MClassType]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClassType = {
-2533,
-"AbstractArrayRead[POSetElement[MClassType]]", /* class_name_string */
-10,
+/* runtime type AbstractArrayRead[Set[MClass]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClass = {
+2472,
+"AbstractArrayRead[Set[MClass]]", /* class_name_string */
+7,
 0,
 NULL,
-11,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1860, /* Collection[POSetElement[MClassType]] */
-1728, /* AbstractArrayRead[Object] */
-2410, /* AbstractArrayRead[POSetElement[MType]] */
+1580, /* Collection[Set[MClass]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
 -1, /* empty */
--1, /* empty */
-2533, /* AbstractArrayRead[POSetElement[MClassType]] */
+1782, /* AbstractArrayRead[Object] */
+2472, /* AbstractArrayRead[Set[MClass]] */
 },
 };
-/* runtime type AbstractArrayRead[POSetElement[MType]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MType = {
-2410,
-"AbstractArrayRead[POSetElement[MType]]", /* class_name_string */
-7,
+/* runtime type Array[Set[MClassType]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MClassType = {
+2666,
+"Array[Set[MClassType]]", /* class_name_string */
+11,
+0,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MClassType,
+12,
+{
+0, /* nullable Object */
+1, /* Object */
+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 = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Array#0]: Array[Set[MClassType]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[Array#0]: NativeArray[Set[MClassType]] */
+&type_abstract_collection__Setmodel__MClassType, /* Sequence#0: Set[MClassType] */
+&type_abstract_collection__Setmodel__MClassType, /* SimpleCollection#0: Set[MClassType] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Array#0]: Collection[Set[MClassType]] */
+&type_abstract_collection__Setmodel__MClassType, /* Array#0: Set[MClassType] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MClassType]] */
+&type_abstract_collection__Setmodel__MClassType, /* AbstractArray#0: Set[MClassType] */
+&type_abstract_collection__Setmodel__MClassType, /* RemovableCollection#0: Set[MClassType] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Sequence#0]: Collection[Set[MClassType]] */
+&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Sequence#0]: Array[Set[MClassType]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[SimpleCollection#0]: Collection[Set[MClassType]] */
+&type_abstract_collection__Setmodel__MClassType, /* Collection#0: Set[MClassType] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Collection#0]: Collection[Set[MClassType]] */
+&type_abstract_collection__Setmodel__MClassType, /* SequenceRead#0: Set[MClassType] */
+&type_abstract_collection__Setmodel__MClassType, /* AbstractArrayRead#0: Set[MClassType] */
+&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[AbstractArrayRead#0]: Array[Set[MClassType]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Set[MClassType]] not a live type) */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MClassType]] */
+}
+};
+/* runtime type AbstractArrayRead[Set[MClassType]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MClassType = {
+2602,
+"AbstractArrayRead[Set[MClassType]]", /* class_name_string */
+10,
 0,
 NULL,
-8,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
+1516, /* Collection[Set[MType]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1899, /* Collection[Set[MClassType]] */
+1782, /* AbstractArrayRead[Object] */
+2464, /* AbstractArrayRead[Set[MType]] */
 -1, /* empty */
-1728, /* AbstractArrayRead[Object] */
-2410, /* AbstractArrayRead[POSetElement[MType]] */
+-1, /* empty */
+2602, /* AbstractArrayRead[Set[MClassType]] */
 },
 };
-/* runtime type ArrayIterator[Array[MClass]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel__MClass = {
-1889,
-"ArrayIterator[Array[MClass]]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[MClassType, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int = {
+1708,
+"MapKeysIterator[MClassType, Int]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymodel__MClass,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1682, /* ArrayIterator[Array[nullable MClass]] */
-1889, /* ArrayIterator[Array[MClass]] */
+503, /* MapKeysIterator[MType, Int] */
+1708, /* MapKeysIterator[MClassType, Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraymodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MClass]] */
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Int] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type ArrayIterator[Array[nullable MClass]] */
-const struct type type_array__ArrayIteratorarray__Arraynullable_model__MClass = {
-1682,
-"ArrayIterator[Array[nullable MClass]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassType, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int = {
+1709,
+"MapValuesIterator[MClassType, Int]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MClass,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1682, /* ArrayIterator[Array[nullable MClass]] */
+504, /* MapValuesIterator[MType, Int] */
+1709, /* MapValuesIterator[MClassType, Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraynullable_model__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[nullable MClass]] */
-&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[Array[nullable MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
 }
 };
-/* runtime type NativeArray[Array[MClass]] */
-const struct type type_array__NativeArrayarray__Arraymodel__MClass = {
-1890,
-"NativeArray[Array[MClass]]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[MClassType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1710,
+"MapKeysIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayarray__Arraymodel__MClass,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1683, /* NativeArray[Array[nullable MClass]] */
-1890, /* NativeArray[Array[MClass]] */
+551, /* MapKeysIterator[MType, Map[MType, Int]] */
+1710, /* MapKeysIterator[MClassType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MClass, /* NativeArray#0: Array[MClass] */
-&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[Array[MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Map[MType, Int]] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
 }
 };
-/* runtime type NativeArray[Array[nullable MClass]] */
-const struct type type_array__NativeArrayarray__Arraynullable_model__MClass = {
-1683,
-"NativeArray[Array[nullable MClass]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1711,
+"MapValuesIterator[MClassType, Map[MType, Int]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArrayarray__Arraynullable_model__MClass,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1683, /* NativeArray[Array[nullable MClass]] */
+552, /* MapValuesIterator[MType, Map[MType, Int]] */
+1711, /* MapValuesIterator[MClassType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MClass, /* NativeArray#0: Array[nullable MClass] */
-&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[NativeArray#0]: NativeArray[Array[nullable MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Map[MType, Int]] */
+&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[Iterator#0]: Array[Map[MType, Int]] */
 }
 };
-/* runtime type ArrayIterator[Array[MProperty]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel__MProperty = {
-1684,
-"ArrayIterator[Array[MProperty]]", /* class_name_string */
+/* runtime type ArrayIterator[Scope] */
+const struct type type_array__ArrayIteratorscope__Scope = {
+1712,
+"ArrayIterator[Scope]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymodel__MProperty,
+&resolution_table_array__ArrayIteratorscope__Scope,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1684, /* ArrayIterator[Array[MProperty]] */
+289, /* ArrayIterator[Object] */
+1712, /* ArrayIterator[Scope] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MProperty = {
+const struct types resolution_table_array__ArrayIteratorscope__Scope = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraymodel__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MProperty]] */
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Iterator#0]: Array[Array[MProperty]] */
+&type_array__AbstractArrayReadscope__Scope, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Scope] */
+&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
 }
 };
-/* runtime type NativeArray[Array[MProperty]] */
-const struct type type_array__NativeArrayarray__Arraymodel__MProperty = {
-1685,
-"NativeArray[Array[MProperty]]", /* class_name_string */
+/* runtime type NativeArray[Scope] */
+const struct type type_array__NativeArrayscope__Scope = {
+1713,
+"NativeArray[Scope]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArrayarray__Arraymodel__MProperty,
+&resolution_table_array__NativeArrayscope__Scope,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1685, /* NativeArray[Array[MProperty]] */
+193, /* NativeArray[Object] */
+1713, /* NativeArray[Scope] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel__MProperty = {
+const struct types resolution_table_array__NativeArrayscope__Scope = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MProperty, /* NativeArray#0: Array[MProperty] */
-&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[Array[MProperty]] */
+&type_scope__Scope, /* NativeArray#0: Scope */
+&type_array__NativeArrayscope__Scope, /* NativeArray[NativeArray#0]: NativeArray[Scope] */
 }
 };
-/* runtime type Array[HashMap2[MType, String, nullable MProperty]] */
-const struct type type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-2534,
-"Array[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-7,
+/* runtime type MapKeysIterator[MClass, POSetElement[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
+556,
+"MapKeysIterator[MClass, POSetElement[MClass]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-10,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1595, /* Collection[HashMap2[MType, String, nullable MProperty]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2411, /* AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-2534, /* Array[HashMap2[MType, String, nullable MProperty]] */
--1, /* empty */
-1911, /* Array[Object] */
+556, /* MapKeysIterator[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[Array#0]: Array[HashMap2[MType, String, nullable MProperty]] */
-&type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[Array#0]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Sequence#0: HashMap2[MType, String, nullable MProperty] */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* SimpleCollection#0: HashMap2[MType, String, nullable MProperty] */
-&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[Array#0]: Collection[HashMap2[MType, String, nullable MProperty]] */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array#0: HashMap2[MType, String, nullable MProperty] */
-&type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* AbstractArray#0: HashMap2[MType, String, nullable MProperty] */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap2[MType, String, nullable MProperty] */
-&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[Sequence#0]: Collection[HashMap2[MType, String, nullable MProperty]] */
-&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[Sequence#0]: Array[HashMap2[MType, String, nullable MProperty]] */
-&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[SimpleCollection#0]: Collection[HashMap2[MType, String, nullable MProperty]] */
-&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_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* SequenceRead#0: HashMap2[MType, String, nullable MProperty] */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* AbstractArrayRead#0: HashMap2[MType, String, nullable MProperty] */
-&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[AbstractArrayRead#0]: Array[HashMap2[MType, String, nullable MProperty]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[HashMap2[MType, String, nullable MProperty]] not a live type) */
-&type_array__ArrayIteratormore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, POSetElement[MClass]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
 }
 };
-/* runtime type AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
-const struct type type_array__AbstractArrayReadmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-2411,
-"AbstractArrayRead[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-5,
-0,
-NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1595, /* Collection[HashMap2[MType, String, nullable MProperty]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2411, /* AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
-1728, /* AbstractArrayRead[Object] */
-},
-};
-/* runtime type MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-540,
-"MapKeysIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+/* runtime type MapValuesIterator[MClass, POSetElement[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
+557,
+"MapValuesIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-540, /* MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+557, /* MapValuesIterator[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, HashMap[String, nullable MProperty]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, POSetElement[MClass]] */
+&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[Iterator#0]: Array[POSetElement[MClass]] */
 }
 };
-/* runtime type MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-541,
-"MapValuesIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+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__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-541, /* MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+624, /* Collection[MModule] */
+1940, /* HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, HashMap[String, nullable MProperty]] */
-&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap[String, nullable MProperty]] */
+&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_mmodule__MModule, /* RemovableCollection#0: MModule */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type MapKeysIterator[String, nullable MProperty] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty = {
-542,
-"MapKeysIterator[String, nullable MProperty]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty,
+/* runtime type HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+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__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-542, /* MapKeysIterator[String, nullable MProperty] */
+1714, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+1941, /* HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, nullable MProperty] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&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 */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* RemovableCollection#0: HashMap[MType, Array[MMethodDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection#0: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[Collection#0]: Collection[HashMap[MType, Array[MMethodDef]]] */
 }
 };
-/* runtime type MapValuesIterator[String, nullable MProperty] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty = {
-543,
-"MapValuesIterator[String, nullable MProperty]", /* class_name_string */
+/* runtime type Collection[HashMap[MType, Array[MMethodDef]]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1714,
+"Collection[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty,
-3,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-543, /* MapValuesIterator[String, nullable MProperty] */
+1714, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+-1, /* empty */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty = {
-0, /* dummy */
-{
-&type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, nullable MProperty] */
-&type_array__Arraynullable_model__MProperty, /* Array[Iterator#0]: Array[nullable MProperty] */
-}
-};
-/* runtime type ArrayIterator[Set[MProperty]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MProperty = {
-1891,
-"ArrayIterator[Set[MProperty]]", /* class_name_string */
-4,
+/* runtime type NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+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__ArrayIteratorabstract_collection__Setmodel__MProperty,
-5,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1686, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1891, /* ArrayIterator[Set[MProperty]] */
+558, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MProperty]] */
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Iterator#0]: Array[Set[MProperty]] */
+&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 ArrayIterator[Set[PropertyLayoutElement]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-1686,
-"ArrayIterator[Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+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_array__ArrayIteratorabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1686, /* ArrayIterator[Set[PropertyLayoutElement]] */
+158, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+1715, /* HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Setlayout_builders__PropertyLayoutElement, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[PropertyLayoutElement]] */
-&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[Set[PropertyLayoutElement]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode#1: HashMap[MType, Array[MMethodDef]] */
+&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 NativeArray[Set[MProperty]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MProperty = {
-1892,
-"NativeArray[Set[MProperty]]", /* class_name_string */
-4,
-0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MProperty,
-5,
+/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+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__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-185, /* NativeArray[Object] */
-1687, /* NativeArray[Set[PropertyLayoutElement]] */
-1892, /* NativeArray[Set[MProperty]] */
+-1, /* empty */
+158, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MProperty, /* NativeArray#0: Set[MProperty] */
-&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[Set[MProperty]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode#1: HashMap[MType, Array[MMethodDef]] */
+&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 NativeArray[Set[PropertyLayoutElement]] */
-const struct type type_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-1687,
-"NativeArray[Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+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_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1687, /* NativeArray[Set[PropertyLayoutElement]] */
+559, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+1716, /* HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray#0: Set[PropertyLayoutElement] */
-&type_array__NativeArrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[Set[PropertyLayoutElement]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
 }
 };
-/* runtime type ArrayIterator[HashSet[MType]] */
-const struct type type_array__ArrayIteratorhash_collection__HashSetmodel__MType = {
-1893,
-"ArrayIterator[HashSet[MType]]", /* class_name_string */
-4,
+/* runtime type MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+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,
-&resolution_table_array__ArrayIteratorhash_collection__HashSetmodel__MType,
-5,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1688, /* ArrayIterator[Set[MType]] */
-1893, /* ArrayIterator[HashSet[MType]] */
+559, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorhash_collection__HashSetmodel__MType = {
+/* runtime type HashMapKeys[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
+2248,
+"HashMapKeys[MType, Array[MMethodDef]]", /* class_name_string */
+2,
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+2248, /* HashMapKeys[MType, Array[MMethodDef]] */
+-1, /* empty */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadhash_collection__HashSetmodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashSet[MType]] */
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MMethodDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type ArrayIterator[Set[MType]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MType = {
-1688,
-"ArrayIterator[Set[MType]]", /* class_name_string */
+/* runtime type HashMapValues[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
+2249,
+"HashMapValues[MType, Array[MMethodDef]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MType,
-4,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1688, /* ArrayIterator[Set[MType]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+2249, /* HashMapValues[MType, Array[MMethodDef]] */
+170, /* Collection[Object] */
+1942, /* Collection[Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MType]] */
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MMethodDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MMethodDef, /* RemovableCollection#0: Array[MMethodDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MMethodDef, /* Collection#0: Array[MMethodDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[Collection#0]: Collection[Array[MMethodDef]] */
 }
 };
-/* runtime type NativeArray[HashSet[MType]] */
-const struct type type_array__NativeArrayhash_collection__HashSetmodel__MType = {
-1894,
-"NativeArray[HashSet[MType]]", /* class_name_string */
-4,
-0,
-&resolution_table_array__NativeArrayhash_collection__HashSetmodel__MType,
+/* runtime type Collection[Array[MMethodDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MMethodDef = {
+1942,
+"Collection[Array[MMethodDef]]", /* class_name_string */
 5,
+0,
+NULL,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1689, /* NativeArray[Set[MType]] */
-1894, /* NativeArray[HashSet[MType]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+-1, /* empty */
+170, /* Collection[Object] */
+1942, /* Collection[Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayhash_collection__HashSetmodel__MType = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetmodel__MType, /* NativeArray#0: HashSet[MType] */
-&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[HashSet[MType]] */
-}
-};
-/* runtime type NativeArray[Set[MType]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MType = {
-1689,
-"NativeArray[Set[MType]]", /* class_name_string */
-3,
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+560,
+"NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MType,
-4,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1689, /* NativeArray[Set[MType]] */
+560, /* NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MType, /* NativeArray#0: Set[MType] */
-&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[Set[MType]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray#0: nullable HashMapNode[MType, Array[MMethodDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
 }
 };
-/* runtime type ArrayIterator[Array[nullable MType]] */
-const struct type type_array__ArrayIteratorarray__Arraynullable_model__MType = {
-1895,
-"ArrayIterator[Array[nullable MType]]", /* class_name_string */
-4,
+/* runtime type HashMapNode[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+1717,
+"HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MType,
-5,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-544, /* ArrayIterator[nullable Array[nullable MType]] */
-1895, /* ArrayIterator[Array[nullable MType]] */
+159, /* nullable HashMapNode[MType, Array[MMethodDef]] */
+1717, /* HashMapNode[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraynullable_model__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[nullable MType]] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MMethodDef, /* HashMapNode#1: Array[MMethodDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MType, Array[MMethodDef]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type ArrayIterator[nullable Array[nullable MType]] */
-const struct type type_array__ArrayIteratornullable_array__Arraynullable_model__MType = {
-544,
-"ArrayIterator[nullable Array[nullable MType]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MType, Array[MMethodDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+159,
+"nullable HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
 3,
-0,
-&resolution_table_array__ArrayIteratornullable_array__Arraynullable_model__MType,
-4,
 {
 0, /* nullable Object */
-1, /* Object */
 -1, /* empty */
-544, /* ArrayIterator[nullable Array[nullable MType]] */
+159, /* nullable HashMapNode[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratornullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadnullable_array__Arraynullable_model__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable Array[nullable MType]] */
-&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable Array[nullable MType]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MMethodDef, /* HashMapNode#1: Array[MMethodDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* N: HashMapNode[MType, Array[MMethodDef]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type NativeArray[Array[nullable MType]] */
-const struct type type_array__NativeArrayarray__Arraynullable_model__MType = {
-1896,
-"NativeArray[Array[nullable MType]]", /* class_name_string */
-4,
+/* runtime type HashMapIterator[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+1718,
+"HashMapIterator[MType, Array[MMethodDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayarray__Arraynullable_model__MType,
-5,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-545, /* NativeArray[nullable Array[nullable MType]] */
-1896, /* NativeArray[Array[nullable MType]] */
+561, /* MapIterator[MType, Array[MMethodDef]] */
+1718, /* HashMapIterator[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MType, /* NativeArray#0: Array[nullable MType] */
-&type_array__NativeArrayarray__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MMethodDef]] */
 }
 };
-/* runtime type NativeArray[nullable Array[nullable MType]] */
-const struct type type_array__NativeArraynullable_array__Arraynullable_model__MType = {
-545,
-"NativeArray[nullable Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type MapIterator[MType, Array[MMethodDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+561,
+"MapIterator[MType, Array[MMethodDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraynullable_array__Arraynullable_model__MType,
-4,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-545, /* NativeArray[nullable Array[nullable MType]] */
+561, /* MapIterator[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_array__Arraynullable_model__MType = {
-0, /* dummy */
-{
-&type_nullable_array__Arraynullable_model__MType, /* NativeArray#0: nullable Array[nullable MType] */
-&type_array__NativeArraynullable_array__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable Array[nullable MType]] */
-}
-};
-/* runtime type ArrayIterator[Array[nullable MPropDef]] */
-const struct type type_array__ArrayIteratorarray__Arraynullable_model__MPropDef = {
-1690,
-"ArrayIterator[Array[nullable MPropDef]]", /* class_name_string */
+/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+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_array__ArrayIteratorarray__Arraynullable_model__MPropDef,
-4,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1690, /* ArrayIterator[Array[nullable MPropDef]] */
+624, /* Collection[MModule] */
+1943, /* HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraynullable_model__MPropDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[nullable MPropDef]] */
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[Array[nullable MPropDef]] */
+&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_mmodule__MModule, /* RemovableCollection#0: MModule */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type NativeArray[Array[nullable MPropDef]] */
-const struct type type_array__NativeArrayarray__Arraynullable_model__MPropDef = {
-1691,
-"NativeArray[Array[nullable MPropDef]]", /* class_name_string */
+/* runtime type HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+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_array__NativeArrayarray__Arraynullable_model__MPropDef,
-4,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1691, /* NativeArray[Array[nullable MPropDef]] */
+1719, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+1944, /* HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MPropDef, /* NativeArray#0: Array[nullable MPropDef] */
-&type_array__NativeArrayarray__Arraynullable_model__MPropDef, /* NativeArray[NativeArray#0]: NativeArray[Array[nullable MPropDef]] */
+&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 */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* RemovableCollection#0: HashMap[MType, Array[MAttributeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection#0: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[Collection#0]: Collection[HashMap[MType, Array[MAttributeDef]]] */
 }
 };
-/* runtime type ArrayIterator[Array[MClassType]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel__MClassType = {
-2412,
-"ArrayIterator[Array[MClassType]]", /* class_name_string */
-6,
+/* runtime type Collection[HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1719,
+"Collection[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymodel__MClassType,
-7,
+NULL,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-544, /* ArrayIterator[nullable Array[nullable MType]] */
-1895, /* ArrayIterator[Array[nullable MType]] */
-2185, /* ArrayIterator[Array[MType]] */
-2412, /* ArrayIterator[Array[MClassType]] */
+1719, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+-1, /* empty */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MClassType = {
-0, /* dummy */
-{
-&type_array__AbstractArrayReadarray__Arraymodel__MClassType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MClassType]] */
-&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Iterator#0]: Array[Array[MClassType]] */
-}
-};
-/* runtime type ArrayIterator[Array[MType]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel__MType = {
-2185,
-"ArrayIterator[Array[MType]]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+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__ArrayIteratorarray__Arraymodel__MType,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-544, /* ArrayIterator[nullable Array[nullable MType]] */
-1895, /* ArrayIterator[Array[nullable MType]] */
-2185, /* ArrayIterator[Array[MType]] */
+562, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadarray__Arraymodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MType]] */
-&type_array__Arrayarray__Arraymodel__MType, /* Array[Iterator#0]: Array[Array[MType]] */
+&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 NativeArray[Array[MClassType]] */
-const struct type type_array__NativeArrayarray__Arraymodel__MClassType = {
-2413,
-"NativeArray[Array[MClassType]]", /* class_name_string */
-6,
+/* runtime type HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+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_array__NativeArrayarray__Arraymodel__MClassType,
-7,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-545, /* NativeArray[nullable Array[nullable MType]] */
-1896, /* NativeArray[Array[nullable MType]] */
-2186, /* NativeArray[Array[MType]] */
-2413, /* NativeArray[Array[MClassType]] */
+160, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1720, /* HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MClassType, /* NativeArray#0: Array[MClassType] */
-&type_array__NativeArrayarray__Arraymodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[Array[MClassType]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode#1: HashMap[MType, Array[MAttributeDef]] */
+&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 NativeArray[Array[MType]] */
-const struct type type_array__NativeArrayarray__Arraymodel__MType = {
-2186,
-"NativeArray[Array[MType]]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArrayarray__Arraymodel__MType,
-6,
+/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+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__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-185, /* NativeArray[Object] */
-545, /* NativeArray[nullable Array[nullable MType]] */
-1896, /* NativeArray[Array[nullable MType]] */
-2186, /* NativeArray[Array[MType]] */
+-1, /* empty */
+160, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel__MType = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MType, /* NativeArray#0: Array[MType] */
-&type_array__NativeArrayarray__Arraymodel__MType, /* NativeArray[NativeArray#0]: NativeArray[Array[MType]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode#1: HashMap[MType, Array[MAttributeDef]] */
+&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 Array[HashSet[MClass]] */
-const struct type type_array__Arrayhash_collection__HashSetmodel__MClass = {
-2590,
-"Array[HashSet[MClass]]", /* class_name_string */
-11,
+/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+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_array__Arrayhash_collection__HashSetmodel__MClass,
-12,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1866, /* Collection[HashSet[MClass]] */
-1728, /* AbstractArrayRead[Object] */
-2406, /* AbstractArrayRead[Set[MClass]] */
-2527, /* Array[Set[MClass]] */
-1911, /* Array[Object] */
-2535, /* AbstractArrayRead[HashSet[MClass]] */
-2590, /* Array[HashSet[MClass]] */
+563, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1721, /* HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_array__Arrayhash_collection__HashSetmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashSetmodel__MClass, /* Array[Array#0]: Array[HashSet[MClass]] */
-&type_array__NativeArrayhash_collection__HashSetmodel__MClass, /* NativeArray[Array#0]: NativeArray[HashSet[MClass]] */
-&type_hash_collection__HashSetmodel__MClass, /* Sequence#0: HashSet[MClass] */
-&type_hash_collection__HashSetmodel__MClass, /* SimpleCollection#0: HashSet[MClass] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[Array#0]: Collection[HashSet[MClass]] */
-&type_hash_collection__HashSetmodel__MClass, /* Array#0: HashSet[MClass] */
-&type_array__NativeArrayhash_collection__HashSetmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[HashSet[MClass]] */
-&type_hash_collection__HashSetmodel__MClass, /* AbstractArray#0: HashSet[MClass] */
-&type_hash_collection__HashSetmodel__MClass, /* RemovableCollection#0: HashSet[MClass] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[Sequence#0]: Collection[HashSet[MClass]] */
-&type_array__Arrayhash_collection__HashSetmodel__MClass, /* Array[Sequence#0]: Array[HashSet[MClass]] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[SimpleCollection#0]: Collection[HashSet[MClass]] */
-&type_hash_collection__HashSetmodel__MClass, /* Collection#0: HashSet[MClass] */
-&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[Collection#0]: Collection[HashSet[MClass]] */
-&type_hash_collection__HashSetmodel__MClass, /* SequenceRead#0: HashSet[MClass] */
-&type_hash_collection__HashSetmodel__MClass, /* AbstractArrayRead#0: HashSet[MClass] */
-&type_array__Arrayhash_collection__HashSetmodel__MClass, /* Array[AbstractArrayRead#0]: Array[HashSet[MClass]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[HashSet[MClass]] not a live type) */
-&type_array__ArrayIteratorhash_collection__HashSetmodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashSet[MClass]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
 }
 };
-/* runtime type AbstractArrayRead[HashSet[MClass]] */
-const struct type type_array__AbstractArrayReadhash_collection__HashSetmodel__MClass = {
-2535,
-"AbstractArrayRead[HashSet[MClass]]", /* class_name_string */
-10,
+/* runtime type MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+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,
 NULL,
-11,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1866, /* Collection[HashSet[MClass]] */
-1728, /* AbstractArrayRead[Object] */
-2406, /* AbstractArrayRead[Set[MClass]] */
--1, /* empty */
--1, /* empty */
-2535, /* AbstractArrayRead[HashSet[MClass]] */
+563, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-/* runtime type Array[Map[MClass, Int]] */
-const struct type type_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int = {
-2536,
-"Array[Map[MClass, Int]]", /* class_name_string */
-7,
+/* runtime type HashMapKeys[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
+2250,
+"HashMapKeys[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int,
-10,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-1611, /* Collection[Map[MClass, Int]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2414, /* AbstractArrayRead[Map[MClass, Int]] */
-1728, /* AbstractArrayRead[Object] */
-2536, /* Array[Map[MClass, Int]] */
+2250, /* HashMapKeys[MType, Array[MAttributeDef]] */
+-1, /* empty */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
 -1, /* empty */
-1911, /* Array[Object] */
+1791, /* Collection[MType] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int, /* Array[Array#0]: Array[Map[MClass, Int]] */
-&type_array__NativeArrayabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray[Array#0]: NativeArray[Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Sequence#0: Map[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* SimpleCollection#0: Map[MClass, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[Array#0]: Collection[Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Array#0: Map[MClass, Int] */
-&type_array__NativeArrayabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* AbstractArray#0: Map[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* RemovableCollection#0: Map[MClass, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[Sequence#0]: Collection[Map[MClass, Int]] */
-&type_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int, /* Array[Sequence#0]: Array[Map[MClass, Int]] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[SimpleCollection#0]: Collection[Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Collection#0: Map[MClass, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[Collection#0]: Collection[Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* SequenceRead#0: Map[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* AbstractArrayRead#0: Map[MClass, Int] */
-&type_array__Arrayabstract_collection__Mapmodel__MClasskernel__Int, /* Array[AbstractArrayRead#0]: Array[Map[MClass, Int]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Map[MClass, Int]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Mapmodel__MClasskernel__Int, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Map[MClass, Int]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MAttributeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type AbstractArrayRead[Map[MClass, Int]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Mapmodel__MClasskernel__Int = {
-2414,
-"AbstractArrayRead[Map[MClass, Int]]", /* class_name_string */
-5,
+/* runtime type HashMapValues[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
+2251,
+"HashMapValues[MType, Array[MAttributeDef]]", /* class_name_string */
+3,
 0,
-NULL,
-7,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1611, /* Collection[Map[MClass, Int]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2414, /* AbstractArrayRead[Map[MClass, Int]] */
-1728, /* AbstractArrayRead[Object] */
+1525, /* Collection[Array[nullable MPropDef]] */
+2251, /* HashMapValues[MType, Array[MAttributeDef]] */
+170, /* Collection[Object] */
+1945, /* Collection[Array[MAttributeDef]] */
 },
 };
-/* runtime type ArrayIterator[Set[MVirtualTypeProp]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp = {
-2187,
-"ArrayIterator[Set[MVirtualTypeProp]]", /* class_name_string */
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MAttributeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MAttributeDef, /* RemovableCollection#0: Array[MAttributeDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MAttributeDef, /* Collection#0: Array[MAttributeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[Collection#0]: Collection[Array[MAttributeDef]] */
+}
+};
+/* runtime type Collection[Array[MAttributeDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef = {
+1945,
+"Collection[Array[MAttributeDef]]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp,
+NULL,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1686, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1891, /* ArrayIterator[Set[MProperty]] */
-2187, /* ArrayIterator[Set[MVirtualTypeProp]] */
+1525, /* Collection[Array[nullable MPropDef]] */
+-1, /* empty */
+170, /* Collection[Object] */
+1945, /* Collection[Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp = {
-0, /* dummy */
-{
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MVirtualTypeProp]] */
-&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[Set[MVirtualTypeProp]] */
-}
-};
-/* runtime type NativeArray[Set[MVirtualTypeProp]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp = {
-2188,
-"NativeArray[Set[MVirtualTypeProp]]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+564,
+"NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1687, /* NativeArray[Set[PropertyLayoutElement]] */
-1892, /* NativeArray[Set[MProperty]] */
-2188, /* NativeArray[Set[MVirtualTypeProp]] */
+564, /* NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray#0: Set[MVirtualTypeProp] */
-&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[NativeArray#0]: NativeArray[Set[MVirtualTypeProp]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray#0: nullable HashMapNode[MType, Array[MAttributeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
 }
 };
-/* runtime type ArrayIterator[Set[MAttribute]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MAttribute = {
-2189,
-"ArrayIterator[Set[MAttribute]]", /* class_name_string */
-5,
+/* runtime type HashMapNode[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+1722,
+"HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MAttribute,
-6,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1686, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1891, /* ArrayIterator[Set[MProperty]] */
-2189, /* ArrayIterator[Set[MAttribute]] */
+161, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
+1722, /* HashMapNode[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MAttribute, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MAttribute]] */
-&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Iterator#0]: Array[Set[MAttribute]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MAttributeDef, /* HashMapNode#1: Array[MAttributeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MType, Array[MAttributeDef]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type NativeArray[Set[MAttribute]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MAttribute = {
-2190,
-"NativeArray[Set[MAttribute]]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MAttribute,
-6,
+/* runtime type nullable HashMapNode[MType, Array[MAttributeDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+161,
+"nullable HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-185, /* NativeArray[Object] */
-1687, /* NativeArray[Set[PropertyLayoutElement]] */
-1892, /* NativeArray[Set[MProperty]] */
-2190, /* NativeArray[Set[MAttribute]] */
+-1, /* empty */
+161, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MAttribute, /* NativeArray#0: Set[MAttribute] */
-&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[NativeArray#0]: NativeArray[Set[MAttribute]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MAttributeDef, /* HashMapNode#1: Array[MAttributeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MType, Array[MAttributeDef]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type Array[Map[MType, Int]] */
-const struct type type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int = {
-2537,
-"Array[Map[MType, Int]]", /* class_name_string */
-7,
+/* runtime type HashMapIterator[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+1723,
+"HashMapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int,
-10,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1620, /* Collection[Map[MType, Int]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2415, /* AbstractArrayRead[Map[MType, Int]] */
-1728, /* AbstractArrayRead[Object] */
-2537, /* Array[Map[MType, Int]] */
--1, /* empty */
-1911, /* Array[Object] */
+565, /* MapIterator[MType, Array[MAttributeDef]] */
+1723, /* HashMapIterator[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[Array#0]: Array[Map[MType, Int]] */
-&type_array__NativeArrayabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[Array#0]: NativeArray[Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Sequence#0: Map[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* SimpleCollection#0: Map[MType, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Array#0]: Collection[Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Array#0: Map[MType, Int] */
-&type_array__NativeArrayabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* AbstractArray#0: Map[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Sequence#0]: Collection[Map[MType, Int]] */
-&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[Sequence#0]: Array[Map[MType, Int]] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[SimpleCollection#0]: Collection[Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
-&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* SequenceRead#0: Map[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* AbstractArrayRead#0: Map[MType, Int] */
-&type_array__Arrayabstract_collection__Mapmodel__MTypekernel__Int, /* Array[AbstractArrayRead#0]: Array[Map[MType, Int]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Map[MType, Int]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Mapmodel__MTypekernel__Int, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Map[MType, Int]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MAttributeDef]] */
 }
 };
-/* runtime type AbstractArrayRead[Map[MType, Int]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Mapmodel__MTypekernel__Int = {
-2415,
-"AbstractArrayRead[Map[MType, Int]]", /* class_name_string */
-5,
+/* runtime type MapIterator[MType, Array[MAttributeDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+565,
+"MapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
 0,
 NULL,
-7,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1620, /* Collection[Map[MType, Int]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2415, /* AbstractArrayRead[Map[MType, Int]] */
-1728, /* AbstractArrayRead[Object] */
+565, /* MapIterator[MType, Array[MAttributeDef]] */
 },
 };
-/* runtime type ArrayIterator[EscapeMark] */
-const struct type type_array__ArrayIteratorscope__EscapeMark = {
-1692,
-"ArrayIterator[EscapeMark]", /* class_name_string */
+/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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_array__ArrayIteratorscope__EscapeMark,
-4,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1692, /* ArrayIterator[EscapeMark] */
+624, /* Collection[MModule] */
+1946, /* HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorscope__EscapeMark = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadscope__EscapeMark, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[EscapeMark] */
-&type_array__Arrayscope__EscapeMark, /* Array[Iterator#0]: Array[EscapeMark] */
+&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_mmodule__MModule, /* RemovableCollection#0: MModule */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type NativeArray[EscapeMark] */
-const struct type type_array__NativeArrayscope__EscapeMark = {
-1693,
-"NativeArray[EscapeMark]", /* class_name_string */
+/* runtime type HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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_array__NativeArrayscope__EscapeMark,
-4,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1693, /* NativeArray[EscapeMark] */
+1724, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+1947, /* HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+170, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__NativeArrayscope__EscapeMark = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_scope__EscapeMark, /* NativeArray#0: EscapeMark */
-&type_array__NativeArrayscope__EscapeMark, /* NativeArray[NativeArray#0]: NativeArray[EscapeMark] */
+&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 */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: HashMap[MType, Array[MVirtualTypeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection#0: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
-/* runtime type ArrayIterator[Set[MClassDef]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClassDef = {
-1694,
-"ArrayIterator[Set[MClassDef]]", /* class_name_string */
-3,
+/* runtime type Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1724,
+"Collection[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassDef,
-4,
+NULL,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1724, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+-1, /* empty */
+170, /* Collection[Object] */
+},
+};
+/* runtime type NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+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__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1694, /* ArrayIterator[Set[MClassDef]] */
+566, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MClassDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MClassDef]] */
-&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Iterator#0]: Array[Set[MClassDef]] */
+&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 NativeArray[Set[MClassDef]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MClassDef = {
-1695,
-"NativeArray[Set[MClassDef]]", /* class_name_string */
+/* runtime type HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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_array__NativeArrayabstract_collection__Setmodel__MClassDef,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1695, /* NativeArray[Set[MClassDef]] */
+162, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1725, /* HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MClassDef, /* NativeArray#0: Set[MClassDef] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[Set[MClassDef]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: HashMap[MType, Array[MVirtualTypeDef]] */
+&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 ArrayIterator[Set[MClass]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClass = {
-1696,
-"ArrayIterator[Set[MClass]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
-0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClass,
-4,
 {
 0, /* nullable Object */
-1, /* Object */
-277, /* ArrayIterator[Object] */
-1696, /* ArrayIterator[Set[MClass]] */
+-1, /* empty */
+162, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MClass]] */
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: HashMap[MType, Array[MVirtualTypeDef]] */
+&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 NativeArray[Set[MClass]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MClass = {
-1697,
-"NativeArray[Set[MClass]]", /* class_name_string */
+/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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_array__NativeArrayabstract_collection__Setmodel__MClass,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1697, /* NativeArray[Set[MClass]] */
+567, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1726, /* HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MClass, /* NativeArray#0: Set[MClass] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[Set[MClass]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
-/* runtime type ArrayIterator[Set[MClassType]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClassType = {
-1897,
-"ArrayIterator[Set[MClassType]]", /* class_name_string */
-4,
+/* runtime type MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+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,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassType,
-5,
+NULL,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1688, /* ArrayIterator[Set[MType]] */
-1897, /* ArrayIterator[Set[MClassType]] */
+567, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassType = {
-0, /* dummy */
-{
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MClassType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MClassType]] */
-&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Iterator#0]: Array[Set[MClassType]] */
-}
-};
-/* runtime type NativeArray[Set[MClassType]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MClassType = {
-1898,
-"NativeArray[Set[MClassType]]", /* class_name_string */
-4,
+/* runtime type HashMapKeys[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+2252,
+"HashMapKeys[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassType,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1689, /* NativeArray[Set[MType]] */
-1898, /* NativeArray[Set[MClassType]] */
+2252, /* HashMapKeys[MType, Array[MVirtualTypeDef]] */
+-1, /* empty */
+170, /* Collection[Object] */
+180, /* Collection[nullable MType] */
+-1, /* empty */
+1791, /* Collection[MType] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MClassType, /* NativeArray#0: Set[MClassType] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[Set[MClassType]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Array[MVirtualTypeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type Array[POSetElement[MClass]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClass = {
-2538,
-"Array[POSetElement[MClass]]", /* class_name_string */
-7,
+/* runtime type HashMapValues[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+2253,
+"HashMapValues[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClass,
-10,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1632, /* Collection[POSetElement[MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2416, /* AbstractArrayRead[POSetElement[MClass]] */
-1728, /* AbstractArrayRead[Object] */
-2538, /* Array[POSetElement[MClass]] */
--1, /* empty */
-1911, /* Array[Object] */
+1525, /* Collection[Array[nullable MPropDef]] */
+2253, /* HashMapValues[MType, Array[MVirtualTypeDef]] */
+170, /* Collection[Object] */
+1948, /* Collection[Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[Array#0]: Array[POSetElement[MClass]] */
-&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[Array#0]: NativeArray[POSetElement[MClass]] */
-&type_poset__POSetElementmodel__MClass, /* Sequence#0: POSetElement[MClass] */
-&type_poset__POSetElementmodel__MClass, /* SimpleCollection#0: POSetElement[MClass] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Array#0]: Collection[POSetElement[MClass]] */
-&type_poset__POSetElementmodel__MClass, /* Array#0: POSetElement[MClass] */
-&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MClass]] */
-&type_poset__POSetElementmodel__MClass, /* AbstractArray#0: POSetElement[MClass] */
-&type_poset__POSetElementmodel__MClass, /* RemovableCollection#0: POSetElement[MClass] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Sequence#0]: Collection[POSetElement[MClass]] */
-&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[Sequence#0]: Array[POSetElement[MClass]] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[SimpleCollection#0]: Collection[POSetElement[MClass]] */
-&type_poset__POSetElementmodel__MClass, /* Collection#0: POSetElement[MClass] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Collection#0]: Collection[POSetElement[MClass]] */
-&type_poset__POSetElementmodel__MClass, /* SequenceRead#0: POSetElement[MClass] */
-&type_poset__POSetElementmodel__MClass, /* AbstractArrayRead#0: POSetElement[MClass] */
-&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[AbstractArrayRead#0]: Array[POSetElement[MClass]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[MClass]] not a live type) */
-&type_array__ArrayIteratorposet__POSetElementmodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MClass]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Array[MVirtualTypeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: Array[MVirtualTypeDef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MVirtualTypeDef, /* Collection#0: Array[MVirtualTypeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[Array[MVirtualTypeDef]] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MClass]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClass = {
-2416,
-"AbstractArrayRead[POSetElement[MClass]]", /* class_name_string */
+/* runtime type Collection[Array[MVirtualTypeDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef = {
+1948,
+"Collection[Array[MVirtualTypeDef]]", /* class_name_string */
 5,
 0,
 NULL,
-7,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1632, /* Collection[POSetElement[MClass]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2416, /* AbstractArrayRead[POSetElement[MClass]] */
-1728, /* AbstractArrayRead[Object] */
+1525, /* Collection[Array[nullable MPropDef]] */
+-1, /* empty */
+170, /* Collection[Object] */
+1948, /* Collection[Array[MVirtualTypeDef]] */
 },
 };
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-546,
-"MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+568,
+"NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-546, /* MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+568, /* NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray#0: nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
 }
 };
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-547,
-"MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+/* runtime type HashMapNode[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1727,
+"HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-547, /* MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+163, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+1727, /* HashMapNode[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MMethodDef]]] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: Array[MVirtualTypeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[MMethodDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef = {
-548,
-"MapKeysIterator[MType, Array[MMethodDef]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+163,
+"nullable HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef,
+1,
+&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-548, /* MapKeysIterator[MType, Array[MMethodDef]] */
+-1, /* empty */
+163, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MMethodDef]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: Array[MVirtualTypeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MMethodDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef = {
-549,
-"MapValuesIterator[MType, Array[MMethodDef]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef,
+/* runtime type HashMapIterator[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1728,
+"HashMapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-549, /* MapValuesIterator[MType, Array[MMethodDef]] */
+569, /* MapIterator[MType, Array[MVirtualTypeDef]] */
+1728, /* HashMapIterator[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MMethodDef]] */
-&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[Array[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MVirtualTypeDef]] */
 }
 };
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-550,
-"MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+/* runtime type MapIterator[MType, Array[MVirtualTypeDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+569,
+"MapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+NULL,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-550, /* MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+569, /* MapIterator[MType, Array[MVirtualTypeDef]] */
+},
+};
+/* runtime type Array[POSetElement[Phase]] */
+const struct type type_array__Arrayposet__POSetElementphase__Phase = {
+2603,
+"Array[POSetElement[Phase]]", /* class_name_string */
+7,
+0,
+&resolution_table_array__Arrayposet__POSetElementphase__Phase,
+10,
+{
+0, /* nullable Object */
+1, /* Object */
+1625, /* Collection[POSetElement[Phase]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2473, /* AbstractArrayRead[POSetElement[Phase]] */
+1782, /* AbstractArrayRead[Object] */
+2603, /* Array[POSetElement[Phase]] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__Arrayposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Array#0]: Array[POSetElement[Phase]] */
+&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[Array#0]: NativeArray[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* Sequence#0: POSetElement[Phase] */
+&type_poset__POSetElementphase__Phase, /* SimpleCollection#0: POSetElement[Phase] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Array#0]: Collection[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* Array#0: POSetElement[Phase] */
+&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* AbstractArray#0: POSetElement[Phase] */
+&type_poset__POSetElementphase__Phase, /* RemovableCollection#0: POSetElement[Phase] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Sequence#0]: Collection[POSetElement[Phase]] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Sequence#0]: Array[POSetElement[Phase]] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[SimpleCollection#0]: Collection[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* Collection#0: POSetElement[Phase] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Collection#0]: Collection[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* SequenceRead#0: POSetElement[Phase] */
+&type_poset__POSetElementphase__Phase, /* AbstractArrayRead#0: POSetElement[Phase] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[AbstractArrayRead#0]: Array[POSetElement[Phase]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[POSetElement[Phase]] not a live type) */
+&type_array__ArrayIteratorposet__POSetElementphase__Phase, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[Phase]] */
 }
 };
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-551,
-"MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[POSetElement[Phase]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementphase__Phase = {
+2473,
+"AbstractArrayRead[POSetElement[Phase]]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+NULL,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+1625, /* Collection[POSetElement[Phase]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2473, /* AbstractArrayRead[POSetElement[Phase]] */
+1782, /* AbstractArrayRead[Object] */
+},
+};
+/* 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__Arraymproject__MProject,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-551, /* MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+289, /* ArrayIterator[Object] */
+1729, /* ArrayIterator[Array[MProject]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__AbstractArrayReadarray__Arraymproject__MProject, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MProject]] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Iterator#0]: Array[Array[MProject]] */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[MAttributeDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
-552,
-"MapKeysIterator[MType, Array[MAttributeDef]]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef,
+/* 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__Arraymproject__MProject,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-552, /* MapKeysIterator[MType, Array[MAttributeDef]] */
+193, /* NativeArray[Object] */
+1730, /* NativeArray[Array[MProject]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__NativeArrayarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MAttributeDef]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__Arraymproject__MProject, /* NativeArray#0: Array[MProject] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[NativeArray#0]: NativeArray[Array[MProject]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MAttributeDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
-553,
-"MapValuesIterator[MType, Array[MAttributeDef]]", /* class_name_string */
-2,
+/* runtime type Array[POSetElement[MModule]] */
+const struct type type_array__Arrayposet__POSetElementmmodule__MModule = {
+2604,
+"Array[POSetElement[MModule]]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef,
-3,
+&resolution_table_array__Arrayposet__POSetElementmmodule__MModule,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-553, /* MapValuesIterator[MType, Array[MAttributeDef]] */
+1628, /* Collection[POSetElement[MModule]] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2474, /* AbstractArrayRead[POSetElement[MModule]] */
+1782, /* AbstractArrayRead[Object] */
+2604, /* Array[POSetElement[MModule]] */
+-1, /* empty */
+1973, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__Arrayposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MAttributeDef]] */
-&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[Array[MAttributeDef]] */
+&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]] */
 }
 };