update c_src
[nit.git] / c_src / nith.types.5.c
index 4f8bc05..b1110da 100644 (file)
 #include "nith.types.0.h"
-/* runtime type HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+/* runtime type MapKeysIterator[MType, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
 -1, /*CAST DEAD*/
-"HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+"MapKeysIterator[MType, Int]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
--1, /* empty */
-84, /* Collection[Object] */
-1245, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-1435, /* HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+504, /* MapKeysIterator[MType, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&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 */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: HashMap[MType, Array[MVirtualTypeDef]] */
-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_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[K, V]: MapIterator[MType, Int] */
 }
 };
-/* runtime type Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1245,
-"Collection[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-5,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* 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 = {
-554,
-"NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MType, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-554, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+505, /* MapValuesIterator[MType, Int] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&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]]]] */
+&type_array__Arraykernel__Int, /* Array[E]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[K, V]: MapIterator[MType, Int] */
 }
 };
-/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+/* runtime type MapKeysIterator[MClass, Array[nullable MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
 -1, /*CAST DEAD*/
-"HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+"MapKeysIterator[MClass, Array[nullable MClass]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-555, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-1246, /* HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+506, /* MapKeysIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__Arraymodel__MClass, /* Array[E]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[K, V]: MapIterator[MClass, Array[nullable MClass]] */
 }
 };
-/* runtime type MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-555,
-"MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MClass, Array[nullable MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Array[nullable MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1247,
-"HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass,
 3,
-0,
-&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-4,
 {
 0, /* nullable Object */
 1, /* Object */
-72, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-1247, /* HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+507, /* MapValuesIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_mmodule__MModule, /* HashMapNode#0: MModule */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_mmodule__MModule, /* HashNode#0: MModule */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[E]: Array[Array[nullable MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[K, V]: MapIterator[MClass, Array[nullable MClass]] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-72,
-"nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMapKeys[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+/* runtime type ArrayIterator[AExternCodeBlock] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
 -1, /*CAST DEAD*/
-"HashMapKeys[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+"ArrayIterator[AExternCodeBlock]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-8,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
--1, /* empty */
-84, /* Collection[Object] */
-93, /* Collection[nullable MType] */
-1316, /* Collection[MType] */
-1636, /* HashMapKeys[MType, Array[MVirtualTypeDef]] */
+285, /* ArrayIterator[Object] */
+1099, /* ArrayIterator[ANode] */
+1400, /* ArrayIterator[Prod] */
+1652, /* ArrayIterator[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
 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 */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[E]: Array[AExternCodeBlock] */
+&type_array__AbstractArrayReadparser_nodes__AExternCodeBlock, /* AbstractArrayRead[E]: AbstractArrayRead[AExternCodeBlock] */
 }
 };
-/* runtime type HashMapValues[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"HashMapValues[MType, Array[MVirtualTypeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[AExternCodeBlock] */
+const struct type type_array__NativeArrayparser_nodes__AExternCodeBlock = {
+1653,
+"NativeArray[AExternCodeBlock]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-8,
+&resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
--1, /* empty */
-84, /* Collection[Object] */
-1093, /* Collection[Array[nullable MPropDef]] */
-1436, /* Collection[Array[MVirtualTypeDef]] */
-1637, /* HashMapValues[MType, Array[MVirtualTypeDef]] */
+104, /* NativeArray[Object] */
+1100, /* NativeArray[ANode] */
+1401, /* NativeArray[Prod] */
+1653, /* NativeArray[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock = {
 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 */
-&type_array__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: Array[MVirtualTypeDef] */
-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_parser_nodes__AExternCodeBlock, /* E: AExternCodeBlock */
+&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[E]: NativeArray[AExternCodeBlock] */
 }
 };
-/* runtime type Collection[Array[MVirtualTypeDef]] */
-const struct type type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef = {
-1436,
-"Collection[Array[MVirtualTypeDef]]", /* class_name_string */
-6,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-556,
-"NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-556, /* NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+508, /* MapKeysIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
 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__Arraymodel__MClass, /* Array[E]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[K, V]: MapIterator[MClass, AClassdef] */
 }
 };
-/* runtime type HashMapIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+/* runtime type MapValuesIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
 -1, /*CAST DEAD*/
-"HashMapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+"MapValuesIterator[MClass, AClassdef]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-557, /* MapIterator[MType, Array[MVirtualTypeDef]] */
-1248, /* HashMapIterator[MType, Array[MVirtualTypeDef]] */
+509, /* MapValuesIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[E]: Array[AClassdef] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[K, V]: MapIterator[MClass, AClassdef] */
 }
 };
-/* runtime type MapIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-557,
-"MapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-2,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type HashMapNode[MType, Array[MVirtualTypeDef]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1249,
-"HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[AParam] */
+const struct type type_array__ArrayIteratorparser_nodes__AParam = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AParam]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-73, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
-1249, /* HashMapNode[MType, Array[MVirtualTypeDef]] */
+285, /* ArrayIterator[Object] */
+1099, /* ArrayIterator[ANode] */
+1400, /* ArrayIterator[Prod] */
+1654, /* ArrayIterator[AParam] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AParam = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_array__Arraymodel__MVirtualTypeDef, /* HashMapNode#1: Array[MVirtualTypeDef] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__Arrayparser_nodes__AParam, /* Array[E]: Array[AParam] */
+&type_array__AbstractArrayReadparser_nodes__AParam, /* AbstractArrayRead[E]: AbstractArrayRead[AParam] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-73,
-"nullable HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
-2,
-1,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[POSetElement[Phase]] */
-const struct type type_array__Arrayposet__POSetElementphase__Phase = {
--1, /*CAST DEAD*/
-"Array[POSetElement[Phase]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[AParam] */
+const struct type type_array__NativeArrayparser_nodes__AParam = {
+1655,
+"NativeArray[AParam]", /* class_name_string */
+5,
 0,
-&resolution_table_array__Arrayposet__POSetElementphase__Phase,
-11,
+&resolution_table_array__NativeArrayparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1169, /* Collection[POSetElement[Phase]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1851, /* AbstractArrayRead[POSetElement[Phase]] */
-1459, /* Array[Object] */
-2091, /* Array[POSetElement[Phase]] */
+104, /* NativeArray[Object] */
+1100, /* NativeArray[ANode] */
+1401, /* NativeArray[Prod] */
+1655, /* NativeArray[AParam] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementphase__Phase = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AParam = {
 0, /* dummy */
 {
-&type_poset__POSetElementphase__Phase, /* Sequence#0: POSetElement[Phase] */
-&type_poset__POSetElementphase__Phase, /* SimpleCollection#0: POSetElement[Phase] */
-&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[Array#0]: NativeArray[POSetElement[Phase]] */
-&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Array#0]: Array[POSetElement[Phase]] */
-&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[Phase]] */
-&type_poset__POSetElementphase__Phase, /* RemovableCollection#0: POSetElement[Phase] */
-&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Sequence#0]: Collection[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]] */
-&type_array__ArrayIteratorposet__POSetElementphase__Phase, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[Phase]] */
+&type_parser_nodes__AParam, /* E: AParam */
+&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[E]: NativeArray[AParam] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[Phase]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementphase__Phase = {
-1851,
-"AbstractArrayRead[POSetElement[Phase]]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type ArrayIterator[Array[MProject]] */
-const struct type type_array__ArrayIteratorarray__Arraymproject__MProject = {
+/* runtime type ArrayIterator[AExternCall] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCall = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Array[MProject]]", /* class_name_string */
+"ArrayIterator[AExternCall]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymproject__MProject,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1250, /* ArrayIterator[Array[MProject]] */
+285, /* ArrayIterator[Object] */
+1099, /* ArrayIterator[ANode] */
+1400, /* ArrayIterator[Prod] */
+1656, /* ArrayIterator[AExternCall] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymproject__MProject = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymproject__MProject, /* Array[Iterator#0]: Array[Array[MProject]] */
-&type_array__AbstractArrayReadarray__Arraymproject__MProject, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MProject]] */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[E]: Array[AExternCall] */
+&type_array__AbstractArrayReadparser_nodes__AExternCall, /* AbstractArrayRead[E]: AbstractArrayRead[AExternCall] */
 }
 };
-/* runtime type NativeArray[Array[MProject]] */
-const struct type type_array__NativeArrayarray__Arraymproject__MProject = {
-1251,
-"NativeArray[Array[MProject]]", /* class_name_string */
-3,
+/* runtime type NativeArray[AExternCall] */
+const struct type type_array__NativeArrayparser_nodes__AExternCall = {
+1657,
+"NativeArray[AExternCall]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArrayarray__Arraymproject__MProject,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1251, /* NativeArray[Array[MProject]] */
+104, /* NativeArray[Object] */
+1100, /* NativeArray[ANode] */
+1401, /* NativeArray[Prod] */
+1657, /* NativeArray[AExternCall] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymproject__MProject = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_array__Arraymproject__MProject, /* NativeArray#0: Array[MProject] */
-&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[NativeArray#0]: NativeArray[Array[MProject]] */
+&type_parser_nodes__AExternCall, /* E: AExternCall */
+&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[E]: NativeArray[AExternCall] */
 }
 };
-/* runtime type Array[POSetElement[MModule]] */
-const struct type type_array__Arrayposet__POSetElementmmodule__MModule = {
+/* runtime type ArrayIterator[AType] */
+const struct type type_array__ArrayIteratorparser_nodes__AType = {
 -1, /*CAST DEAD*/
-"Array[POSetElement[MModule]]", /* class_name_string */
+"ArrayIterator[AType]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayposet__POSetElementmmodule__MModule,
-11,
+&resolution_table_array__ArrayIteratorparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1172, /* Collection[POSetElement[MModule]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1852, /* AbstractArrayRead[POSetElement[MModule]] */
-1459, /* Array[Object] */
-2092, /* Array[POSetElement[MModule]] */
+285, /* ArrayIterator[Object] */
+1099, /* ArrayIterator[ANode] */
+1400, /* ArrayIterator[Prod] */
+1658, /* ArrayIterator[AType] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmmodule__MModule = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AType = {
 0, /* dummy */
 {
-&type_poset__POSetElementmmodule__MModule, /* Sequence#0: POSetElement[MModule] */
-&type_poset__POSetElementmmodule__MModule, /* SimpleCollection#0: POSetElement[MModule] */
-&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[Array#0]: NativeArray[POSetElement[MModule]] */
-&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[Array#0]: Array[POSetElement[MModule]] */
-&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MModule]] */
-&type_poset__POSetElementmmodule__MModule, /* RemovableCollection#0: POSetElement[MModule] */
-&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[Sequence#0]: Collection[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]] */
-&type_array__ArrayIteratorposet__POSetElementmmodule__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MModule]] */
+&type_array__Arrayparser_nodes__AType, /* Array[E]: Array[AType] */
+&type_array__AbstractArrayReadparser_nodes__AType, /* AbstractArrayRead[E]: AbstractArrayRead[AType] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MModule]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmmodule__MModule = {
-1852,
-"AbstractArrayRead[POSetElement[MModule]]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type ArrayIterator[Array[MModule]] */
-const struct type type_array__ArrayIteratorarray__Arraymmodule__MModule = {
--1, /*CAST DEAD*/
-"ArrayIterator[Array[MModule]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[AType] */
+const struct type type_array__NativeArrayparser_nodes__AType = {
+1659,
+"NativeArray[AType]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymmodule__MModule,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1252, /* ArrayIterator[Array[MModule]] */
+104, /* NativeArray[Object] */
+1100, /* NativeArray[ANode] */
+1401, /* NativeArray[Prod] */
+1659, /* NativeArray[AType] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymmodule__MModule = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AType = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymmodule__MModule, /* Array[Iterator#0]: Array[Array[MModule]] */
-&type_array__AbstractArrayReadarray__Arraymmodule__MModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MModule]] */
+&type_parser_nodes__AType, /* E: AType */
+&type_array__NativeArrayparser_nodes__AType, /* NativeArray[E]: NativeArray[AType] */
 }
 };
-/* runtime type NativeArray[Array[MModule]] */
-const struct type type_array__NativeArrayarray__Arraymmodule__MModule = {
-1253,
-"NativeArray[Array[MModule]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[String, Variable] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayarray__Arraymmodule__MModule,
-4,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1253, /* NativeArray[Array[MModule]] */
+510, /* MapKeysIterator[String, Variable] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymmodule__MModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_array__Arraymmodule__MModule, /* NativeArray#0: Array[MModule] */
-&type_array__NativeArrayarray__Arraymmodule__MModule, /* NativeArray[NativeArray#0]: NativeArray[Array[MModule]] */
+&type_array__Arraystring__String, /* Array[E]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[K, V]: MapIterator[String, Variable] */
 }
 };
-/* runtime type Array[POSetElement[MClassDef]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClassDef = {
+/* runtime type MapValuesIterator[String, Variable] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
 -1, /*CAST DEAD*/
-"Array[POSetElement[MClassDef]]", /* class_name_string */
+"MapValuesIterator[String, Variable]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClassDef,
-11,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1175, /* Collection[POSetElement[MClassDef]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1853, /* AbstractArrayRead[POSetElement[MClassDef]] */
-1459, /* Array[Object] */
-2093, /* Array[POSetElement[MClassDef]] */
+511, /* MapValuesIterator[String, Variable] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MClassDef, /* Sequence#0: POSetElement[MClassDef] */
-&type_poset__POSetElementmodel__MClassDef, /* SimpleCollection#0: POSetElement[MClassDef] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[Array#0]: NativeArray[POSetElement[MClassDef]] */
-&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Array#0]: Array[POSetElement[MClassDef]] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MClassDef]] */
-&type_poset__POSetElementmodel__MClassDef, /* RemovableCollection#0: POSetElement[MClassDef] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[Sequence#0]: Collection[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]] */
-&type_array__ArrayIteratorposet__POSetElementmodel__MClassDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MClassDef]] */
+&type_array__Arrayscope__Variable, /* Array[E]: Array[Variable] */
+&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[K, V]: MapIterator[String, Variable] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MClassDef]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClassDef = {
-1853,
-"AbstractArrayRead[POSetElement[MClassDef]]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[POSetElement[MClassType]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClassType = {
+/* runtime type MapKeysIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
 -1, /*CAST DEAD*/
-"Array[POSetElement[MClassType]]", /* class_name_string */
+"MapKeysIterator[Variable, nullable MType]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClassType,
-14,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1178, /* Collection[POSetElement[MType]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1404, /* Collection[POSetElement[MClassType]] */
-1459, /* Array[Object] */
-1854, /* AbstractArrayRead[POSetElement[MType]] */
-2094, /* Array[POSetElement[MType]] */
-2095, /* AbstractArrayRead[POSetElement[MClassType]] */
-2157, /* Array[POSetElement[MClassType]] */
+512, /* MapKeysIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MClassType, /* Sequence#0: POSetElement[MClassType] */
-&type_poset__POSetElementmodel__MClassType, /* SimpleCollection#0: POSetElement[MClassType] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[Array#0]: NativeArray[POSetElement[MClassType]] */
-&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Array#0]: Array[POSetElement[MClassType]] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MClassType]] */
-&type_poset__POSetElementmodel__MClassType, /* RemovableCollection#0: POSetElement[MClassType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[Sequence#0]: Collection[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]] */
-&type_array__ArrayIteratorposet__POSetElementmodel__MClassType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MClassType]] */
+&type_array__Arrayscope__Variable, /* Array[E]: Array[Variable] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[K, V]: MapIterator[Variable, nullable MType] */
 }
 };
-/* runtime type Array[POSetElement[MType]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MType = {
+/* runtime type MapValuesIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
 -1, /*CAST DEAD*/
-"Array[POSetElement[MType]]", /* class_name_string */
+"MapValuesIterator[Variable, nullable MType]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MType,
-12,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1178, /* Collection[POSetElement[MType]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
--1, /* empty */
-1459, /* Array[Object] */
-1854, /* AbstractArrayRead[POSetElement[MType]] */
-2094, /* Array[POSetElement[MType]] */
+513, /* MapValuesIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MType, /* Sequence#0: POSetElement[MType] */
-&type_poset__POSetElementmodel__MType, /* SimpleCollection#0: POSetElement[MType] */
-&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[Array#0]: NativeArray[POSetElement[MType]] */
-&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Array#0]: Array[POSetElement[MType]] */
-&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MType]] */
-&type_poset__POSetElementmodel__MType, /* RemovableCollection#0: POSetElement[MType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[Sequence#0]: Collection[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]] */
-&type_array__ArrayIteratorposet__POSetElementmodel__MType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MType]] */
+&type_array__Arraynullable_model__MType, /* Array[E]: Array[nullable MType] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[K, V]: MapIterator[Variable, nullable MType] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MClassType]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClassType = {
-2095,
-"AbstractArrayRead[POSetElement[MClassType]]", /* class_name_string */
-12,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type AbstractArrayRead[POSetElement[MType]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MType = {
-1854,
-"AbstractArrayRead[POSetElement[MType]]", /* class_name_string */
-10,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type ArrayIterator[Array[MClass]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel__MClass = {
+/* runtime type MapKeysIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Array[MClass]]", /* class_name_string */
+"MapKeysIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymodel__MClass,
-5,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1254, /* ArrayIterator[Array[nullable MClass]] */
-1437, /* ArrayIterator[Array[MClass]] */
+514, /* MapKeysIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
-&type_array__AbstractArrayReadarray__Arraymodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MClass]] */
+&type_array__Arrayscope__Variable, /* Array[E]: Array[Variable] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[K, V]: MapIterator[Variable, nullable Array[nullable MType]] */
 }
 };
-/* runtime type ArrayIterator[Array[nullable MClass]] */
-const struct type type_array__ArrayIteratorarray__Arraynullable_model__MClass = {
+/* runtime type MapValuesIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Array[nullable MClass]]", /* class_name_string */
+"MapValuesIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MClass,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1254, /* ArrayIterator[Array[nullable MClass]] */
+515, /* MapValuesIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[Array[nullable MClass]] */
-&type_array__AbstractArrayReadarray__Arraynullable_model__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[nullable MClass]] */
+&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[E]: Array[nullable Array[nullable MType]] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[K, V]: MapIterator[Variable, nullable Array[nullable MType]] */
 }
 };
-/* runtime type NativeArray[Array[MClass]] */
-const struct type type_array__NativeArrayarray__Arraymodel__MClass = {
-1438,
-"NativeArray[Array[MClass]]", /* class_name_string */
-4,
+/* runtime type ArrayIterator[MAttributeDef] */
+const struct type type_array__ArrayIteratormodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MAttributeDef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayarray__Arraymodel__MClass,
-5,
+&resolution_table_array__ArrayIteratormodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1255, /* NativeArray[Array[nullable MClass]] */
-1438, /* NativeArray[Array[MClass]] */
+285, /* ArrayIterator[Object] */
+332, /* ArrayIterator[nullable MPropDef] */
+1083, /* ArrayIterator[PropertyLayoutElement] */
+1585, /* ArrayIterator[MPropDef] */
+1892, /* ArrayIterator[MAttributeDef] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel__MClass = {
+const struct types resolution_table_array__ArrayIteratormodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MClass, /* NativeArray#0: Array[MClass] */
-&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[Array[MClass]] */
+&type_array__Arraymodel__MAttributeDef, /* Array[E]: Array[MAttributeDef] */
+&type_array__AbstractArrayReadmodel__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[MAttributeDef] */
 }
 };
-/* runtime type NativeArray[Array[nullable MClass]] */
-const struct type type_array__NativeArrayarray__Arraynullable_model__MClass = {
-1255,
-"NativeArray[Array[nullable MClass]]", /* class_name_string */
-3,
+/* runtime type NativeArray[MAttributeDef] */
+const struct type type_array__NativeArraymodel__MAttributeDef = {
+1893,
+"NativeArray[MAttributeDef]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArrayarray__Arraynullable_model__MClass,
-4,
+&resolution_table_array__NativeArraymodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1255, /* NativeArray[Array[nullable MClass]] */
+104, /* NativeArray[Object] */
+333, /* NativeArray[nullable MPropDef] */
+1084, /* NativeArray[PropertyLayoutElement] */
+1586, /* NativeArray[MPropDef] */
+1893, /* NativeArray[MAttributeDef] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MClass = {
+const struct types resolution_table_array__NativeArraymodel__MAttributeDef = {
 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_model__MAttributeDef, /* E: MAttributeDef */
+&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[MAttributeDef] */
 }
 };
-/* runtime type ArrayIterator[Array[MProperty]] */
-const struct type type_array__ArrayIteratorarray__Arraymodel__MProperty = {
--1, /*CAST DEAD*/
-"ArrayIterator[Array[MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+516,
+"HashMap[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArrayIteratorarray__Arraymodel__MProperty,
-4,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1256, /* ArrayIterator[Array[MProperty]] */
+516, /* HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Iterator#0]: Array[Array[MProperty]] */
-&type_array__AbstractArrayReadarray__Arraymodel__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MProperty]] */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[K, V]: HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[K, V]: HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[K, V]: HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* V: HashMap[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[K, V]: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* K: MModule */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* nullable N: nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_nullable_mmodule__MModule, /* nullable K: nullable MModule */
 }
 };
-/* runtime type NativeArray[Array[MProperty]] */
-const struct type type_array__NativeArrayarray__Arraymodel__MProperty = {
-1257,
-"NativeArray[Array[MProperty]]", /* class_name_string */
-3,
+/* runtime type HashMap[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+517,
+"HashMap[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArrayarray__Arraymodel__MProperty,
-4,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1257, /* NativeArray[Array[MProperty]] */
+517, /* HashMap[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraymodel__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MProperty, /* NativeArray#0: Array[MProperty] */
-&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[Array[MProperty]] */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[K, V]: HashMapKeys[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[K, V]: HashMapValues[MType, Array[MAttributeDef]] */
+&type_model__MType, /* K: MType */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[K, V]: HashMapIterator[MType, Array[MAttributeDef]] */
+&type_model__MType, /* K: MType */
+&type_array__Arraymodel__MAttributeDef, /* V: Array[MAttributeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[K, V]: HashMapNode[MType, Array[MAttributeDef]] */
+&type_model__MType, /* K: MType */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* nullable N: nullable HashMapNode[MType, Array[MAttributeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* N: HashMapNode[MType, Array[MAttributeDef]] */
+&type_nullable_model__MType, /* nullable K: nullable MType */
 }
 };
-/* runtime type Array[HashMap2[MType, String, nullable MProperty]] */
-const struct type type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+/* runtime type ArrayIterator[MVirtualTypeDef] */
+const struct type type_array__ArrayIteratormodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
-"Array[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+"ArrayIterator[MVirtualTypeDef]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-11,
+&resolution_table_array__ArrayIteratormodel__MVirtualTypeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1183, /* Collection[HashMap2[MType, String, nullable MProperty]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1855, /* AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
-1459, /* Array[Object] */
-2096, /* Array[HashMap2[MType, String, nullable MProperty]] */
+285, /* ArrayIterator[Object] */
+332, /* ArrayIterator[nullable MPropDef] */
+1083, /* ArrayIterator[PropertyLayoutElement] */
+1585, /* ArrayIterator[MPropDef] */
+1894, /* ArrayIterator[MVirtualTypeDef] */
 },
 };
-const struct types resolution_table_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&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_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[Array#0]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
-&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[ArrayCapable#0]: NativeArray[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_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]] */
-&type_array__ArrayIteratormore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap2[MType, String, nullable MProperty]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[MVirtualTypeDef] */
+&type_array__AbstractArrayReadmodel__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[MVirtualTypeDef] */
 }
 };
-/* runtime type AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
-const struct type type_array__AbstractArrayReadmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1855,
-"AbstractArrayRead[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[MVirtualTypeDef] */
+const struct type type_array__NativeArraymodel__MVirtualTypeDef = {
+1895,
+"NativeArray[MVirtualTypeDef]", /* class_name_string */
+6,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
-3,
+&resolution_table_array__NativeArraymodel__MVirtualTypeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-558, /* MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+104, /* NativeArray[Object] */
+333, /* NativeArray[nullable MPropDef] */
+1084, /* NativeArray[PropertyLayoutElement] */
+1586, /* NativeArray[MPropDef] */
+1895, /* NativeArray[MVirtualTypeDef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__NativeArraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, HashMap[String, nullable MProperty]] */
+&type_model__MVirtualTypeDef, /* E: MVirtualTypeDef */
+&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[MVirtualTypeDef] */
 }
 };
-/* runtime type MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+518,
+"HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-559, /* MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+518, /* HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap[String, nullable MProperty]] */
-&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[K, V]: HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[K, V]: HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[K, V]: HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* V: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[K, V]: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* K: MModule */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* nullable N: nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_nullable_mmodule__MModule, /* nullable K: nullable MModule */
 }
 };
-/* runtime type MapKeysIterator[String, nullable MProperty] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty = {
--1, /*CAST DEAD*/
-"MapKeysIterator[String, nullable MProperty]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type HashMap[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+519,
+"HashMap[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-560, /* MapKeysIterator[String, nullable MProperty] */
+519, /* HashMap[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
-&type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, nullable MProperty] */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[K, V]: HashMapKeys[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[K, V]: HashMapValues[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* K: MType */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[K, V]: HashMapIterator[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* K: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* V: Array[MVirtualTypeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[K, V]: HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* K: MType */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* nullable N: nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* N: HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_nullable_model__MType, /* nullable K: nullable MType */
 }
 };
-/* runtime type MapValuesIterator[String, nullable MProperty] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty = {
+/* runtime type MapKeysIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
 -1, /*CAST DEAD*/
-"MapValuesIterator[String, nullable MProperty]", /* class_name_string */
+"MapKeysIterator[Phase, POSetElement[Phase]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-561, /* MapValuesIterator[String, nullable MProperty] */
+520, /* MapKeysIterator[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_array__Arraynullable_model__MProperty, /* Array[Iterator#0]: Array[nullable MProperty] */
-&type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, nullable MProperty] */
+&type_array__Arrayphase__Phase, /* Array[E]: Array[Phase] */
+&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[K, V]: MapIterator[Phase, POSetElement[Phase]] */
 }
 };
-/* runtime type ArrayIterator[nullable MGroup] */
-const struct type type_array__ArrayIteratornullable_mproject__MGroup = {
+/* runtime type MapValuesIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
 -1, /*CAST DEAD*/
-"ArrayIterator[nullable MGroup]", /* class_name_string */
+"MapValuesIterator[Phase, POSetElement[Phase]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratornullable_mproject__MGroup,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-562, /* ArrayIterator[nullable MGroup] */
+521, /* MapValuesIterator[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratornullable_mproject__MGroup = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_array__Arraynullable_mproject__MGroup, /* Array[Iterator#0]: Array[nullable MGroup] */
-&type_array__AbstractArrayReadnullable_mproject__MGroup, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MGroup] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[E]: Array[POSetElement[Phase]] */
+&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[K, V]: MapIterator[Phase, POSetElement[Phase]] */
 }
 };
-/* runtime type NativeArray[nullable MGroup] */
-const struct type type_array__NativeArraynullable_mproject__MGroup = {
-563,
-"NativeArray[nullable MGroup]", /* class_name_string */
-3,
+/* runtime type Array[POSetElement[Phase]] */
+const struct type type_array__Arrayposet__POSetElementphase__Phase = {
+-1, /*CAST DEAD*/
+"Array[POSetElement[Phase]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_mproject__MGroup,
-4,
+&resolution_table_array__Arrayposet__POSetElementphase__Phase,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-563, /* NativeArray[nullable MGroup] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1219, /* Collection[POSetElement[Phase]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1896, /* AbstractArrayRead[POSetElement[Phase]] */
+1512, /* AbstractArray[Object] */
+2154, /* AbstractArray[POSetElement[Phase]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2248, /* Array[POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_mproject__MGroup = {
+const struct types resolution_table_array__Arrayposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_nullable_mproject__MGroup, /* NativeArray#0: nullable MGroup */
-&type_array__NativeArraynullable_mproject__MGroup, /* NativeArray[NativeArray#0]: NativeArray[nullable MGroup] */
+&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[E]: NativeArray[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[E]: Collection[POSetElement[Phase]] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[E]: Array[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[E]: Collection[POSetElement[Phase]] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[E]: Collection[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[E]: Array[POSetElement[Phase]] */
+&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[E]: NativeArray[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[E]: Array[POSetElement[Phase]] */
+&type_array__AbstractArrayposet__POSetElementphase__Phase, /* AbstractArray[E]: AbstractArray[POSetElement[Phase]] */
+&type_array__ArrayIteratorposet__POSetElementphase__Phase, /* ArrayIterator[E]: ArrayIterator[POSetElement[Phase]] */
 }
 };
-/* runtime type ArrayIterator[Set[MProperty]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MProperty = {
+/* runtime type AbstractArrayRead[POSetElement[Phase]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementphase__Phase = {
+1896,
+"AbstractArrayRead[POSetElement[Phase]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[POSetElement[Phase]] */
+const struct type type_array__AbstractArrayposet__POSetElementphase__Phase = {
+2154,
+"AbstractArray[POSetElement[Phase]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetIterator[Phase] */
+const struct type type_hash_collection__HashSetIteratorphase__Phase = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Set[MProperty]]", /* class_name_string */
+"HashSetIterator[Phase]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MProperty,
-5,
+&resolution_table_hash_collection__HashSetIteratorphase__Phase,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1258, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1439, /* ArrayIterator[Set[MProperty]] */
+290, /* HashSetIterator[Object] */
+1265, /* HashSetIterator[Phase] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_hash_collection__HashSetIteratorphase__Phase = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Iterator#0]: Array[Set[MProperty]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MProperty]] */
+&type_array__Arrayphase__Phase, /* Array[E]: Array[Phase] */
+&type_hash_collection__HashSetphase__Phase, /* HashSet[E]: HashSet[Phase] */
 }
 };
-/* runtime type ArrayIterator[Set[PropertyLayoutElement]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
--1, /*CAST DEAD*/
-"ArrayIterator[Set[PropertyLayoutElement]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[nullable HashSetNode[Phase]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
+1266,
+"NativeArray[nullable HashSetNode[Phase]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setseparate_compiler__PropertyLayoutElement,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1258, /* ArrayIterator[Set[PropertyLayoutElement]] */
+291, /* NativeArray[nullable HashSetNode[Object]] */
+1266, /* NativeArray[nullable HashSetNode[Phase]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* Array[Iterator#0]: Array[Set[PropertyLayoutElement]] */
-&type_array__AbstractArrayReadabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[PropertyLayoutElement]] */
+&type_nullable_hash_collection__HashSetNodephase__Phase, /* E: nullable HashSetNode[Phase] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[E]: NativeArray[nullable HashSetNode[Phase]] */
 }
 };
-/* runtime type NativeArray[Set[MProperty]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MProperty = {
-1440,
-"NativeArray[Set[MProperty]]", /* class_name_string */
-4,
-0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MProperty,
+/* runtime type HashSetNode[Phase] */
+const struct type type_hash_collection__HashSetNodephase__Phase = {
+1660,
+"HashSetNode[Phase]", /* class_name_string */
 5,
+0,
+&resolution_table_hash_collection__HashSetNodephase__Phase,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1259, /* NativeArray[Set[PropertyLayoutElement]] */
-1440, /* NativeArray[Set[MProperty]] */
+17, /* nullable HashSetNode[Object] */
+522, /* nullable HashSetNode[Phase] */
+1069, /* HashSetNode[Object] */
+1660, /* HashSetNode[Phase] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_hash_collection__HashSetNodephase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MProperty, /* NativeArray#0: Set[MProperty] */
-&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[NativeArray#0]: NativeArray[Set[MProperty]] */
+&type_phase__Phase, /* E: Phase */
+NULL, /* empty */
+&type_phase__Phase, /* K: Phase */
 }
 };
-/* runtime type NativeArray[Set[PropertyLayoutElement]] */
-const struct type type_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
-1259,
-"NativeArray[Set[PropertyLayoutElement]]", /* class_name_string */
+/* runtime type nullable HashSetNode[Phase] */
+const struct type type_nullable_hash_collection__HashSetNodephase__Phase = {
+522,
+"nullable HashSetNode[Phase]", /* class_name_string */
 3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[Array[MProject]] */
+const struct type type_array__ArrayIteratorarray__Arraymproject__MProject = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Array[MProject]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement,
+&resolution_table_array__ArrayIteratorarray__Arraymproject__MProject,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1259, /* NativeArray[Set[PropertyLayoutElement]] */
+285, /* ArrayIterator[Object] */
+1267, /* ArrayIterator[Array[MProject]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_abstract_collection__Setseparate_compiler__PropertyLayoutElement, /* NativeArray#0: Set[PropertyLayoutElement] */
-&type_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* NativeArray[NativeArray#0]: NativeArray[Set[PropertyLayoutElement]] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[E]: Array[Array[MProject]] */
+&type_array__AbstractArrayReadarray__Arraymproject__MProject, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MProject]] */
 }
 };
-/* runtime type Array[MGroup] */
-const struct type type_array__Arraymproject__MGroup = {
-2158,
-"Array[MGroup]", /* class_name_string */
-11,
+/* runtime type NativeArray[Array[MProject]] */
+const struct type type_array__NativeArrayarray__Arraymproject__MProject = {
+1268,
+"NativeArray[Array[MProject]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arraymproject__MGroup,
-12,
+&resolution_table_array__NativeArrayarray__Arraymproject__MProject,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-113, /* Collection[nullable MGroup] */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1324, /* Collection[MGroup] */
-1425, /* AbstractArrayRead[nullable MGroup] */
-1294, /* AbstractArrayRead[Object] */
-1628, /* Array[nullable MGroup] */
-1459, /* Array[Object] */
-2097, /* AbstractArrayRead[MGroup] */
-2158, /* Array[MGroup] */
+104, /* NativeArray[Object] */
+1268, /* NativeArray[Array[MProject]] */
 },
 };
-const struct types resolution_table_array__Arraymproject__MGroup = {
+const struct types resolution_table_array__NativeArrayarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_mproject__MGroup, /* Sequence#0: MGroup */
-&type_mproject__MGroup, /* SimpleCollection#0: MGroup */
-&type_array__NativeArraymproject__MGroup, /* NativeArray[Array#0]: NativeArray[MGroup] */
-&type_array__Arraymproject__MGroup, /* Array[Array#0]: Array[MGroup] */
-&type_array__NativeArraymproject__MGroup, /* NativeArray[ArrayCapable#0]: NativeArray[MGroup] */
-&type_mproject__MGroup, /* RemovableCollection#0: MGroup */
-&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Sequence#0]: Collection[MGroup] */
-&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, /* SequenceRead#0: MGroup */
-&type_mproject__MGroup, /* AbstractArrayRead#0: MGroup */
-&type_array__Arraymproject__MGroup, /* Array[AbstractArrayRead#0]: Array[MGroup] */
-&type_array__ArrayIteratormproject__MGroup, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MGroup] */
+&type_array__Arraymproject__MProject, /* E: Array[MProject] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[E]: NativeArray[Array[MProject]] */
 }
 };
-/* runtime type AbstractArrayRead[MGroup] */
-const struct type type_array__AbstractArrayReadmproject__MGroup = {
-2097,
-"AbstractArrayRead[MGroup]", /* class_name_string */
-10,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[POSetElement[MGroup]] */
-const struct type type_array__Arrayposet__POSetElementmproject__MGroup = {
+/* runtime type MapKeysIterator[MModule, POSetElement[MModule]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 -1, /*CAST DEAD*/
-"Array[POSetElement[MGroup]]", /* class_name_string */
+"MapKeysIterator[MModule, POSetElement[MModule]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayposet__POSetElementmproject__MGroup,
-11,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1190, /* Collection[POSetElement[MGroup]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1856, /* AbstractArrayRead[POSetElement[MGroup]] */
-1459, /* Array[Object] */
-2098, /* Array[POSetElement[MGroup]] */
+523, /* MapKeysIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmproject__MGroup = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_poset__POSetElementmproject__MGroup, /* Sequence#0: POSetElement[MGroup] */
-&type_poset__POSetElementmproject__MGroup, /* SimpleCollection#0: POSetElement[MGroup] */
-&type_array__NativeArrayposet__POSetElementmproject__MGroup, /* NativeArray[Array#0]: NativeArray[POSetElement[MGroup]] */
-&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[Array#0]: Array[POSetElement[MGroup]] */
-&type_array__NativeArrayposet__POSetElementmproject__MGroup, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MGroup]] */
-&type_poset__POSetElementmproject__MGroup, /* RemovableCollection#0: POSetElement[MGroup] */
-&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[Sequence#0]: Collection[POSetElement[MGroup]] */
-&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[SimpleCollection#0]: Collection[POSetElement[MGroup]] */
-&type_poset__POSetElementmproject__MGroup, /* Collection#0: POSetElement[MGroup] */
-&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[Collection#0]: Collection[POSetElement[MGroup]] */
-&type_poset__POSetElementmproject__MGroup, /* SequenceRead#0: POSetElement[MGroup] */
-&type_poset__POSetElementmproject__MGroup, /* AbstractArrayRead#0: POSetElement[MGroup] */
-&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[AbstractArrayRead#0]: Array[POSetElement[MGroup]] */
-&type_array__ArrayIteratorposet__POSetElementmproject__MGroup, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MGroup]] */
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapIterator[K, V]: MapIterator[MModule, POSetElement[MModule]] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MGroup]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmproject__MGroup = {
-1856,
-"AbstractArrayRead[POSetElement[MGroup]]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[HashMap[MProperty, Set[MMethodDef]]] */
-const struct type type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+/* runtime type MapValuesIterator[MModule, POSetElement[MModule]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 -1, /*CAST DEAD*/
-"Array[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
+"MapValuesIterator[MModule, POSetElement[MModule]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef,
-11,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1193, /* Collection[HashMap[MProperty, Set[MMethodDef]]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1857, /* AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
-1459, /* Array[Object] */
-2099, /* Array[HashMap[MProperty, Set[MMethodDef]]] */
+524, /* MapValuesIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Sequence#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* SimpleCollection#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray[Array#0]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
-&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[Array#0]: Array[HashMap[MProperty, Set[MMethodDef]]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* RemovableCollection#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection[Sequence#0]: Collection[HashMap[MProperty, Set[MMethodDef]]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[HashMap[MProperty, Set[MMethodDef]]] */
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection[Collection#0]: Collection[HashMap[MProperty, Set[MMethodDef]]] */
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* SequenceRead#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* AbstractArrayRead#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[AbstractArrayRead#0]: Array[HashMap[MProperty, Set[MMethodDef]]] */
-&type_array__ArrayIteratorhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[E]: Array[POSetElement[MModule]] */
+&type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapIterator[K, V]: MapIterator[MModule, POSetElement[MModule]] */
 }
 };
-/* runtime type AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
-const struct type type_array__AbstractArrayReadhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
-1857,
-"AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
-8,
-0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
-};
-/* runtime type Array[Set[MMethodDef]] */
-const struct type type_array__Arrayabstract_collection__Setmodel__MMethodDef = {
+/* runtime type Array[POSetElement[MModule]] */
+const struct type type_array__Arrayposet__POSetElementmmodule__MModule = {
 -1, /*CAST DEAD*/
-"Array[Set[MMethodDef]]", /* class_name_string */
+"Array[POSetElement[MModule]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayabstract_collection__Setmodel__MMethodDef,
-15,
+&resolution_table_array__Arrayposet__POSetElementmmodule__MModule,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1064, /* Collection[Set[PropertyLayoutElement]] */
-1411, /* Collection[Set[MMethodDef]] */
-1294, /* AbstractArrayRead[Object] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1222, /* Collection[POSetElement[MModule]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1897, /* AbstractArrayRead[POSetElement[MModule]] */
+1512, /* AbstractArray[Object] */
+2155, /* AbstractArray[POSetElement[MModule]] */
 -1, /* empty */
-1459, /* Array[Object] */
 -1, /* empty */
-1841, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
-2081, /* Array[Set[PropertyLayoutElement]] */
-2100, /* AbstractArrayRead[Set[MMethodDef]] */
-2159, /* Array[Set[MMethodDef]] */
+-1, /* empty */
+1909, /* Array[Object] */
+2249, /* Array[POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MMethodDef = {
+const struct types resolution_table_array__Arrayposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MMethodDef, /* Sequence#0: Set[MMethodDef] */
-&type_abstract_collection__Setmodel__MMethodDef, /* SimpleCollection#0: Set[MMethodDef] */
-&type_array__NativeArrayabstract_collection__Setmodel__MMethodDef, /* NativeArray[Array#0]: NativeArray[Set[MMethodDef]] */
-&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[Array#0]: Array[Set[MMethodDef]] */
-&type_array__NativeArrayabstract_collection__Setmodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[Set[MMethodDef]] */
-&type_abstract_collection__Setmodel__MMethodDef, /* RemovableCollection#0: Set[MMethodDef] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MMethodDef, /* Collection[Sequence#0]: Collection[Set[MMethodDef]] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[Set[MMethodDef]] */
-&type_abstract_collection__Setmodel__MMethodDef, /* Collection#0: Set[MMethodDef] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MMethodDef, /* Collection[Collection#0]: Collection[Set[MMethodDef]] */
-&type_abstract_collection__Setmodel__MMethodDef, /* SequenceRead#0: Set[MMethodDef] */
-&type_abstract_collection__Setmodel__MMethodDef, /* AbstractArrayRead#0: Set[MMethodDef] */
-&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[AbstractArrayRead#0]: Array[Set[MMethodDef]] */
-&type_array__ArrayIteratorabstract_collection__Setmodel__MMethodDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Set[MMethodDef]] */
+&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[E]: NativeArray[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[E]: Collection[POSetElement[MModule]] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[E]: Array[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[E]: Collection[POSetElement[MModule]] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[E]: Collection[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[E]: Array[POSetElement[MModule]] */
+&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[E]: NativeArray[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[E]: Array[POSetElement[MModule]] */
+&type_array__AbstractArrayposet__POSetElementmmodule__MModule, /* AbstractArray[E]: AbstractArray[POSetElement[MModule]] */
+&type_array__ArrayIteratorposet__POSetElementmmodule__MModule, /* ArrayIterator[E]: ArrayIterator[POSetElement[MModule]] */
 }
 };
-/* runtime type AbstractArrayRead[Set[MMethodDef]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MMethodDef = {
-2100,
-"AbstractArrayRead[Set[MMethodDef]]", /* class_name_string */
-13,
+/* runtime type AbstractArrayRead[POSetElement[MModule]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementmmodule__MModule = {
+1897,
+"AbstractArrayRead[POSetElement[MModule]]", /* class_name_string */
+9,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type ArrayIterator[HashSet[MType]] */
-const struct type type_array__ArrayIteratorhash_collection__HashSetmodel__MType = {
--1, /*CAST DEAD*/
-"ArrayIterator[HashSet[MType]]", /* class_name_string */
+/* runtime type AbstractArray[POSetElement[MModule]] */
+const struct type type_array__AbstractArrayposet__POSetElementmmodule__MModule = {
+2155,
+"AbstractArray[POSetElement[MModule]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[Array[MModule]] */
+const struct type type_array__ArrayIteratorarray__Arraymmodule__MModule = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Array[MModule]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorhash_collection__HashSetmodel__MType,
-5,
+&resolution_table_array__ArrayIteratorarray__Arraymmodule__MModule,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1260, /* ArrayIterator[Set[MType]] */
-1441, /* ArrayIterator[HashSet[MType]] */
+285, /* ArrayIterator[Object] */
+1269, /* ArrayIterator[Array[MModule]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraymmodule__MModule = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
-&type_array__AbstractArrayReadhash_collection__HashSetmodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashSet[MType]] */
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[E]: Array[Array[MModule]] */
+&type_array__AbstractArrayReadarray__Arraymmodule__MModule, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MModule]] */
 }
 };
-/* runtime type ArrayIterator[Set[MType]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MType = {
--1, /*CAST DEAD*/
-"ArrayIterator[Set[MType]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type NativeArray[Array[MModule]] */
+const struct type type_array__NativeArrayarray__Arraymmodule__MModule = {
+1270,
+"NativeArray[Array[MModule]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MType,
+&resolution_table_array__NativeArrayarray__Arraymmodule__MModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1260, /* ArrayIterator[Set[MType]] */
+104, /* NativeArray[Object] */
+1270, /* NativeArray[Array[MModule]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MType = {
+const struct types resolution_table_array__NativeArrayarray__Arraymmodule__MModule = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MType]] */
+&type_array__Arraymmodule__MModule, /* E: Array[MModule] */
+&type_array__NativeArrayarray__Arraymmodule__MModule, /* NativeArray[E]: NativeArray[Array[MModule]] */
 }
 };
-/* runtime type NativeArray[HashSet[MType]] */
-const struct type type_array__NativeArrayhash_collection__HashSetmodel__MType = {
-1442,
-"NativeArray[HashSet[MType]]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayhash_collection__HashSetmodel__MType,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1261, /* NativeArray[Set[MType]] */
-1442, /* NativeArray[HashSet[MType]] */
+525, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MType, /* NativeArray#0: HashSet[MType] */
-&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[HashSet[MType]] */
+&type_array__Arraymodel__MClassDef, /* Array[E]: Array[MClassDef] */
+&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[K, V]: MapIterator[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type NativeArray[Set[MType]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MType = {
-1261,
-"NativeArray[Set[MType]]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MType,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1261, /* NativeArray[Set[MType]] */
+526, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MType, /* NativeArray#0: Set[MType] */
-&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[Set[MType]] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[K, V]: MapIterator[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type ArrayIterator[Array[nullable MType]] */
-const struct type type_array__ArrayIteratorarray__Arraynullable_model__MType = {
+/* runtime type Array[POSetElement[MClassDef]] */
+const struct type type_array__Arrayposet__POSetElementmodel__MClassDef = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Array[nullable MType]]", /* class_name_string */
+"Array[POSetElement[MClassDef]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MType,
-5,
+&resolution_table_array__Arrayposet__POSetElementmodel__MClassDef,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-564, /* ArrayIterator[nullable Array[nullable MType]] */
-1443, /* ArrayIterator[Array[nullable MType]] */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1225, /* Collection[POSetElement[MClassDef]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1898, /* AbstractArrayRead[POSetElement[MClassDef]] */
+1512, /* AbstractArray[Object] */
+2156, /* AbstractArray[POSetElement[MClassDef]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2250, /* Array[POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MType = {
+const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
-&type_array__AbstractArrayReadarray__Arraynullable_model__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[nullable MType]] */
+&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[E]: NativeArray[POSetElement[MClassDef]] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[E]: Collection[POSetElement[MClassDef]] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[E]: NativeArray[POSetElement[MClassDef]] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_array__AbstractArrayposet__POSetElementmodel__MClassDef, /* AbstractArray[E]: AbstractArray[POSetElement[MClassDef]] */
+&type_array__ArrayIteratorposet__POSetElementmodel__MClassDef, /* ArrayIterator[E]: ArrayIterator[POSetElement[MClassDef]] */
 }
 };
-/* runtime type ArrayIterator[nullable Array[nullable MType]] */
-const struct type type_array__ArrayIteratornullable_array__Arraynullable_model__MType = {
+/* runtime type AbstractArrayRead[POSetElement[MClassDef]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClassDef = {
+1898,
+"AbstractArrayRead[POSetElement[MClassDef]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[POSetElement[MClassDef]] */
+const struct type type_array__AbstractArrayposet__POSetElementmodel__MClassDef = {
+2156,
+"AbstractArray[POSetElement[MClassDef]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 -1, /*CAST DEAD*/
-"ArrayIterator[nullable Array[nullable MType]]", /* class_name_string */
+"MapKeysIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratornullable_array__Arraynullable_model__MType,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-564, /* ArrayIterator[nullable Array[nullable MType]] */
+527, /* MapKeysIterator[MType, POSetElement[MType]] */
+1271, /* MapKeysIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratornullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable Array[nullable MType]] */
-&type_array__AbstractArrayReadnullable_array__Arraynullable_model__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable Array[nullable MType]] */
+&type_array__Arraymodel__MClassType, /* Array[E]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[K, V]: MapIterator[MClassType, POSetElement[MClassType]] */
 }
 };
-/* runtime type NativeArray[Array[nullable MType]] */
-const struct type type_array__NativeArrayarray__Arraynullable_model__MType = {
-1444,
-"NativeArray[Array[nullable MType]]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[MType, POSetElement[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, POSetElement[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayarray__Arraynullable_model__MType,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-565, /* NativeArray[nullable Array[nullable MType]] */
-1444, /* NativeArray[Array[nullable MType]] */
+527, /* MapKeysIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
 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_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[K, V]: MapIterator[MType, POSetElement[MType]] */
 }
 };
-/* runtime type NativeArray[nullable Array[nullable MType]] */
-const struct type type_array__NativeArraynullable_array__Arraynullable_model__MType = {
-565,
-"NativeArray[nullable Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_array__Arraynullable_model__MType,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-565, /* NativeArray[nullable Array[nullable MType]] */
+528, /* MapValuesIterator[MType, POSetElement[MType]] */
+1272, /* MapValuesIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 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]] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[E]: Array[POSetElement[MClassType]] */
+&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[K, V]: MapIterator[MClassType, POSetElement[MClassType]] */
 }
 };
-/* runtime type ArrayIterator[Array[nullable MPropDef]] */
-const struct type type_array__ArrayIteratorarray__Arraynullable_model__MPropDef = {
+/* runtime type MapValuesIterator[MType, POSetElement[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Array[nullable MPropDef]]", /* class_name_string */
+"MapValuesIterator[MType, POSetElement[MType]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MPropDef,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1262, /* ArrayIterator[Array[nullable MPropDef]] */
+528, /* MapValuesIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[Array[nullable MPropDef]] */
-&type_array__AbstractArrayReadarray__Arraynullable_model__MPropDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[nullable MPropDef]] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[E]: Array[POSetElement[MType]] */
+&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[K, V]: MapIterator[MType, POSetElement[MType]] */
 }
 };
-/* runtime type NativeArray[Array[nullable MPropDef]] */
-const struct type type_array__NativeArrayarray__Arraynullable_model__MPropDef = {
-1263,
-"NativeArray[Array[nullable MPropDef]]", /* class_name_string */
-3,
+/* runtime type Array[POSetElement[MClassType]] */
+const struct type type_array__Arrayposet__POSetElementmodel__MClassType = {
+-1, /*CAST DEAD*/
+"Array[POSetElement[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayarray__Arraynullable_model__MPropDef,
-4,
+&resolution_table_array__Arrayposet__POSetElementmodel__MClassType,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1263, /* NativeArray[Array[nullable MPropDef]] */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1228, /* Collection[POSetElement[MType]] */
+590, /* Array[nullable Object] */
+1457, /* Collection[POSetElement[MClassType]] */
+1345, /* AbstractArrayRead[Object] */
+1899, /* AbstractArrayRead[POSetElement[MType]] */
+1512, /* AbstractArray[Object] */
+2157, /* AbstractArrayRead[POSetElement[MClassType]] */
+2158, /* AbstractArray[POSetElement[MType]] */
+2252, /* AbstractArray[POSetElement[MClassType]] */
+-1, /* empty */
+1909, /* Array[Object] */
+2251, /* Array[POSetElement[MType]] */
+2315, /* Array[POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClassType = {
 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_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[E]: NativeArray[POSetElement[MClassType]] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[E]: Collection[POSetElement[MClassType]] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[E]: Array[POSetElement[MClassType]] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[E]: Collection[POSetElement[MClassType]] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[E]: Collection[POSetElement[MClassType]] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[E]: Array[POSetElement[MClassType]] */
+&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[E]: NativeArray[POSetElement[MClassType]] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[E]: Array[POSetElement[MClassType]] */
+&type_array__AbstractArrayposet__POSetElementmodel__MClassType, /* AbstractArray[E]: AbstractArray[POSetElement[MClassType]] */
+&type_array__ArrayIteratorposet__POSetElementmodel__MClassType, /* ArrayIterator[E]: ArrayIterator[POSetElement[MClassType]] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Set[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+/* runtime type Array[POSetElement[MType]] */
+const struct type type_array__Arrayposet__POSetElementmodel__MType = {
 -1, /*CAST DEAD*/
-"MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
+"Array[POSetElement[MType]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass,
-3,
+&resolution_table_array__Arrayposet__POSetElementmodel__MType,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-566, /* MapKeysIterator[MClass, Set[MClass]] */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1228, /* Collection[POSetElement[MType]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1899, /* AbstractArrayRead[POSetElement[MType]] */
+1512, /* AbstractArray[Object] */
+-1, /* empty */
+2158, /* AbstractArray[POSetElement[MType]] */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2251, /* Array[POSetElement[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_array__Arrayposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MClass]] */
+&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[E]: NativeArray[POSetElement[MType]] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[E]: Collection[POSetElement[MType]] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[E]: Array[POSetElement[MType]] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[E]: Collection[POSetElement[MType]] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[E]: Collection[POSetElement[MType]] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[E]: Array[POSetElement[MType]] */
+&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[E]: NativeArray[POSetElement[MType]] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[E]: Array[POSetElement[MType]] */
+&type_array__AbstractArrayposet__POSetElementmodel__MType, /* AbstractArray[E]: AbstractArray[POSetElement[MType]] */
+&type_array__ArrayIteratorposet__POSetElementmodel__MType, /* ArrayIterator[E]: ArrayIterator[POSetElement[MType]] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Set[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+/* runtime type AbstractArrayRead[POSetElement[MClassType]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClassType = {
+2157,
+"AbstractArrayRead[POSetElement[MClassType]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[POSetElement[MType]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MType = {
+1899,
+"AbstractArrayRead[POSetElement[MType]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[POSetElement[MClassType]] */
+const struct type type_array__AbstractArrayposet__POSetElementmodel__MClassType = {
+2252,
+"AbstractArray[POSetElement[MClassType]]", /* class_name_string */
+13,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[POSetElement[MType]] */
+const struct type type_array__AbstractArrayposet__POSetElementmodel__MType = {
+2158,
+"AbstractArray[POSetElement[MType]]", /* class_name_string */
+12,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[Array[MClass]] */
+const struct type type_array__ArrayIteratorarray__Arraymodel__MClass = {
 -1, /*CAST DEAD*/
-"MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
+"ArrayIterator[Array[MClass]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass,
-3,
+&resolution_table_array__ArrayIteratorarray__Arraymodel__MClass,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-567, /* MapValuesIterator[MClass, Set[MClass]] */
+285, /* ArrayIterator[Object] */
+1273, /* ArrayIterator[Array[nullable MClass]] */
+1478, /* ArrayIterator[Array[MClass]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MClass]] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[E]: Array[Array[MClass]] */
+&type_array__AbstractArrayReadarray__Arraymodel__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MClass]] */
 }
 };
-/* runtime type ArrayIterator[Set[MAttribute]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MAttribute = {
+/* runtime type ArrayIterator[Array[nullable MClass]] */
+const struct type type_array__ArrayIteratorarray__Arraynullable_model__MClass = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Set[MAttribute]]", /* class_name_string */
+"ArrayIterator[Array[nullable MClass]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MAttribute,
-6,
+&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1258, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1439, /* ArrayIterator[Set[MProperty]] */
-1638, /* ArrayIterator[Set[MAttribute]] */
+285, /* ArrayIterator[Object] */
+1273, /* ArrayIterator[Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Iterator#0]: Array[Set[MAttribute]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MAttribute, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MAttribute]] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[E]: Array[Array[nullable MClass]] */
+&type_array__AbstractArrayReadarray__Arraynullable_model__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[Array[nullable MClass]] */
 }
 };
-/* runtime type NativeArray[Set[MAttribute]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MAttribute = {
-1639,
-"NativeArray[Set[MAttribute]]", /* class_name_string */
+/* runtime type NativeArray[Array[MClass]] */
+const struct type type_array__NativeArrayarray__Arraymodel__MClass = {
+1479,
+"NativeArray[Array[MClass]]", /* class_name_string */
+4,
+0,
+&resolution_table_array__NativeArrayarray__Arraymodel__MClass,
 5,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1274, /* NativeArray[Array[nullable MClass]] */
+1479, /* NativeArray[Array[MClass]] */
+},
+};
+const struct types resolution_table_array__NativeArrayarray__Arraymodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MClass, /* E: Array[MClass] */
+&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[E]: NativeArray[Array[MClass]] */
+}
+};
+/* runtime type NativeArray[Array[nullable MClass]] */
+const struct type type_array__NativeArrayarray__Arraynullable_model__MClass = {
+1274,
+"NativeArray[Array[nullable MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MAttribute,
-6,
+&resolution_table_array__NativeArrayarray__Arraynullable_model__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1259, /* NativeArray[Set[PropertyLayoutElement]] */
-1440, /* NativeArray[Set[MProperty]] */
-1639, /* NativeArray[Set[MAttribute]] */
+104, /* NativeArray[Object] */
+1274, /* NativeArray[Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MAttribute, /* NativeArray#0: Set[MAttribute] */
-&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[NativeArray#0]: NativeArray[Set[MAttribute]] */
+&type_array__Arraynullable_model__MClass, /* E: Array[nullable MClass] */
+&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[E]: NativeArray[Array[nullable MClass]] */
 }
 };
-/* runtime type ArrayIterator[EscapeMark] */
-const struct type type_array__ArrayIteratorscope__EscapeMark = {
+/* runtime type ArrayIterator[Array[MProperty]] */
+const struct type type_array__ArrayIteratorarray__Arraymodel__MProperty = {
 -1, /*CAST DEAD*/
-"ArrayIterator[EscapeMark]", /* class_name_string */
+"ArrayIterator[Array[MProperty]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorscope__EscapeMark,
+&resolution_table_array__ArrayIteratorarray__Arraymodel__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1264, /* ArrayIterator[EscapeMark] */
+285, /* ArrayIterator[Object] */
+1275, /* ArrayIterator[Array[MProperty]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorscope__EscapeMark = {
+const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayscope__EscapeMark, /* Array[Iterator#0]: Array[EscapeMark] */
-&type_array__AbstractArrayReadscope__EscapeMark, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[EscapeMark] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[E]: Array[Array[MProperty]] */
+&type_array__AbstractArrayReadarray__Arraymodel__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MProperty]] */
 }
 };
-/* runtime type NativeArray[EscapeMark] */
-const struct type type_array__NativeArrayscope__EscapeMark = {
-1265,
-"NativeArray[EscapeMark]", /* class_name_string */
+/* runtime type NativeArray[Array[MProperty]] */
+const struct type type_array__NativeArrayarray__Arraymodel__MProperty = {
+1276,
+"NativeArray[Array[MProperty]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArrayscope__EscapeMark,
+&resolution_table_array__NativeArrayarray__Arraymodel__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1265, /* NativeArray[EscapeMark] */
+104, /* NativeArray[Object] */
+1276, /* NativeArray[Array[MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArrayscope__EscapeMark = {
+const struct types resolution_table_array__NativeArrayarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_scope__EscapeMark, /* NativeArray#0: EscapeMark */
-&type_array__NativeArrayscope__EscapeMark, /* NativeArray[NativeArray#0]: NativeArray[EscapeMark] */
+&type_array__Arraymodel__MProperty, /* E: Array[MProperty] */
+&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[E]: NativeArray[Array[MProperty]] */
 }
 };
-/* runtime type ArrayIterator[Set[MVirtualTypeProp]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp = {
+/* runtime type MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Set[MVirtualTypeProp]]", /* class_name_string */
+"MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1258, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1439, /* ArrayIterator[Set[MProperty]] */
-1640, /* ArrayIterator[Set[MVirtualTypeProp]] */
+529, /* MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[Set[MVirtualTypeProp]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MVirtualTypeProp]] */
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[K, V]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type NativeArray[Set[MVirtualTypeProp]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp = {
-1641,
-"NativeArray[Set[MVirtualTypeProp]]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1259, /* NativeArray[Set[PropertyLayoutElement]] */
-1440, /* NativeArray[Set[MProperty]] */
-1641, /* NativeArray[Set[MVirtualTypeProp]] */
+530, /* MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray#0: Set[MVirtualTypeProp] */
-&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[NativeArray#0]: NativeArray[Set[MVirtualTypeProp]] */
+&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[K, V]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type Array[HashMap2[MType, String, nullable MProperty]] */
+const struct type type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+"Array[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
+&resolution_table_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
-568, /* MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1233, /* Collection[HashMap2[MType, String, nullable MProperty]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1900, /* AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
+1512, /* AbstractArray[Object] */
+2159, /* AbstractArray[HashMap2[MType, String, nullable MProperty]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2253, /* Array[HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
-&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap2[MType, String, nullable MProperty]] */
+&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap2[MType, String, nullable MProperty]] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap2[MType, String, nullable MProperty]] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap2[MType, String, nullable MProperty]] */
+&type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap2[MType, String, nullable MProperty]] */
+&type_array__AbstractArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* AbstractArray[E]: AbstractArray[HashMap2[MType, String, nullable MProperty]] */
+&type_array__ArrayIteratormore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* ArrayIterator[E]: ArrayIterator[HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
-const struct type type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
+const struct type type_array__AbstractArrayReadmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+1900,
+"AbstractArrayRead[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[HashMap2[MType, String, nullable MProperty]] */
+const struct type type_array__AbstractArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+2159,
+"AbstractArray[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+"HashMapKeys[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-3,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-569, /* MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+-1, /* empty */
+1370, /* Collection[MType] */
+1661, /* HashMapKeys[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[K, V]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapKeysIterator[K, V]: MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+&type_model__MType, /* E: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[E]: Collection[MType] */
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* E: MType */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[MMethodDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type HashMapValues[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"MapKeysIterator[MType, Array[MMethodDef]]", /* class_name_string */
+"HashMapValues[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1277, /* Collection[HashMap[String, nullable MProperty]] */
+1480, /* HashMapValues[MType, HashMap[String, nullable MProperty]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[K, V]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapValuesIterator[K, V]: MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap[String, nullable MProperty]] */
+&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+}
+};
+/* runtime type Collection[HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1277,
+"Collection[HashMap[String, nullable MProperty]]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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 = {
+531,
+"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 */
-570, /* MapKeysIterator[MType, Array[MMethodDef]] */
+531, /* NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MMethodDef]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MMethodDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+/* runtime type HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"MapValuesIterator[MType, Array[MMethodDef]]", /* class_name_string */
+"HashMapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+532, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
+1278, /* HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[K, V]: HashMap[MType, HashMap[String, nullable MProperty]] */
+}
+};
+/* runtime type MapIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+532,
+"MapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1279,
+"HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-571, /* MapValuesIterator[MType, Array[MMethodDef]] */
+66, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+1279, /* HashMapNode[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[Array[MMethodDef]] */
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MMethodDef]] */
+&type_model__MType, /* K: MType */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* V: HashMap[String, nullable MProperty] */
+&type_model__MType, /* K: MType */
 }
 };
-/* runtime type ArrayIterator[Set[MClassDef]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClassDef = {
+/* runtime type nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+66,
+"nullable HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Set[MClassDef]]", /* class_name_string */
+"HashMapKeys[String, nullable MProperty]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassDef,
-4,
+&resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1266, /* ArrayIterator[Set[MClassDef]] */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+593, /* Collection[Streamable] */
+-1, /* empty */
+1346, /* Collection[Text] */
+-1, /* empty */
+1513, /* Collection[String] */
+1901, /* HashMapKeys[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Iterator#0]: Array[Set[MClassDef]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MClassDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MClassDef]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[K, V]: HashMap[String, nullable MProperty] */
+&type_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty, /* MapKeysIterator[K, V]: MapKeysIterator[String, nullable MProperty] */
+&type_string__String, /* E: String */
+&type_abstract_collection__Collectionstring__String, /* Collection[E]: Collection[String] */
+&type_array__Arraystring__String, /* Array[E]: Array[String] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* E: String */
 }
 };
-/* runtime type NativeArray[Set[MClassDef]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MClassDef = {
-1267,
-"NativeArray[Set[MClassDef]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapValues[String, nullable MProperty]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassDef,
+&resolution_table_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1267, /* NativeArray[Set[MClassDef]] */
+92, /* Collection[nullable MProperty] */
+1280, /* HashMapValues[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MClassDef, /* NativeArray#0: Set[MClassDef] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[Set[MClassDef]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[K, V]: HashMap[String, nullable MProperty] */
+&type_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty, /* MapValuesIterator[K, V]: MapValuesIterator[String, nullable MProperty] */
+&type_nullable_model__MProperty, /* E: nullable MProperty */
+&type_abstract_collection__Collectionnullable_model__MProperty, /* Collection[E]: Collection[nullable MProperty] */
+&type_array__Arraynullable_model__MProperty, /* Array[E]: Array[nullable MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_model__MProperty, /* E: nullable MProperty */
 }
 };
-/* runtime type ArrayIterator[Set[MClass]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClass = {
+/* runtime type NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+533,
+"NativeArray[nullable HashMapNode[String, nullable MProperty]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+533, /* NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* E: nullable HashMapNode[String, nullable MProperty] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+}
+};
+/* runtime type HashMapIterator[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Set[MClass]]", /* class_name_string */
+"HashMapIterator[String, nullable MProperty]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClass,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1268, /* ArrayIterator[Set[MClass]] */
+534, /* MapIterator[String, nullable MProperty] */
+1281, /* HashMapIterator[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MClass]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[K, V]: HashMap[String, nullable MProperty] */
 }
 };
-/* runtime type NativeArray[Set[MClass]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MClass = {
-1269,
-"NativeArray[Set[MClass]]", /* class_name_string */
+/* runtime type MapIterator[String, nullable MProperty] */
+const struct type type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty = {
+534,
+"MapIterator[String, nullable MProperty]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+1282,
+"HashMapNode[String, nullable MProperty]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClass,
+&resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1269, /* NativeArray[Set[MClass]] */
+67, /* nullable HashMapNode[String, nullable MProperty] */
+1282, /* HashMapNode[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MClass, /* NativeArray#0: Set[MClass] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[Set[MClass]] */
+&type_string__String, /* K: String */
+&type_nullable_model__MProperty, /* V: nullable MProperty */
+&type_string__String, /* K: String */
 }
 };
-/* runtime type ArrayIterator[Set[MClassType]] */
-const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClassType = {
+/* runtime type nullable HashMapNode[String, nullable MProperty] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty = {
+67,
+"nullable HashMapNode[String, nullable MProperty]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[MModuleData[AAnnotation]] */
+const struct type type_array__ArrayIteratormmodule_data__MModuleDataparser_nodes__AAnnotation = {
 -1, /*CAST DEAD*/
-"ArrayIterator[Set[MClassType]]", /* class_name_string */
+"ArrayIterator[MModuleData[AAnnotation]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassType,
-5,
+&resolution_table_array__ArrayIteratormmodule_data__MModuleDataparser_nodes__AAnnotation,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1260, /* ArrayIterator[Set[MType]] */
-1445, /* ArrayIterator[Set[MClassType]] */
+285, /* ArrayIterator[Object] */
+1283, /* ArrayIterator[MModuleData[AAnnotation]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_array__ArrayIteratormmodule_data__MModuleDataparser_nodes__AAnnotation = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Iterator#0]: Array[Set[MClassType]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MClassType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MClassType]] */
+&type_array__Arraymmodule_data__MModuleDataparser_nodes__AAnnotation, /* Array[E]: Array[MModuleData[AAnnotation]] */
+&type_array__AbstractArrayReadmmodule_data__MModuleDataparser_nodes__AAnnotation, /* AbstractArrayRead[E]: AbstractArrayRead[MModuleData[AAnnotation]] */
 }
 };
-/* runtime type NativeArray[Set[MClassType]] */
-const struct type type_array__NativeArrayabstract_collection__Setmodel__MClassType = {
-1446,
-"NativeArray[Set[MClassType]]", /* class_name_string */
+/* runtime type NativeArray[MModuleData[AAnnotation]] */
+const struct type type_array__NativeArraymmodule_data__MModuleDataparser_nodes__AAnnotation = {
+1284,
+"NativeArray[MModuleData[AAnnotation]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArraymmodule_data__MModuleDataparser_nodes__AAnnotation,
 4,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1284, /* NativeArray[MModuleData[AAnnotation]] */
+},
+};
+const struct types resolution_table_array__NativeArraymmodule_data__MModuleDataparser_nodes__AAnnotation = {
+0, /* dummy */
+{
+&type_mmodule_data__MModuleDataparser_nodes__AAnnotation, /* E: MModuleData[AAnnotation] */
+&type_array__NativeArraymmodule_data__MModuleDataparser_nodes__AAnnotation, /* NativeArray[E]: NativeArray[MModuleData[AAnnotation]] */
+}
+};
+/* runtime type ArrayIterator[Set[MProperty]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MProperty = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassType,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MProperty,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1261, /* NativeArray[Set[MType]] */
-1446, /* NativeArray[Set[MClassType]] */
+285, /* ArrayIterator[Object] */
+1285, /* ArrayIterator[Set[PropertyLayoutElement]] */
+1481, /* ArrayIterator[Set[MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MClassType, /* NativeArray#0: Set[MClassType] */
-&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[Set[MClassType]] */
+&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[E]: Array[Set[MProperty]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MProperty]] */
 }
 };
-/* runtime type Array[POSetElement[MClass]] */
-const struct type type_array__Arrayposet__POSetElementmodel__MClass = {
+/* runtime type ArrayIterator[Set[PropertyLayoutElement]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
 -1, /*CAST DEAD*/
-"Array[POSetElement[MClass]]", /* class_name_string */
+"ArrayIterator[Set[PropertyLayoutElement]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayposet__POSetElementmodel__MClass,
-11,
+&resolution_table_array__ArrayIteratorabstract_collection__Setseparate_compiler__PropertyLayoutElement,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1208, /* Collection[POSetElement[MClass]] */
--1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1858, /* AbstractArrayRead[POSetElement[MClass]] */
-1459, /* Array[Object] */
-2101, /* Array[POSetElement[MClass]] */
+285, /* ArrayIterator[Object] */
+1285, /* ArrayIterator[Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClass = {
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MClass, /* Sequence#0: POSetElement[MClass] */
-&type_poset__POSetElementmodel__MClass, /* SimpleCollection#0: POSetElement[MClass] */
-&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[Array#0]: NativeArray[POSetElement[MClass]] */
-&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[Array#0]: Array[POSetElement[MClass]] */
-&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[POSetElement[MClass]] */
-&type_poset__POSetElementmodel__MClass, /* RemovableCollection#0: POSetElement[MClass] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Sequence#0]: Collection[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]] */
-&type_array__ArrayIteratorposet__POSetElementmodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[POSetElement[MClass]] */
+&type_array__Arrayabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* Array[E]: Array[Set[PropertyLayoutElement]] */
+&type_array__AbstractArrayReadabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* AbstractArrayRead[E]: AbstractArrayRead[Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type AbstractArrayRead[POSetElement[MClass]] */
-const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClass = {
-1858,
-"AbstractArrayRead[POSetElement[MClass]]", /* class_name_string */
-8,
+/* runtime type NativeArray[Set[MProperty]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MProperty = {
+1482,
+"NativeArray[Set[MProperty]]", /* class_name_string */
+4,
 0,
-NULL, /*DEAD*/
-0, {}, /*DEAD TYPE*/
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MProperty,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1286, /* NativeArray[Set[PropertyLayoutElement]] */
+1482, /* NativeArray[Set[MProperty]] */
+},
 };
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
--1, /*CAST DEAD*/
-"MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
-0,
-&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MProperty = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MProperty, /* E: Set[MProperty] */
+&type_array__NativeArrayabstract_collection__Setmodel__MProperty, /* NativeArray[E]: NativeArray[Set[MProperty]] */
+}
+};
+/* runtime type NativeArray[Set[PropertyLayoutElement]] */
+const struct type type_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
+1286,
+"NativeArray[Set[PropertyLayoutElement]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-572, /* MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+104, /* NativeArray[Object] */
+1286, /* NativeArray[Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
-&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__Setseparate_compiler__PropertyLayoutElement, /* E: Set[PropertyLayoutElement] */
+&type_array__NativeArrayabstract_collection__Setseparate_compiler__PropertyLayoutElement, /* NativeArray[E]: NativeArray[Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
-const struct type type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+/* runtime type MapKeysIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
 -1, /*CAST DEAD*/
-"MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+"MapKeysIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-573, /* MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+535, /* MapKeysIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_array__Arraymproject__MGroup, /* Array[E]: Array[MGroup] */
+&type_abstract_collection__MapIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapIterator[K, V]: MapIterator[MGroup, POSetElement[MGroup]] */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[MAttributeDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+/* runtime type MapValuesIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
 -1, /*CAST DEAD*/
-"MapKeysIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+"MapValuesIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-574, /* MapKeysIterator[MType, Array[MAttributeDef]] */
+536, /* MapValuesIterator[MGroup, POSetElement[MGroup]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[E]: Array[POSetElement[MGroup]] */
+&type_abstract_collection__MapIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapIterator[K, V]: MapIterator[MGroup, POSetElement[MGroup]] */
+}
+};
+/* runtime type Array[POSetElement[MGroup]] */
+const struct type type_array__Arrayposet__POSetElementmproject__MGroup = {
+-1, /*CAST DEAD*/
+"Array[POSetElement[MGroup]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayposet__POSetElementmproject__MGroup,
+17,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1238, /* Collection[POSetElement[MGroup]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1902, /* AbstractArrayRead[POSetElement[MGroup]] */
+1512, /* AbstractArray[Object] */
+2160, /* AbstractArray[POSetElement[MGroup]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2254, /* Array[POSetElement[MGroup]] */
+},
+};
+const struct types resolution_table_array__Arrayposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_array__NativeArrayposet__POSetElementmproject__MGroup, /* NativeArray[E]: NativeArray[POSetElement[MGroup]] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[E]: Collection[POSetElement[MGroup]] */
+&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[E]: Array[POSetElement[MGroup]] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[E]: Collection[POSetElement[MGroup]] */
+&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[E]: Collection[POSetElement[MGroup]] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[E]: Array[POSetElement[MGroup]] */
+&type_array__NativeArrayposet__POSetElementmproject__MGroup, /* NativeArray[E]: NativeArray[POSetElement[MGroup]] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[E]: Array[POSetElement[MGroup]] */
+&type_array__AbstractArrayposet__POSetElementmproject__MGroup, /* AbstractArray[E]: AbstractArray[POSetElement[MGroup]] */
+&type_array__ArrayIteratorposet__POSetElementmproject__MGroup, /* ArrayIterator[E]: ArrayIterator[POSetElement[MGroup]] */
+}
+};
+/* runtime type AbstractArrayRead[POSetElement[MGroup]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementmproject__MGroup = {
+1902,
+"AbstractArrayRead[POSetElement[MGroup]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[POSetElement[MGroup]] */
+const struct type type_array__AbstractArrayposet__POSetElementmproject__MGroup = {
+2160,
+"AbstractArray[POSetElement[MGroup]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetIterator[MGroup] */
+const struct type type_hash_collection__HashSetIteratormproject__MGroup = {
+-1, /*CAST DEAD*/
+"HashSetIterator[MGroup]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashSetIteratormproject__MGroup,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+290, /* HashSetIterator[Object] */
+1287, /* HashSetIterator[MGroup] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetIteratormproject__MGroup = {
+0, /* dummy */
+{
+&type_array__Arraymproject__MGroup, /* Array[E]: Array[MGroup] */
+&type_hash_collection__HashSetmproject__MGroup, /* HashSet[E]: HashSet[MGroup] */
+}
+};
+/* runtime type NativeArray[nullable HashSetNode[MGroup]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup = {
+1288,
+"NativeArray[nullable HashSetNode[MGroup]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+291, /* NativeArray[nullable HashSetNode[Object]] */
+1288, /* NativeArray[nullable HashSetNode[MGroup]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashSetNodemproject__MGroup, /* E: nullable HashSetNode[MGroup] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup, /* NativeArray[E]: NativeArray[nullable HashSetNode[MGroup]] */
+}
+};
+/* runtime type HashSetNode[MGroup] */
+const struct type type_hash_collection__HashSetNodemproject__MGroup = {
+1662,
+"HashSetNode[MGroup]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetNodemproject__MGroup,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+17, /* nullable HashSetNode[Object] */
+537, /* nullable HashSetNode[MGroup] */
+1069, /* HashSetNode[Object] */
+1662, /* HashSetNode[MGroup] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetNodemproject__MGroup = {
+0, /* dummy */
+{
+&type_mproject__MGroup, /* E: MGroup */
+NULL, /* empty */
+&type_mproject__MGroup, /* K: MGroup */
+}
+};
+/* runtime type nullable HashSetNode[MGroup] */
+const struct type type_nullable_hash_collection__HashSetNodemproject__MGroup = {
+537,
+"nullable HashSetNode[MGroup]", /* class_name_string */
+3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MType, HashMap[MProperty, Set[MMethodDef]]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+538, /* MapKeysIterator[MType, HashMap[MProperty, Set[MMethodDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MType, HashMap[MProperty, Set[MMethodDef]]] */
+}
+};
+/* runtime type MapValuesIterator[MType, HashMap[MProperty, Set[MMethodDef]]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+539, /* MapValuesIterator[MType, HashMap[MProperty, Set[MMethodDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
+&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MType, HashMap[MProperty, Set[MMethodDef]]] */
+}
+};
+/* runtime type Array[HashMap[MProperty, Set[MMethodDef]]] */
+const struct type type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"Array[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef,
+17,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1241, /* Collection[HashMap[MProperty, Set[MMethodDef]]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1903, /* AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
+1512, /* AbstractArray[Object] */
+2161, /* AbstractArray[HashMap[MProperty, Set[MMethodDef]]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2255, /* Array[HashMap[MProperty, Set[MMethodDef]]] */
+},
+};
+const struct types resolution_table_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection[E]: Collection[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection[E]: Collection[HashMap[MProperty, Set[MMethodDef]]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Collection[E]: Collection[HashMap[MProperty, Set[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__AbstractArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* AbstractArray[E]: AbstractArray[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__ArrayIteratorhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MProperty, Set[MMethodDef]]] */
+}
+};
+/* runtime type AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
+const struct type type_array__AbstractArrayReadhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+1903,
+"AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[HashMap[MProperty, Set[MMethodDef]]] */
+const struct type type_array__AbstractArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+2161,
+"AbstractArray[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MProperty, Set[MMethodDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MProperty, Set[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+540, /* MapKeysIterator[MProperty, Set[MMethodDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MProperty, /* Array[E]: Array[MProperty] */
+&type_abstract_collection__MapIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MProperty, Set[MMethodDef]] */
+}
+};
+/* runtime type MapValuesIterator[MProperty, Set[MMethodDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MProperty, Set[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+541, /* MapValuesIterator[MProperty, Set[MMethodDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
+&type_abstract_collection__MapIteratormodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MProperty, Set[MMethodDef]] */
+}
+};
+/* runtime type Array[Set[MMethodDef]] */
+const struct type type_array__Arrayabstract_collection__Setmodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"Array[Set[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayabstract_collection__Setmodel__MMethodDef,
+18,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1114, /* Collection[Set[PropertyLayoutElement]] */
+590, /* Array[nullable Object] */
+1464, /* Collection[Set[MMethodDef]] */
+1345, /* AbstractArrayRead[Object] */
+-1, /* empty */
+1512, /* AbstractArray[Object] */
+1879, /* AbstractArrayRead[Set[PropertyLayoutElement]] */
+2162, /* AbstractArrayRead[Set[MMethodDef]] */
+2143, /* AbstractArray[Set[PropertyLayoutElement]] */
+2256, /* AbstractArray[Set[MMethodDef]] */
+1909, /* Array[Object] */
+2238, /* Array[Set[PropertyLayoutElement]] */
+2316, /* Array[Set[MMethodDef]] */
+},
+};
+const struct types resolution_table_array__Arrayabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__NativeArrayabstract_collection__Setmodel__MMethodDef, /* NativeArray[E]: NativeArray[Set[MMethodDef]] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MMethodDef, /* Collection[E]: Collection[Set[MMethodDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MMethodDef, /* Collection[E]: Collection[Set[MMethodDef]] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MMethodDef, /* Collection[E]: Collection[Set[MMethodDef]] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
+&type_array__NativeArrayabstract_collection__Setmodel__MMethodDef, /* NativeArray[E]: NativeArray[Set[MMethodDef]] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
+&type_array__AbstractArrayabstract_collection__Setmodel__MMethodDef, /* AbstractArray[E]: AbstractArray[Set[MMethodDef]] */
+&type_array__ArrayIteratorabstract_collection__Setmodel__MMethodDef, /* ArrayIterator[E]: ArrayIterator[Set[MMethodDef]] */
+}
+};
+/* runtime type AbstractArrayRead[Set[MMethodDef]] */
+const struct type type_array__AbstractArrayReadabstract_collection__Setmodel__MMethodDef = {
+2162,
+"AbstractArrayRead[Set[MMethodDef]]", /* class_name_string */
+12,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[Set[MMethodDef]] */
+const struct type type_array__AbstractArrayabstract_collection__Setmodel__MMethodDef = {
+2256,
+"AbstractArray[Set[MMethodDef]]", /* class_name_string */
+14,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[HashSet[MType]] */
+const struct type type_array__ArrayIteratorhash_collection__HashSetmodel__MType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[HashSet[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorhash_collection__HashSetmodel__MType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1289, /* ArrayIterator[Set[MType]] */
+1483, /* ArrayIterator[HashSet[MType]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorhash_collection__HashSetmodel__MType = {
+0, /* dummy */
+{
+&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[E]: Array[HashSet[MType]] */
+&type_array__AbstractArrayReadhash_collection__HashSetmodel__MType, /* AbstractArrayRead[E]: AbstractArrayRead[HashSet[MType]] */
+}
+};
+/* runtime type ArrayIterator[Set[MType]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MType,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1289, /* ArrayIterator[Set[MType]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MType = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[E]: Array[Set[MType]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MType, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MType]] */
+}
+};
+/* runtime type NativeArray[HashSet[MType]] */
+const struct type type_array__NativeArrayhash_collection__HashSetmodel__MType = {
+1484,
+"NativeArray[HashSet[MType]]", /* class_name_string */
+4,
+0,
+&resolution_table_array__NativeArrayhash_collection__HashSetmodel__MType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1290, /* NativeArray[Set[MType]] */
+1484, /* NativeArray[HashSet[MType]] */
+},
+};
+const struct types resolution_table_array__NativeArrayhash_collection__HashSetmodel__MType = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetmodel__MType, /* E: HashSet[MType] */
+&type_array__NativeArrayhash_collection__HashSetmodel__MType, /* NativeArray[E]: NativeArray[HashSet[MType]] */
+}
+};
+/* runtime type NativeArray[Set[MType]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MType = {
+1290,
+"NativeArray[Set[MType]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MType,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1290, /* NativeArray[Set[MType]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MType = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MType, /* E: Set[MType] */
+&type_array__NativeArrayabstract_collection__Setmodel__MType, /* NativeArray[E]: NativeArray[Set[MType]] */
+}
+};
+/* runtime type ArrayIterator[Array[nullable MType]] */
+const struct type type_array__ArrayIteratorarray__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+542, /* ArrayIterator[nullable Array[nullable MType]] */
+1485, /* ArrayIterator[Array[nullable MType]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[E]: Array[Array[nullable MType]] */
+&type_array__AbstractArrayReadarray__Arraynullable_model__MType, /* AbstractArrayRead[E]: AbstractArrayRead[Array[nullable MType]] */
+}
+};
+/* runtime type ArrayIterator[nullable Array[nullable MType]] */
+const struct type type_array__ArrayIteratornullable_array__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[nullable Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratornullable_array__Arraynullable_model__MType,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+542, /* ArrayIterator[nullable Array[nullable MType]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratornullable_array__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[E]: Array[nullable Array[nullable MType]] */
+&type_array__AbstractArrayReadnullable_array__Arraynullable_model__MType, /* AbstractArrayRead[E]: AbstractArrayRead[nullable Array[nullable MType]] */
+}
+};
+/* runtime type NativeArray[Array[nullable MType]] */
+const struct type type_array__NativeArrayarray__Arraynullable_model__MType = {
+1486,
+"NativeArray[Array[nullable MType]]", /* class_name_string */
+4,
+0,
+&resolution_table_array__NativeArrayarray__Arraynullable_model__MType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+543, /* NativeArray[nullable Array[nullable MType]] */
+1486, /* NativeArray[Array[nullable MType]] */
+},
+};
+const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_array__Arraynullable_model__MType, /* E: Array[nullable MType] */
+&type_array__NativeArrayarray__Arraynullable_model__MType, /* NativeArray[E]: NativeArray[Array[nullable MType]] */
+}
+};
+/* runtime type NativeArray[nullable Array[nullable MType]] */
+const struct type type_array__NativeArraynullable_array__Arraynullable_model__MType = {
+543,
+"NativeArray[nullable Array[nullable MType]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArraynullable_array__Arraynullable_model__MType,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+543, /* NativeArray[nullable Array[nullable MType]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_array__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_nullable_array__Arraynullable_model__MType, /* E: nullable Array[nullable MType] */
+&type_array__NativeArraynullable_array__Arraynullable_model__MType, /* NativeArray[E]: NativeArray[nullable Array[nullable MType]] */
+}
+};
+/* runtime type ArrayIterator[Array[nullable MPropDef]] */
+const struct type type_array__ArrayIteratorarray__Arraynullable_model__MPropDef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Array[nullable MPropDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorarray__Arraynullable_model__MPropDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1291, /* ArrayIterator[Array[nullable MPropDef]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorarray__Arraynullable_model__MPropDef = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[E]: Array[Array[nullable MPropDef]] */
+&type_array__AbstractArrayReadarray__Arraynullable_model__MPropDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[nullable MPropDef]] */
+}
+};
+/* runtime type NativeArray[Array[nullable MPropDef]] */
+const struct type type_array__NativeArrayarray__Arraynullable_model__MPropDef = {
+1292,
+"NativeArray[Array[nullable MPropDef]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArrayarray__Arraynullable_model__MPropDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1292, /* NativeArray[Array[nullable MPropDef]] */
+},
+};
+const struct types resolution_table_array__NativeArrayarray__Arraynullable_model__MPropDef = {
+0, /* dummy */
+{
+&type_array__Arraynullable_model__MPropDef, /* E: Array[nullable MPropDef] */
+&type_array__NativeArrayarray__Arraynullable_model__MPropDef, /* NativeArray[E]: NativeArray[Array[nullable MPropDef]] */
+}
+};
+/* runtime type ArrayIterator[Set[MClassDef]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1293, /* ArrayIterator[Set[MClassDef]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassDef = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[E]: Array[Set[MClassDef]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MClassDef, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClassDef]] */
+}
+};
+/* runtime type NativeArray[Set[MClassDef]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MClassDef = {
+1294,
+"NativeArray[Set[MClassDef]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1294, /* NativeArray[Set[MClassDef]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassDef = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MClassDef, /* E: Set[MClassDef] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClassDef, /* NativeArray[E]: NativeArray[Set[MClassDef]] */
+}
+};
+/* runtime type ArrayIterator[Set[MClass]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClass,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1295, /* ArrayIterator[Set[MClass]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[E]: Array[Set[MClass]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClass]] */
+}
+};
+/* runtime type NativeArray[Set[MClass]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MClass = {
+1296,
+"NativeArray[Set[MClass]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClass,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1296, /* NativeArray[Set[MClass]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MClass, /* E: Set[MClass] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClass, /* NativeArray[E]: NativeArray[Set[MClass]] */
+}
+};
+/* runtime type ArrayIterator[Set[MClassType]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MClassType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1289, /* ArrayIterator[Set[MType]] */
+1487, /* ArrayIterator[Set[MClassType]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MClassType = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[E]: Array[Set[MClassType]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MClassType, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MClassType]] */
+}
+};
+/* runtime type NativeArray[Set[MClassType]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MClassType = {
+1488,
+"NativeArray[Set[MClassType]]", /* class_name_string */
+4,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassType,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1290, /* NativeArray[Set[MType]] */
+1488, /* NativeArray[Set[MClassType]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MClassType = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MClassType, /* E: Set[MClassType] */
+&type_array__NativeArrayabstract_collection__Setmodel__MClassType, /* NativeArray[E]: NativeArray[Set[MClassType]] */
+}
+};
+/* runtime type HashMapKeys[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+91, /* Collection[nullable MClass] */
+-1, /* empty */
+83, /* Collection[Object] */
+1366, /* Collection[MClass] */
+1663, /* HashMapKeys[MClass, Set[MClass]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[K, V]: HashMap[MClass, Set[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapKeysIterator[K, V]: MapKeysIterator[MClass, Set[MClass]] */
+&type_model__MClass, /* E: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[E]: Collection[MClass] */
+&type_array__Arraymodel__MClass, /* Array[E]: Array[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* E: MClass */
+}
+};
+/* runtime type HashMapValues[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1163, /* Collection[Set[MClass]] */
+1489, /* HashMapValues[MClass, Set[MClass]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[K, V]: HashMap[MClass, Set[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapValuesIterator[K, V]: MapValuesIterator[MClass, Set[MClass]] */
+&type_abstract_collection__Setmodel__MClass, /* E: Set[MClass] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[E]: Collection[Set[MClass]] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[E]: Array[Set[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MClass, /* E: Set[MClass] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+544,
+"NativeArray[nullable HashMapNode[MClass, Set[MClass]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+544, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* E: nullable HashMapNode[MClass, Set[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray[E]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+}
+};
+/* runtime type HashMapIterator[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+545, /* MapIterator[MClass, Set[MClass]] */
+1297, /* HashMapIterator[MClass, Set[MClass]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[K, V]: HashMap[MClass, Set[MClass]] */
+}
+};
+/* runtime type MapIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+545,
+"MapIterator[MClass, Set[MClass]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+1298,
+"HashMapNode[MClass, Set[MClass]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+68, /* nullable HashMapNode[MClass, Set[MClass]] */
+1298, /* HashMapNode[MClass, Set[MClass]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_model__MClass, /* K: MClass */
+&type_abstract_collection__Setmodel__MClass, /* V: Set[MClass] */
+&type_model__MClass, /* K: MClass */
+}
+};
+/* runtime type nullable HashMapNode[MClass, Set[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+68,
+"nullable HashMapNode[MClass, Set[MClass]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[Set[MAttribute]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MAttribute = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MAttribute]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MAttribute,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1285, /* ArrayIterator[Set[PropertyLayoutElement]] */
+1481, /* ArrayIterator[Set[MProperty]] */
+1664, /* ArrayIterator[Set[MAttribute]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MAttribute = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[E]: Array[Set[MAttribute]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MAttribute, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MAttribute]] */
+}
+};
+/* runtime type NativeArray[Set[MAttribute]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MAttribute = {
+1665,
+"NativeArray[Set[MAttribute]]", /* class_name_string */
+5,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MAttribute,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1286, /* NativeArray[Set[PropertyLayoutElement]] */
+1482, /* NativeArray[Set[MProperty]] */
+1665, /* NativeArray[Set[MAttribute]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MAttribute = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MAttribute, /* E: Set[MAttribute] */
+&type_array__NativeArrayabstract_collection__Setmodel__MAttribute, /* NativeArray[E]: NativeArray[Set[MAttribute]] */
+}
+};
+/* runtime type MapKeysIterator[PropertyLayoutElement, Int] */
+const struct type type_abstract_collection__MapKeysIteratorseparate_compiler__PropertyLayoutElementkernel__Int = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[PropertyLayoutElement, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratorseparate_compiler__PropertyLayoutElementkernel__Int,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+546, /* MapKeysIterator[PropertyLayoutElement, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratorseparate_compiler__PropertyLayoutElementkernel__Int = {
+0, /* dummy */
+{
+&type_array__Arrayseparate_compiler__PropertyLayoutElement, /* Array[E]: Array[PropertyLayoutElement] */
+&type_abstract_collection__MapIteratorseparate_compiler__PropertyLayoutElementkernel__Int, /* MapIterator[K, V]: MapIterator[PropertyLayoutElement, Int] */
+}
+};
+/* runtime type MapValuesIterator[PropertyLayoutElement, Int] */
+const struct type type_abstract_collection__MapValuesIteratorseparate_compiler__PropertyLayoutElementkernel__Int = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[PropertyLayoutElement, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratorseparate_compiler__PropertyLayoutElementkernel__Int,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+547, /* MapValuesIterator[PropertyLayoutElement, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratorseparate_compiler__PropertyLayoutElementkernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Int, /* Array[E]: Array[Int] */
+&type_abstract_collection__MapIteratorseparate_compiler__PropertyLayoutElementkernel__Int, /* MapIterator[K, V]: MapIterator[PropertyLayoutElement, Int] */
+}
+};
+/* runtime type MapKeysIterator[MAttribute, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MAttribute, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+546, /* MapKeysIterator[PropertyLayoutElement, Int] */
+1299, /* MapKeysIterator[MAttribute, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MAttribute, /* Array[E]: Array[MAttribute] */
+&type_abstract_collection__MapIteratormodel__MAttributekernel__Int, /* MapIterator[K, V]: MapIterator[MAttribute, Int] */
+}
+};
+/* runtime type MapValuesIterator[MAttribute, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MAttribute, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+547, /* MapValuesIterator[PropertyLayoutElement, Int] */
+1300, /* MapValuesIterator[MAttribute, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Int, /* Array[E]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MAttributekernel__Int, /* MapIterator[K, V]: MapIterator[MAttribute, Int] */
+}
+};
+/* runtime type ArrayIterator[EscapeMark] */
+const struct type type_array__ArrayIteratorscope__EscapeMark = {
+-1, /*CAST DEAD*/
+"ArrayIterator[EscapeMark]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorscope__EscapeMark,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1301, /* ArrayIterator[EscapeMark] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorscope__EscapeMark = {
+0, /* dummy */
+{
+&type_array__Arrayscope__EscapeMark, /* Array[E]: Array[EscapeMark] */
+&type_array__AbstractArrayReadscope__EscapeMark, /* AbstractArrayRead[E]: AbstractArrayRead[EscapeMark] */
+}
+};
+/* runtime type NativeArray[EscapeMark] */
+const struct type type_array__NativeArrayscope__EscapeMark = {
+1302,
+"NativeArray[EscapeMark]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArrayscope__EscapeMark,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1302, /* NativeArray[EscapeMark] */
+},
+};
+const struct types resolution_table_array__NativeArrayscope__EscapeMark = {
+0, /* dummy */
+{
+&type_scope__EscapeMark, /* E: EscapeMark */
+&type_array__NativeArrayscope__EscapeMark, /* NativeArray[E]: NativeArray[EscapeMark] */
+}
+};
+/* runtime type ArrayIterator[Set[MVirtualTypeProp]] */
+const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Set[MVirtualTypeProp]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+285, /* ArrayIterator[Object] */
+1285, /* ArrayIterator[Set[PropertyLayoutElement]] */
+1481, /* ArrayIterator[Set[MProperty]] */
+1666, /* ArrayIterator[Set[MVirtualTypeProp]] */
+},
+};
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[E]: Array[Set[MVirtualTypeProp]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MVirtualTypeProp, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type NativeArray[Set[MVirtualTypeProp]] */
+const struct type type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp = {
+1667,
+"NativeArray[Set[MVirtualTypeProp]]", /* class_name_string */
+5,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1286, /* NativeArray[Set[PropertyLayoutElement]] */
+1482, /* NativeArray[Set[MProperty]] */
+1667, /* NativeArray[Set[MVirtualTypeProp]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MVirtualTypeProp, /* E: Set[MVirtualTypeProp] */
+&type_array__NativeArrayabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[E]: NativeArray[Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type MapKeysIterator[MVirtualTypeProp, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MVirtualTypeProp, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+546, /* MapKeysIterator[PropertyLayoutElement, Int] */
+1303, /* MapKeysIterator[MVirtualTypeProp, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[E]: Array[MVirtualTypeProp] */
+&type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int, /* MapIterator[K, V]: MapIterator[MVirtualTypeProp, Int] */
+}
+};
+/* runtime type MapValuesIterator[MVirtualTypeProp, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MVirtualTypeProp, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+547, /* MapValuesIterator[PropertyLayoutElement, Int] */
+1304, /* MapValuesIterator[MVirtualTypeProp, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Int, /* Array[E]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int, /* MapIterator[K, V]: MapIterator[MVirtualTypeProp, Int] */
+}
+};
+/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+603, /* Collection[MModule] */
+1490, /* HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapKeysIterator[K, V]: MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_mmodule__MModule, /* E: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[E]: Collection[MModule] */
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* E: MModule */
+}
+};
+/* runtime type HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1305, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+1491, /* HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapValuesIterator[K, V]: MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+}
+};
+/* runtime type Collection[HashMap[MType, Array[MMethodDef]]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1305,
+"Collection[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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 = {
+548,
+"NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+548, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+}
+};
+/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+549, /* MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+1306, /* HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+}
+};
+/* runtime type MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+549,
+"MapIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+1307,
+"HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+69, /* nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+1307, /* HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* V: HashMap[MType, Array[MMethodDef]] */
+&type_mmodule__MModule, /* K: MModule */
+}
+};
+/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+69,
+"nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MType, Array[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef,
+9,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+-1, /* empty */
+1370, /* Collection[MType] */
+1668, /* HashMapKeys[MType, Array[MMethodDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[K, V]: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapKeysIterator[K, V]: MapKeysIterator[MType, Array[MMethodDef]] */
+&type_model__MType, /* E: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[E]: Collection[MType] */
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* E: MType */
+}
+};
+/* runtime type HashMapValues[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MType, Array[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef,
+9,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1143, /* Collection[Array[nullable MPropDef]] */
+-1, /* empty */
+1492, /* Collection[Array[MMethodDef]] */
+1669, /* HashMapValues[MType, Array[MMethodDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[K, V]: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapValuesIterator[K, V]: MapValuesIterator[MType, Array[MMethodDef]] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
+&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+}
+};
+/* runtime type Collection[Array[MMethodDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MMethodDef = {
+1492,
+"Collection[Array[MMethodDef]]", /* class_name_string */
+7,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+550,
+"NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+550, /* NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* E: nullable HashMapNode[MType, Array[MMethodDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+}
+};
+/* runtime type HashMapIterator[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MType, Array[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+551, /* MapIterator[MType, Array[MMethodDef]] */
+1308, /* HashMapIterator[MType, Array[MMethodDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[K, V]: HashMap[MType, Array[MMethodDef]] */
+}
+};
+/* runtime type MapIterator[MType, Array[MMethodDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+551,
+"MapIterator[MType, Array[MMethodDef]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+1309,
+"HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+70, /* nullable HashMapNode[MType, Array[MMethodDef]] */
+1309, /* HashMapNode[MType, Array[MMethodDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_model__MType, /* K: MType */
+&type_array__Arraymodel__MMethodDef, /* V: Array[MMethodDef] */
+&type_model__MType, /* K: MType */
+}
+};
+/* runtime type nullable HashMapNode[MType, Array[MMethodDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef = {
+70,
+"nullable HashMapNode[MType, Array[MMethodDef]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MClass, POSetElement[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, POSetElement[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+552, /* MapKeysIterator[MClass, POSetElement[MClass]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MClass, /* Array[E]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapIterator[K, V]: MapIterator[MClass, POSetElement[MClass]] */
+}
+};
+/* runtime type MapValuesIterator[MClass, POSetElement[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, POSetElement[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+553, /* MapValuesIterator[MClass, POSetElement[MClass]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[E]: Array[POSetElement[MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapIterator[K, V]: MapIterator[MClass, POSetElement[MClass]] */
+}
+};
+/* runtime type Array[POSetElement[MClass]] */
+const struct type type_array__Arrayposet__POSetElementmodel__MClass = {
+-1, /*CAST DEAD*/
+"Array[POSetElement[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__Arrayposet__POSetElementmodel__MClass,
+17,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1260, /* Collection[POSetElement[MClass]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1904, /* AbstractArrayRead[POSetElement[MClass]] */
+1512, /* AbstractArray[Object] */
+2163, /* AbstractArray[POSetElement[MClass]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2257, /* Array[POSetElement[MClass]] */
+},
+};
+const struct types resolution_table_array__Arrayposet__POSetElementmodel__MClass = {
+0, /* dummy */
+{
+&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[E]: NativeArray[POSetElement[MClass]] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[E]: Collection[POSetElement[MClass]] */
+&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[E]: Array[POSetElement[MClass]] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[E]: Collection[POSetElement[MClass]] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[E]: Collection[POSetElement[MClass]] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[E]: Array[POSetElement[MClass]] */
+&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[E]: NativeArray[POSetElement[MClass]] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[E]: Array[POSetElement[MClass]] */
+&type_array__AbstractArrayposet__POSetElementmodel__MClass, /* AbstractArray[E]: AbstractArray[POSetElement[MClass]] */
+&type_array__ArrayIteratorposet__POSetElementmodel__MClass, /* ArrayIterator[E]: ArrayIterator[POSetElement[MClass]] */
+}
+};
+/* runtime type AbstractArrayRead[POSetElement[MClass]] */
+const struct type type_array__AbstractArrayReadposet__POSetElementmodel__MClass = {
+1904,
+"AbstractArrayRead[POSetElement[MClass]]", /* class_name_string */
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[POSetElement[MClass]] */
+const struct type type_array__AbstractArrayposet__POSetElementmodel__MClass = {
+2163,
+"AbstractArray[POSetElement[MClass]]", /* class_name_string */
+11,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+603, /* Collection[MModule] */
+1493, /* HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapKeysIterator[K, V]: MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* E: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[E]: Collection[MModule] */
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* E: MModule */
+}
+};
+/* runtime type HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1310, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+1494, /* HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapValuesIterator[K, V]: MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+}
+};
+/* runtime type Collection[HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1310,
+"Collection[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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 = {
+554,
+"NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+554, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+}
+};
+/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+555, /* MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1311, /* HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+}
+};
+/* runtime type MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+555,
+"MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+1312,
+"HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+71, /* nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+1312, /* HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* V: HashMap[MType, Array[MAttributeDef]] */
+&type_mmodule__MModule, /* K: MModule */
+}
+};
+/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+71,
+"nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MType, Array[MAttributeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef,
+9,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+-1, /* empty */
+1370, /* Collection[MType] */
+1670, /* HashMapKeys[MType, Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[K, V]: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapKeysIterator[K, V]: MapKeysIterator[MType, Array[MAttributeDef]] */
+&type_model__MType, /* E: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[E]: Collection[MType] */
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* E: MType */
+}
+};
+/* runtime type HashMapValues[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MType, Array[MAttributeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef,
+9,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1143, /* Collection[Array[nullable MPropDef]] */
+-1, /* empty */
+1495, /* Collection[Array[MAttributeDef]] */
+1671, /* HashMapValues[MType, Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[K, V]: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapValuesIterator[K, V]: MapValuesIterator[MType, Array[MAttributeDef]] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
+&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+}
+};
+/* runtime type Collection[Array[MAttributeDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef = {
+1495,
+"Collection[Array[MAttributeDef]]", /* class_name_string */
+7,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+556,
+"NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+556, /* NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* E: nullable HashMapNode[MType, Array[MAttributeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+}
+};
+/* runtime type HashMapIterator[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+557, /* MapIterator[MType, Array[MAttributeDef]] */
+1313, /* HashMapIterator[MType, Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[K, V]: HashMap[MType, Array[MAttributeDef]] */
+}
+};
+/* runtime type MapIterator[MType, Array[MAttributeDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+557,
+"MapIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+1314,
+"HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+72, /* nullable HashMapNode[MType, Array[MAttributeDef]] */
+1314, /* HashMapNode[MType, Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_model__MType, /* K: MType */
+&type_array__Arraymodel__MAttributeDef, /* V: Array[MAttributeDef] */
+&type_model__MType, /* K: MType */
+}
+};
+/* runtime type nullable HashMapNode[MType, Array[MAttributeDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef = {
+72,
+"nullable HashMapNode[MType, Array[MAttributeDef]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+603, /* Collection[MModule] */
+1496, /* HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapKeysIterator[K, V]: MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* E: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[E]: Collection[MModule] */
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* E: MModule */
+}
+};
+/* runtime type HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1315, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+1497, /* HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapValuesIterator[K, V]: MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+}
+};
+/* runtime type Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1315,
+"Collection[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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 = {
+558,
+"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 */
+558, /* NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+}
+};
+/* runtime type HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+559, /* MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1316, /* HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[K, V]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+}
+};
+/* runtime type MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+559,
+"MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1317,
+"HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+73, /* nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+1317, /* HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MAttributeDef]] */
+&type_mmodule__MModule, /* K: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* V: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_mmodule__MModule, /* K: MModule */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MAttributeDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+/* runtime type nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+73,
+"nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
-"MapValuesIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+"HashMapKeys[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef,
-3,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-575, /* MapValuesIterator[MType, Array[MAttributeDef]] */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+93, /* Collection[nullable MType] */
+-1, /* empty */
+1370, /* Collection[MType] */
+1672, /* HashMapKeys[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[Array[MAttributeDef]] */
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[K, V]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapKeysIterator[K, V]: MapKeysIterator[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* E: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[E]: Collection[MType] */
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* E: MType */
 }
 };
-/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+/* runtime type HashMapValues[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
-"MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+"HashMapValues[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-3,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-576, /* MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+-1, /* empty */
+-1, /* empty */
+83, /* Collection[Object] */
+1143, /* Collection[Array[nullable MPropDef]] */
+-1, /* empty */
+1498, /* Collection[Array[MVirtualTypeDef]] */
+1673, /* HashMapValues[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
-&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[K, V]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapValuesIterator[K, V]: MapValuesIterator[MType, Array[MVirtualTypeDef]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
+&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
 }
 };
-/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-const struct type type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type Collection[Array[MVirtualTypeDef]] */
+const struct type type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef = {
+1498,
+"Collection[Array[MVirtualTypeDef]]", /* class_name_string */
+7,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+560,
+"NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-577, /* MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+560, /* NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+/* runtime type HashMapIterator[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
-"MapKeysIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+"HashMapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
-3,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-578, /* MapKeysIterator[MType, Array[MVirtualTypeDef]] */
+561, /* MapIterator[MType, Array[MVirtualTypeDef]] */
+1318, /* HashMapIterator[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[K, V]: HashMap[MType, Array[MVirtualTypeDef]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MVirtualTypeDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
--1, /*CAST DEAD*/
-"MapValuesIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
--1, /*CAST DEAD*/
+/* runtime type MapIterator[MType, Array[MVirtualTypeDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+561,
+"MapIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapNode[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+1319,
+"HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 3,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-579, /* MapValuesIterator[MType, Array[MVirtualTypeDef]] */
+74, /* nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+1319, /* HashMapNode[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[Array[MVirtualTypeDef]] */
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* K: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* V: Array[MVirtualTypeDef] */
+&type_model__MType, /* K: MType */
 }
 };
+/* runtime type nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+74,
+"nullable HashMapNode[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
 /* runtime type ArrayIterator[POSetElement[Phase]] */
 const struct type type_array__ArrayIteratorposet__POSetElementphase__Phase = {
 -1, /*CAST DEAD*/
@@ -2086,20 +4349,20 @@ const struct type type_array__ArrayIteratorposet__POSetElementphase__Phase = {
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1270, /* ArrayIterator[POSetElement[Phase]] */
+285, /* ArrayIterator[Object] */
+1320, /* ArrayIterator[POSetElement[Phase]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Iterator#0]: Array[POSetElement[Phase]] */
-&type_array__AbstractArrayReadposet__POSetElementphase__Phase, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[Phase]] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[E]: Array[POSetElement[Phase]] */
+&type_array__AbstractArrayReadposet__POSetElementphase__Phase, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[Phase]] */
 }
 };
 /* runtime type NativeArray[POSetElement[Phase]] */
 const struct type type_array__NativeArrayposet__POSetElementphase__Phase = {
-1271,
+1321,
 "NativeArray[POSetElement[Phase]]", /* class_name_string */
 3,
 0,
@@ -2108,15 +4371,15 @@ const struct type type_array__NativeArrayposet__POSetElementphase__Phase = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1271, /* NativeArray[POSetElement[Phase]] */
+104, /* NativeArray[Object] */
+1321, /* NativeArray[POSetElement[Phase]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_poset__POSetElementphase__Phase, /* NativeArray#0: POSetElement[Phase] */
-&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[Phase]] */
+&type_poset__POSetElementphase__Phase, /* E: POSetElement[Phase] */
+&type_array__NativeArrayposet__POSetElementphase__Phase, /* NativeArray[E]: NativeArray[POSetElement[Phase]] */
 }
 };
 /* runtime type ArrayIterator[POSetElement[MModule]] */
@@ -2130,20 +4393,20 @@ const struct type type_array__ArrayIteratorposet__POSetElementmmodule__MModule =
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1272, /* ArrayIterator[POSetElement[MModule]] */
+285, /* ArrayIterator[Object] */
+1322, /* ArrayIterator[POSetElement[MModule]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[Iterator#0]: Array[POSetElement[MModule]] */
-&type_array__AbstractArrayReadposet__POSetElementmmodule__MModule, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[MModule]] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[E]: Array[POSetElement[MModule]] */
+&type_array__AbstractArrayReadposet__POSetElementmmodule__MModule, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MModule]] */
 }
 };
 /* runtime type NativeArray[POSetElement[MModule]] */
 const struct type type_array__NativeArrayposet__POSetElementmmodule__MModule = {
-1273,
+1323,
 "NativeArray[POSetElement[MModule]]", /* class_name_string */
 3,
 0,
@@ -2152,15 +4415,15 @@ const struct type type_array__NativeArrayposet__POSetElementmmodule__MModule = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1273, /* NativeArray[POSetElement[MModule]] */
+104, /* NativeArray[Object] */
+1323, /* NativeArray[POSetElement[MModule]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_poset__POSetElementmmodule__MModule, /* NativeArray#0: POSetElement[MModule] */
-&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[MModule]] */
+&type_poset__POSetElementmmodule__MModule, /* E: POSetElement[MModule] */
+&type_array__NativeArrayposet__POSetElementmmodule__MModule, /* NativeArray[E]: NativeArray[POSetElement[MModule]] */
 }
 };
 /* runtime type ArrayIterator[POSetElement[MClassDef]] */
@@ -2174,20 +4437,20 @@ const struct type type_array__ArrayIteratorposet__POSetElementmodel__MClassDef =
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1274, /* ArrayIterator[POSetElement[MClassDef]] */
+285, /* ArrayIterator[Object] */
+1324, /* ArrayIterator[POSetElement[MClassDef]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Iterator#0]: Array[POSetElement[MClassDef]] */
-&type_array__AbstractArrayReadposet__POSetElementmodel__MClassDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[MClassDef]] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[E]: Array[POSetElement[MClassDef]] */
+&type_array__AbstractArrayReadposet__POSetElementmodel__MClassDef, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClassDef]] */
 }
 };
 /* runtime type NativeArray[POSetElement[MClassDef]] */
 const struct type type_array__NativeArrayposet__POSetElementmodel__MClassDef = {
-1275,
+1325,
 "NativeArray[POSetElement[MClassDef]]", /* class_name_string */
 3,
 0,
@@ -2196,15 +4459,15 @@ const struct type type_array__NativeArrayposet__POSetElementmodel__MClassDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1275, /* NativeArray[POSetElement[MClassDef]] */
+104, /* NativeArray[Object] */
+1325, /* NativeArray[POSetElement[MClassDef]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MClassDef, /* NativeArray#0: POSetElement[MClassDef] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[MClassDef]] */
+&type_poset__POSetElementmodel__MClassDef, /* E: POSetElement[MClassDef] */
+&type_array__NativeArrayposet__POSetElementmodel__MClassDef, /* NativeArray[E]: NativeArray[POSetElement[MClassDef]] */
 }
 };
 /* runtime type ArrayIterator[POSetElement[MClassType]] */
@@ -2218,16 +4481,16 @@ const struct type type_array__ArrayIteratorposet__POSetElementmodel__MClassType
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1276, /* ArrayIterator[POSetElement[MType]] */
-1447, /* ArrayIterator[POSetElement[MClassType]] */
+285, /* ArrayIterator[Object] */
+1326, /* ArrayIterator[POSetElement[MType]] */
+1499, /* ArrayIterator[POSetElement[MClassType]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Iterator#0]: Array[POSetElement[MClassType]] */
-&type_array__AbstractArrayReadposet__POSetElementmodel__MClassType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[MClassType]] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[E]: Array[POSetElement[MClassType]] */
+&type_array__AbstractArrayReadposet__POSetElementmodel__MClassType, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClassType]] */
 }
 };
 /* runtime type ArrayIterator[POSetElement[MType]] */
@@ -2241,20 +4504,20 @@ const struct type type_array__ArrayIteratorposet__POSetElementmodel__MType = {
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1276, /* ArrayIterator[POSetElement[MType]] */
+285, /* ArrayIterator[Object] */
+1326, /* ArrayIterator[POSetElement[MType]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Iterator#0]: Array[POSetElement[MType]] */
-&type_array__AbstractArrayReadposet__POSetElementmodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[MType]] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[E]: Array[POSetElement[MType]] */
+&type_array__AbstractArrayReadposet__POSetElementmodel__MType, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MType]] */
 }
 };
 /* runtime type NativeArray[POSetElement[MClassType]] */
 const struct type type_array__NativeArrayposet__POSetElementmodel__MClassType = {
-1448,
+1500,
 "NativeArray[POSetElement[MClassType]]", /* class_name_string */
 4,
 0,
@@ -2263,21 +4526,21 @@ const struct type type_array__NativeArrayposet__POSetElementmodel__MClassType =
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1277, /* NativeArray[POSetElement[MType]] */
-1448, /* NativeArray[POSetElement[MClassType]] */
+104, /* NativeArray[Object] */
+1327, /* NativeArray[POSetElement[MType]] */
+1500, /* NativeArray[POSetElement[MClassType]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MClassType, /* NativeArray#0: POSetElement[MClassType] */
-&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[MClassType]] */
+&type_poset__POSetElementmodel__MClassType, /* E: POSetElement[MClassType] */
+&type_array__NativeArrayposet__POSetElementmodel__MClassType, /* NativeArray[E]: NativeArray[POSetElement[MClassType]] */
 }
 };
 /* runtime type NativeArray[POSetElement[MType]] */
 const struct type type_array__NativeArrayposet__POSetElementmodel__MType = {
-1277,
+1327,
 "NativeArray[POSetElement[MType]]", /* class_name_string */
 3,
 0,
@@ -2286,15 +4549,15 @@ const struct type type_array__NativeArrayposet__POSetElementmodel__MType = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1277, /* NativeArray[POSetElement[MType]] */
+104, /* NativeArray[Object] */
+1327, /* NativeArray[POSetElement[MType]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MType, /* NativeArray#0: POSetElement[MType] */
-&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[MType]] */
+&type_poset__POSetElementmodel__MType, /* E: POSetElement[MType] */
+&type_array__NativeArrayposet__POSetElementmodel__MType, /* NativeArray[E]: NativeArray[POSetElement[MType]] */
 }
 };
 /* runtime type ArrayIterator[HashMap2[MType, String, nullable MProperty]] */
@@ -2308,20 +4571,20 @@ const struct type type_array__ArrayIteratormore_collections__HashMap2model__MTyp
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1278, /* ArrayIterator[HashMap2[MType, String, nullable MProperty]] */
+285, /* ArrayIterator[Object] */
+1328, /* ArrayIterator[HashMap2[MType, String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratormore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap2[MType, String, nullable MProperty]] */
-&type_array__AbstractArrayReadmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
+&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap2[MType, String, nullable MProperty]] */
+&type_array__AbstractArrayReadmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap2[MType, String, nullable MProperty]] */
 }
 };
 /* runtime type NativeArray[HashMap2[MType, String, nullable MProperty]] */
 const struct type type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1279,
+1329,
 "NativeArray[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
 3,
 0,
@@ -2330,15 +4593,57 @@ const struct type type_array__NativeArraymore_collections__HashMap2model__MTypes
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1279, /* NativeArray[HashMap2[MType, String, nullable MProperty]] */
+104, /* NativeArray[Object] */
+1329, /* NativeArray[HashMap2[MType, String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray#0: HashMap2[MType, String, nullable MProperty] */
-&type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* E: HashMap2[MType, String, nullable MProperty] */
+&type_array__NativeArraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[HashMap2[MType, String, nullable MProperty]] */
+}
+};
+/* runtime type MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+562, /* MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapIterator[K, V]: MapIterator[MType, HashMap[String, nullable MProperty]] */
+}
+};
+/* runtime type MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+563, /* MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+0, /* dummy */
+{
+&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapIterator[K, V]: MapIterator[MType, HashMap[String, nullable MProperty]] */
 }
 };
 /* runtime type Array[HashMap[String, nullable MProperty]] */
@@ -2348,93 +4653,107 @@ const struct type type_array__Arrayhash_collection__HashMapstring__Stringnullabl
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty,
-11,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1217, /* Collection[HashMap[String, nullable MProperty]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1277, /* Collection[HashMap[String, nullable MProperty]] */
+590, /* Array[nullable Object] */
 -1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1859, /* AbstractArrayRead[HashMap[String, nullable MProperty]] */
-1459, /* Array[Object] */
-2102, /* Array[HashMap[String, nullable MProperty]] */
+1345, /* AbstractArrayRead[Object] */
+1905, /* AbstractArrayRead[HashMap[String, nullable MProperty]] */
+1512, /* AbstractArray[Object] */
+2164, /* AbstractArray[HashMap[String, nullable MProperty]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2258, /* Array[HashMap[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Sequence#0: HashMap[String, nullable MProperty] */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* SimpleCollection#0: HashMap[String, nullable MProperty] */
-&type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[Array#0]: NativeArray[HashMap[String, nullable MProperty]] */
-&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[Array#0]: Array[HashMap[String, nullable MProperty]] */
-&type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[HashMap[String, nullable MProperty]] */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap[String, nullable MProperty] */
-&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[Sequence#0]: Collection[HashMap[String, nullable MProperty]] */
-&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[SimpleCollection#0]: Collection[HashMap[String, nullable MProperty]] */
-&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_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* SequenceRead#0: HashMap[String, nullable MProperty] */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* AbstractArrayRead#0: HashMap[String, nullable MProperty] */
-&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[AbstractArrayRead#0]: Array[HashMap[String, nullable MProperty]] */
-&type_array__ArrayIteratorhash_collection__HashMapstring__Stringnullable_model__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap[String, nullable MProperty]] */
+&type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap[String, nullable MProperty]] */
+&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap[String, nullable MProperty]] */
+&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[E]: Collection[HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
+&type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
+&type_array__AbstractArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* AbstractArray[E]: AbstractArray[HashMap[String, nullable MProperty]] */
+&type_array__ArrayIteratorhash_collection__HashMapstring__Stringnullable_model__MProperty, /* ArrayIterator[E]: ArrayIterator[HashMap[String, nullable MProperty]] */
 }
 };
 /* runtime type AbstractArrayRead[HashMap[String, nullable MProperty]] */
 const struct type type_array__AbstractArrayReadhash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1859,
+1905,
 "AbstractArrayRead[HashMap[String, nullable MProperty]]", /* class_name_string */
-8,
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[HashMap[String, nullable MProperty]] */
+const struct type type_array__AbstractArrayhash_collection__HashMapstring__Stringnullable_model__MProperty = {
+2164,
+"AbstractArray[HashMap[String, nullable MProperty]]", /* class_name_string */
+11,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
-/* runtime type ArrayIterator[MGroup] */
-const struct type type_array__ArrayIteratormproject__MGroup = {
+/* runtime type MapKeysIterator[String, nullable MProperty] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty = {
 -1, /*CAST DEAD*/
-"ArrayIterator[MGroup]", /* class_name_string */
+"MapKeysIterator[String, nullable MProperty]", /* class_name_string */
 -1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratormproject__MGroup,
-5,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-562, /* ArrayIterator[nullable MGroup] */
-1449, /* ArrayIterator[MGroup] */
+564, /* MapKeysIterator[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormproject__MGroup = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arraymproject__MGroup, /* Array[Iterator#0]: Array[MGroup] */
-&type_array__AbstractArrayReadmproject__MGroup, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MGroup] */
+&type_array__Arraystring__String, /* Array[E]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty, /* MapIterator[K, V]: MapIterator[String, nullable MProperty] */
 }
 };
-/* runtime type NativeArray[MGroup] */
-const struct type type_array__NativeArraymproject__MGroup = {
-1450,
-"NativeArray[MGroup]", /* class_name_string */
-4,
+/* runtime type MapValuesIterator[String, nullable MProperty] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, nullable MProperty]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymproject__MGroup,
-5,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-563, /* NativeArray[nullable MGroup] */
-1450, /* NativeArray[MGroup] */
+565, /* MapValuesIterator[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_array__NativeArraymproject__MGroup = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_mproject__MGroup, /* NativeArray#0: MGroup */
-&type_array__NativeArraymproject__MGroup, /* NativeArray[NativeArray#0]: NativeArray[MGroup] */
+&type_array__Arraynullable_model__MProperty, /* Array[E]: Array[nullable MProperty] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_model__MProperty, /* MapIterator[K, V]: MapIterator[String, nullable MProperty] */
 }
 };
 /* runtime type ArrayIterator[POSetElement[MGroup]] */
@@ -2448,20 +4767,20 @@ const struct type type_array__ArrayIteratorposet__POSetElementmproject__MGroup =
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1280, /* ArrayIterator[POSetElement[MGroup]] */
+285, /* ArrayIterator[Object] */
+1330, /* ArrayIterator[POSetElement[MGroup]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[Iterator#0]: Array[POSetElement[MGroup]] */
-&type_array__AbstractArrayReadposet__POSetElementmproject__MGroup, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[MGroup]] */
+&type_array__Arrayposet__POSetElementmproject__MGroup, /* Array[E]: Array[POSetElement[MGroup]] */
+&type_array__AbstractArrayReadposet__POSetElementmproject__MGroup, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MGroup]] */
 }
 };
 /* runtime type NativeArray[POSetElement[MGroup]] */
 const struct type type_array__NativeArrayposet__POSetElementmproject__MGroup = {
-1281,
+1331,
 "NativeArray[POSetElement[MGroup]]", /* class_name_string */
 3,
 0,
@@ -2470,15 +4789,15 @@ const struct type type_array__NativeArrayposet__POSetElementmproject__MGroup = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1281, /* NativeArray[POSetElement[MGroup]] */
+104, /* NativeArray[Object] */
+1331, /* NativeArray[POSetElement[MGroup]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_poset__POSetElementmproject__MGroup, /* NativeArray#0: POSetElement[MGroup] */
-&type_array__NativeArrayposet__POSetElementmproject__MGroup, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[MGroup]] */
+&type_poset__POSetElementmproject__MGroup, /* E: POSetElement[MGroup] */
+&type_array__NativeArrayposet__POSetElementmproject__MGroup, /* NativeArray[E]: NativeArray[POSetElement[MGroup]] */
 }
 };
 /* runtime type ArrayIterator[HashMap[MProperty, Set[MMethodDef]]] */
@@ -2492,20 +4811,20 @@ const struct type type_array__ArrayIteratorhash_collection__HashMapmodel__MPrope
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1282, /* ArrayIterator[HashMap[MProperty, Set[MMethodDef]]] */
+285, /* ArrayIterator[Object] */
+1332, /* ArrayIterator[HashMap[MProperty, Set[MMethodDef]]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[Iterator#0]: Array[HashMap[MProperty, Set[MMethodDef]]] */
-&type_array__AbstractArrayReadhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[HashMap[MProperty, Set[MMethodDef]]] */
+&type_array__AbstractArrayReadhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MProperty, Set[MMethodDef]]] */
 }
 };
 /* runtime type NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
 const struct type type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
-1283,
+1333,
 "NativeArray[HashMap[MProperty, Set[MMethodDef]]]", /* class_name_string */
 3,
 0,
@@ -2514,15 +4833,15 @@ const struct type type_array__NativeArrayhash_collection__HashMapmodel__MPropert
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1283, /* NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
+104, /* NativeArray[Object] */
+1333, /* NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray#0: HashMap[MProperty, Set[MMethodDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* E: HashMap[MProperty, Set[MMethodDef]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MPropertyabstract_collection__Setmodel__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MProperty, Set[MMethodDef]]] */
 }
 };
 /* runtime type ArrayIterator[Set[MMethodDef]] */
@@ -2536,39 +4855,123 @@ const struct type type_array__ArrayIteratorabstract_collection__Setmodel__MMetho
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1258, /* ArrayIterator[Set[PropertyLayoutElement]] */
-1451, /* ArrayIterator[Set[MMethodDef]] */
+285, /* ArrayIterator[Object] */
+1285, /* ArrayIterator[Set[PropertyLayoutElement]] */
+1501, /* ArrayIterator[Set[MMethodDef]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorabstract_collection__Setmodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[Iterator#0]: Array[Set[MMethodDef]] */
-&type_array__AbstractArrayReadabstract_collection__Setmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Set[MMethodDef]] */
+&type_array__Arrayabstract_collection__Setmodel__MMethodDef, /* Array[E]: Array[Set[MMethodDef]] */
+&type_array__AbstractArrayReadabstract_collection__Setmodel__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[Set[MMethodDef]] */
 }
 };
 /* runtime type NativeArray[Set[MMethodDef]] */
 const struct type type_array__NativeArrayabstract_collection__Setmodel__MMethodDef = {
-1452,
+1502,
 "NativeArray[Set[MMethodDef]]", /* class_name_string */
 4,
 0,
-&resolution_table_array__NativeArrayabstract_collection__Setmodel__MMethodDef,
-5,
+&resolution_table_array__NativeArrayabstract_collection__Setmodel__MMethodDef,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+104, /* NativeArray[Object] */
+1286, /* NativeArray[Set[PropertyLayoutElement]] */
+1502, /* NativeArray[Set[MMethodDef]] */
+},
+};
+const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MMethodDef = {
+0, /* dummy */
+{
+&type_abstract_collection__Setmodel__MMethodDef, /* E: Set[MMethodDef] */
+&type_array__NativeArrayabstract_collection__Setmodel__MMethodDef, /* NativeArray[E]: NativeArray[Set[MMethodDef]] */
+}
+};
+/* runtime type MapKeysIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+566, /* MapKeysIterator[MClass, Set[MClass]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MClass, /* Array[E]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[K, V]: MapIterator[MClass, Set[MClass]] */
+}
+};
+/* runtime type MapValuesIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+567, /* MapValuesIterator[MClass, Set[MClass]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[E]: Array[Set[MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapIterator[K, V]: MapIterator[MClass, Set[MClass]] */
+}
+};
+/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+568, /* MapKeysIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+}
+};
+/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1259, /* NativeArray[Set[PropertyLayoutElement]] */
-1452, /* NativeArray[Set[MMethodDef]] */
+569, /* MapValuesIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_collection__Setmodel__MMethodDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__Setmodel__MMethodDef, /* NativeArray#0: Set[MMethodDef] */
-&type_array__NativeArrayabstract_collection__Setmodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[Set[MMethodDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
+&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
 }
 };
 /* runtime type Array[HashMap[MType, Array[MMethodDef]]] */
@@ -2578,49 +4981,109 @@ const struct type type_array__Arrayhash_collection__HashMapmodel__MTypearray__Ar
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
-11,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1235, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1305, /* Collection[HashMap[MType, Array[MMethodDef]]] */
+590, /* Array[nullable Object] */
 -1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1860, /* AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
-1459, /* Array[Object] */
-2103, /* Array[HashMap[MType, Array[MMethodDef]]] */
+1345, /* AbstractArrayRead[Object] */
+1906, /* AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
+1512, /* AbstractArray[Object] */
+2165, /* AbstractArray[HashMap[MType, Array[MMethodDef]]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2259, /* Array[HashMap[MType, Array[MMethodDef]]] */
 },
 };
 const struct types resolution_table_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Sequence#0: HashMap[MType, Array[MMethodDef]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* SimpleCollection#0: HashMap[MType, Array[MMethodDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[Array#0]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[Array#0]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* RemovableCollection#0: HashMap[MType, Array[MMethodDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[Sequence#0]: Collection[HashMap[MType, Array[MMethodDef]]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[HashMap[MType, Array[MMethodDef]]] */
-&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_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* SequenceRead#0: HashMap[MType, Array[MMethodDef]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* AbstractArrayRead#0: HashMap[MType, Array[MMethodDef]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[AbstractArrayRead#0]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Collection[E]: Collection[HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
+&type_array__AbstractArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MMethodDef]]] */
+&type_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
 }
 };
 /* runtime type AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
 const struct type type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1860,
+1906,
 "AbstractArrayRead[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
-8,
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[HashMap[MType, Array[MMethodDef]]] */
+const struct type type_array__AbstractArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+2165,
+"AbstractArray[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
+11,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
+/* runtime type MapKeysIterator[MType, Array[MMethodDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Array[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+570, /* MapKeysIterator[MType, Array[MMethodDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MType, Array[MMethodDef]] */
+}
+};
+/* runtime type MapValuesIterator[MType, Array[MMethodDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Array[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+571, /* MapValuesIterator[MType, Array[MMethodDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* MapIterator[K, V]: MapIterator[MType, Array[MMethodDef]] */
+}
+};
 /* runtime type Array[Array[MMethodDef]] */
 const struct type type_array__Arrayarray__Arraymodel__MMethodDef = {
 -1, /*CAST DEAD*/
@@ -2628,47 +5091,64 @@ const struct type type_array__Arrayarray__Arraymodel__MMethodDef = {
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayarray__Arraymodel__MMethodDef,
-13,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1093, /* Collection[Array[nullable MPropDef]] */
-1430, /* Collection[Array[MMethodDef]] */
-1294, /* AbstractArrayRead[Object] */
-1843, /* AbstractArrayRead[Array[nullable MPropDef]] */
-1459, /* Array[Object] */
-2086, /* Array[Array[nullable MPropDef]] */
-2104, /* AbstractArrayRead[Array[MMethodDef]] */
-2160, /* Array[Array[MMethodDef]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1143, /* Collection[Array[nullable MPropDef]] */
+590, /* Array[nullable Object] */
+1492, /* Collection[Array[MMethodDef]] */
+1345, /* AbstractArrayRead[Object] */
+1884, /* AbstractArrayRead[Array[nullable MPropDef]] */
+1512, /* AbstractArray[Object] */
+2147, /* AbstractArray[Array[nullable MPropDef]] */
+2166, /* AbstractArrayRead[Array[MMethodDef]] */
+2260, /* AbstractArray[Array[MMethodDef]] */
+-1, /* empty */
+1909, /* Array[Object] */
+2243, /* Array[Array[nullable MPropDef]] */
+2317, /* Array[Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MMethodDef, /* Sequence#0: Array[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* SimpleCollection#0: Array[MMethodDef] */
-&type_array__NativeArrayarray__Arraymodel__MMethodDef, /* NativeArray[Array#0]: NativeArray[Array[MMethodDef]] */
-&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[Array#0]: Array[Array[MMethodDef]] */
-&type_array__NativeArrayarray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MMethodDef]] */
-&type_array__Arraymodel__MMethodDef, /* RemovableCollection#0: Array[MMethodDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[Sequence#0]: Collection[Array[MMethodDef]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[Array[MMethodDef]] */
-&type_array__Arraymodel__MMethodDef, /* Collection#0: Array[MMethodDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[Collection#0]: Collection[Array[MMethodDef]] */
-&type_array__Arraymodel__MMethodDef, /* SequenceRead#0: Array[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* AbstractArrayRead#0: Array[MMethodDef] */
-&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[AbstractArrayRead#0]: Array[Array[MMethodDef]] */
-&type_array__ArrayIteratorarray__Arraymodel__MMethodDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MMethodDef]] */
+&type_array__NativeArrayarray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[Array[MMethodDef]] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
+&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MMethodDef, /* Collection[E]: Collection[Array[MMethodDef]] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
+&type_array__NativeArrayarray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[Array[MMethodDef]] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
+&type_array__AbstractArrayarray__Arraymodel__MMethodDef, /* AbstractArray[E]: AbstractArray[Array[MMethodDef]] */
+&type_array__ArrayIteratorarray__Arraymodel__MMethodDef, /* ArrayIterator[E]: ArrayIterator[Array[MMethodDef]] */
 }
 };
 /* runtime type AbstractArrayRead[Array[MMethodDef]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MMethodDef = {
-2104,
+2166,
 "AbstractArrayRead[Array[MMethodDef]]", /* class_name_string */
-11,
+12,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[Array[MMethodDef]] */
+const struct type type_array__AbstractArrayarray__Arraymodel__MMethodDef = {
+2260,
+"AbstractArray[Array[MMethodDef]]", /* class_name_string */
+13,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
@@ -2684,20 +5164,20 @@ const struct type type_array__ArrayIteratorposet__POSetElementmodel__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1284, /* ArrayIterator[POSetElement[MClass]] */
+285, /* ArrayIterator[Object] */
+1334, /* ArrayIterator[POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[Iterator#0]: Array[POSetElement[MClass]] */
-&type_array__AbstractArrayReadposet__POSetElementmodel__MClass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[POSetElement[MClass]] */
+&type_array__Arrayposet__POSetElementmodel__MClass, /* Array[E]: Array[POSetElement[MClass]] */
+&type_array__AbstractArrayReadposet__POSetElementmodel__MClass, /* AbstractArrayRead[E]: AbstractArrayRead[POSetElement[MClass]] */
 }
 };
 /* runtime type NativeArray[POSetElement[MClass]] */
 const struct type type_array__NativeArrayposet__POSetElementmodel__MClass = {
-1285,
+1335,
 "NativeArray[POSetElement[MClass]]", /* class_name_string */
 3,
 0,
@@ -2706,15 +5186,57 @@ const struct type type_array__NativeArrayposet__POSetElementmodel__MClass = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1285, /* NativeArray[POSetElement[MClass]] */
+104, /* NativeArray[Object] */
+1335, /* NativeArray[POSetElement[MClass]] */
 },
 };
 const struct types resolution_table_array__NativeArrayposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_poset__POSetElementmodel__MClass, /* NativeArray#0: POSetElement[MClass] */
-&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[POSetElement[MClass]] */
+&type_poset__POSetElementmodel__MClass, /* E: POSetElement[MClass] */
+&type_array__NativeArrayposet__POSetElementmodel__MClass, /* NativeArray[E]: NativeArray[POSetElement[MClass]] */
+}
+};
+/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+572, /* MapKeysIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+}
+};
+/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+573, /* MapValuesIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
 }
 };
 /* runtime type Array[HashMap[MType, Array[MAttributeDef]]] */
@@ -2724,49 +5246,109 @@ const struct type type_array__Arrayhash_collection__HashMapmodel__MTypearray__Ar
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
-11,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1240, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1310, /* Collection[HashMap[MType, Array[MAttributeDef]]] */
+590, /* Array[nullable Object] */
+-1, /* empty */
+1345, /* AbstractArrayRead[Object] */
+1907, /* AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
+1512, /* AbstractArray[Object] */
+2167, /* AbstractArray[HashMap[MType, Array[MAttributeDef]]] */
+-1, /* empty */
 -1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1861, /* AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
-1459, /* Array[Object] */
-2105, /* Array[HashMap[MType, Array[MAttributeDef]]] */
+-1, /* empty */
+1909, /* Array[Object] */
+2261, /* Array[HashMap[MType, Array[MAttributeDef]]] */
 },
 };
 const struct types resolution_table_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Sequence#0: HashMap[MType, Array[MAttributeDef]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* SimpleCollection#0: HashMap[MType, Array[MAttributeDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[Array#0]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[Array#0]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* RemovableCollection#0: HashMap[MType, Array[MAttributeDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[Sequence#0]: Collection[HashMap[MType, Array[MAttributeDef]]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[SimpleCollection#0]: Collection[HashMap[MType, Array[MAttributeDef]]] */
-&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_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* SequenceRead#0: HashMap[MType, Array[MAttributeDef]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* AbstractArrayRead#0: HashMap[MType, Array[MAttributeDef]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[AbstractArrayRead#0]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__AbstractArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
 }
 };
 /* runtime type AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
 const struct type type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1861,
+1907,
 "AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
-8,
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_array__AbstractArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+2167,
+"AbstractArray[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
+11,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
+/* runtime type MapKeysIterator[MType, Array[MAttributeDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+574, /* MapKeysIterator[MType, Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MAttributeDef]] */
+}
+};
+/* runtime type MapValuesIterator[MType, Array[MAttributeDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Array[MAttributeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+575, /* MapValuesIterator[MType, Array[MAttributeDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MAttributeDef]] */
+}
+};
 /* runtime type Array[Array[MAttributeDef]] */
 const struct type type_array__Arrayarray__Arraymodel__MAttributeDef = {
 -1, /*CAST DEAD*/
@@ -2774,51 +5356,110 @@ const struct type type_array__Arrayarray__Arraymodel__MAttributeDef = {
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayarray__Arraymodel__MAttributeDef,
-13,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1093, /* Collection[Array[nullable MPropDef]] */
-1433, /* Collection[Array[MAttributeDef]] */
-1294, /* AbstractArrayRead[Object] */
-1843, /* AbstractArrayRead[Array[nullable MPropDef]] */
-1459, /* Array[Object] */
-2086, /* Array[Array[nullable MPropDef]] */
-2106, /* AbstractArrayRead[Array[MAttributeDef]] */
-2161, /* Array[Array[MAttributeDef]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1143, /* Collection[Array[nullable MPropDef]] */
+590, /* Array[nullable Object] */
+1495, /* Collection[Array[MAttributeDef]] */
+1345, /* AbstractArrayRead[Object] */
+1884, /* AbstractArrayRead[Array[nullable MPropDef]] */
+1512, /* AbstractArray[Object] */
+2147, /* AbstractArray[Array[nullable MPropDef]] */
+2168, /* AbstractArrayRead[Array[MAttributeDef]] */
+2262, /* AbstractArray[Array[MAttributeDef]] */
+-1, /* empty */
+1909, /* Array[Object] */
+2243, /* Array[Array[nullable MPropDef]] */
+2318, /* Array[Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MAttributeDef, /* Sequence#0: Array[MAttributeDef] */
-&type_array__Arraymodel__MAttributeDef, /* SimpleCollection#0: Array[MAttributeDef] */
-&type_array__NativeArrayarray__Arraymodel__MAttributeDef, /* NativeArray[Array#0]: NativeArray[Array[MAttributeDef]] */
-&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[Array#0]: Array[Array[MAttributeDef]] */
-&type_array__NativeArrayarray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MAttributeDef]] */
-&type_array__Arraymodel__MAttributeDef, /* RemovableCollection#0: Array[MAttributeDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[Sequence#0]: Collection[Array[MAttributeDef]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[SimpleCollection#0]: Collection[Array[MAttributeDef]] */
-&type_array__Arraymodel__MAttributeDef, /* Collection#0: Array[MAttributeDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[Collection#0]: Collection[Array[MAttributeDef]] */
-&type_array__Arraymodel__MAttributeDef, /* SequenceRead#0: Array[MAttributeDef] */
-&type_array__Arraymodel__MAttributeDef, /* AbstractArrayRead#0: Array[MAttributeDef] */
-&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[AbstractArrayRead#0]: Array[Array[MAttributeDef]] */
-&type_array__ArrayIteratorarray__Arraymodel__MAttributeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MAttributeDef]] */
+&type_array__NativeArrayarray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[Array[MAttributeDef]] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
+&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MAttributeDef, /* Collection[E]: Collection[Array[MAttributeDef]] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
+&type_array__NativeArrayarray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[Array[MAttributeDef]] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
+&type_array__AbstractArrayarray__Arraymodel__MAttributeDef, /* AbstractArray[E]: AbstractArray[Array[MAttributeDef]] */
+&type_array__ArrayIteratorarray__Arraymodel__MAttributeDef, /* ArrayIterator[E]: ArrayIterator[Array[MAttributeDef]] */
 }
 };
 /* runtime type AbstractArrayRead[Array[MAttributeDef]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MAttributeDef = {
-2106,
+2168,
 "AbstractArrayRead[Array[MAttributeDef]]", /* class_name_string */
-11,
+12,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
+/* runtime type AbstractArray[Array[MAttributeDef]] */
+const struct type type_array__AbstractArrayarray__Arraymodel__MAttributeDef = {
+2262,
+"AbstractArray[Array[MAttributeDef]]", /* class_name_string */
+13,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+576, /* MapKeysIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_array__Arraymmodule__MModule, /* Array[E]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+}
+};
+/* runtime type MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+577, /* MapValuesIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__MapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+}
+};
 /* runtime type Array[HashMap[MType, Array[MVirtualTypeDef]]] */
 const struct type type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
@@ -2826,49 +5467,109 @@ const struct type type_array__Arrayhash_collection__HashMapmodel__MTypearray__Ar
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
-11,
+17,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1245, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1315, /* Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+590, /* Array[nullable Object] */
 -1, /* empty */
-1294, /* AbstractArrayRead[Object] */
-1862, /* AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
-1459, /* Array[Object] */
-2107, /* Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+1345, /* AbstractArrayRead[Object] */
+1908, /* AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
+1512, /* AbstractArray[Object] */
+2169, /* AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+1909, /* Array[Object] */
+2263, /* Array[HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
 const struct types resolution_table_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Sequence#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* SimpleCollection#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[Array#0]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[Array#0]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[Sequence#0]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[SimpleCollection#0]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
-&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_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* SequenceRead#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* AbstractArrayRead#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[AbstractArrayRead#0]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_abstract_collection__Collectionhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__AbstractArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* AbstractArray[E]: AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* ArrayIterator[E]: ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
 /* runtime type AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
 const struct type type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1862,
+1908,
 "AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
-8,
+9,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_array__AbstractArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+2169,
+"AbstractArray[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
+11,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
 };
+/* runtime type MapKeysIterator[MType, Array[MVirtualTypeDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+578, /* MapKeysIterator[MType, Array[MVirtualTypeDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MType, /* Array[E]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MVirtualTypeDef]] */
+}
+};
+/* runtime type MapValuesIterator[MType, Array[MVirtualTypeDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Array[MVirtualTypeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+579, /* MapValuesIterator[MType, Array[MVirtualTypeDef]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapIterator[K, V]: MapIterator[MType, Array[MVirtualTypeDef]] */
+}
+};
 /* runtime type Array[Array[MVirtualTypeDef]] */
 const struct type type_array__Arrayarray__Arraymodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
@@ -2876,47 +5577,64 @@ const struct type type_array__Arrayarray__Arraymodel__MVirtualTypeDef = {
 -1, /*CAST DEAD*/
 0,
 &resolution_table_array__Arrayarray__Arraymodel__MVirtualTypeDef,
-13,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
 -1, /* empty */
-83, /* SequenceRead[nullable Object] */
-84, /* Collection[Object] */
-1093, /* Collection[Array[nullable MPropDef]] */
-1436, /* Collection[Array[MVirtualTypeDef]] */
-1294, /* AbstractArrayRead[Object] */
-1843, /* AbstractArrayRead[Array[nullable MPropDef]] */
-1459, /* Array[Object] */
-2086, /* Array[Array[nullable MPropDef]] */
-2108, /* AbstractArrayRead[Array[MVirtualTypeDef]] */
-2162, /* Array[Array[MVirtualTypeDef]] */
+82, /* SequenceRead[nullable Object] */
+83, /* Collection[Object] */
+1143, /* Collection[Array[nullable MPropDef]] */
+590, /* Array[nullable Object] */
+1498, /* Collection[Array[MVirtualTypeDef]] */
+1345, /* AbstractArrayRead[Object] */
+1884, /* AbstractArrayRead[Array[nullable MPropDef]] */
+1512, /* AbstractArray[Object] */
+2147, /* AbstractArray[Array[nullable MPropDef]] */
+2170, /* AbstractArrayRead[Array[MVirtualTypeDef]] */
+2264, /* AbstractArray[Array[MVirtualTypeDef]] */
+-1, /* empty */
+1909, /* Array[Object] */
+2243, /* Array[Array[nullable MPropDef]] */
+2319, /* Array[Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_array__Arrayarray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualTypeDef, /* Sequence#0: Array[MVirtualTypeDef] */
-&type_array__Arraymodel__MVirtualTypeDef, /* SimpleCollection#0: Array[MVirtualTypeDef] */
-&type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef, /* NativeArray[Array#0]: NativeArray[Array[MVirtualTypeDef]] */
-&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[Array#0]: Array[Array[MVirtualTypeDef]] */
-&type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MVirtualTypeDef]] */
-&type_array__Arraymodel__MVirtualTypeDef, /* RemovableCollection#0: Array[MVirtualTypeDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[Sequence#0]: Collection[Array[MVirtualTypeDef]] */
-&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[SimpleCollection#0]: Collection[Array[MVirtualTypeDef]] */
-&type_array__Arraymodel__MVirtualTypeDef, /* Collection#0: Array[MVirtualTypeDef] */
-&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[Array[MVirtualTypeDef]] */
-&type_array__Arraymodel__MVirtualTypeDef, /* SequenceRead#0: Array[MVirtualTypeDef] */
-&type_array__Arraymodel__MVirtualTypeDef, /* AbstractArrayRead#0: Array[MVirtualTypeDef] */
-&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[AbstractArrayRead#0]: Array[Array[MVirtualTypeDef]] */
-&type_array__ArrayIteratorarray__Arraymodel__MVirtualTypeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MVirtualTypeDef]] */
+&type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[Array[MVirtualTypeDef]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
+&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MVirtualTypeDef, /* Collection[E]: Collection[Array[MVirtualTypeDef]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
+&type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[Array[MVirtualTypeDef]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
+&type_array__AbstractArrayarray__Arraymodel__MVirtualTypeDef, /* AbstractArray[E]: AbstractArray[Array[MVirtualTypeDef]] */
+&type_array__ArrayIteratorarray__Arraymodel__MVirtualTypeDef, /* ArrayIterator[E]: ArrayIterator[Array[MVirtualTypeDef]] */
 }
 };
 /* runtime type AbstractArrayRead[Array[MVirtualTypeDef]] */
 const struct type type_array__AbstractArrayReadarray__Arraymodel__MVirtualTypeDef = {
-2108,
+2170,
 "AbstractArrayRead[Array[MVirtualTypeDef]]", /* class_name_string */
-11,
+12,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArray[Array[MVirtualTypeDef]] */
+const struct type type_array__AbstractArrayarray__Arraymodel__MVirtualTypeDef = {
+2264,
+"AbstractArray[Array[MVirtualTypeDef]]", /* class_name_string */
+13,
 0,
 NULL, /*DEAD*/
 0, {}, /*DEAD TYPE*/
@@ -2932,20 +5650,20 @@ const struct type type_array__ArrayIteratorhash_collection__HashMapstring__Strin
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1286, /* ArrayIterator[HashMap[String, nullable MProperty]] */
+285, /* ArrayIterator[Object] */
+1336, /* ArrayIterator[HashMap[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorhash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap[String, nullable MProperty]] */
-&type_array__AbstractArrayReadhash_collection__HashMapstring__Stringnullable_model__MProperty, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashMap[String, nullable MProperty]] */
+&type_array__Arrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Array[E]: Array[HashMap[String, nullable MProperty]] */
+&type_array__AbstractArrayReadhash_collection__HashMapstring__Stringnullable_model__MProperty, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[String, nullable MProperty]] */
 }
 };
 /* runtime type NativeArray[HashMap[String, nullable MProperty]] */
 const struct type type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty = {
-1287,
+1337,
 "NativeArray[HashMap[String, nullable MProperty]]", /* class_name_string */
 3,
 0,
@@ -2954,15 +5672,15 @@ const struct type type_array__NativeArrayhash_collection__HashMapstring__Stringn
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1287, /* NativeArray[HashMap[String, nullable MProperty]] */
+104, /* NativeArray[Object] */
+1337, /* NativeArray[HashMap[String, nullable MProperty]] */
 },
 };
 const struct types resolution_table_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray#0: HashMap[String, nullable MProperty] */
-&type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* E: HashMap[String, nullable MProperty] */
+&type_array__NativeArrayhash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[E]: NativeArray[HashMap[String, nullable MProperty]] */
 }
 };
 /* runtime type ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
@@ -2976,20 +5694,20 @@ const struct type type_array__ArrayIteratorhash_collection__HashMapmodel__MTypea
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1288, /* ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
+285, /* ArrayIterator[Object] */
+1338, /* ArrayIterator[HashMap[MType, Array[MMethodDef]]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MMethodDef]]] */
-&type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Array[E]: Array[HashMap[MType, Array[MMethodDef]]] */
+&type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MMethodDef]]] */
 }
 };
 /* runtime type NativeArray[HashMap[MType, Array[MMethodDef]]] */
 const struct type type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
-1289,
+1339,
 "NativeArray[HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 3,
 0,
@@ -2998,15 +5716,15 @@ const struct type type_array__NativeArrayhash_collection__HashMapmodel__MTypearr
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1289, /* NativeArray[HashMap[MType, Array[MMethodDef]]] */
+104, /* NativeArray[Object] */
+1339, /* NativeArray[HashMap[MType, Array[MMethodDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray#0: HashMap[MType, Array[MMethodDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* E: HashMap[MType, Array[MMethodDef]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MMethodDef]]] */
 }
 };
 /* runtime type ArrayIterator[Array[MMethodDef]] */
@@ -3020,21 +5738,21 @@ const struct type type_array__ArrayIteratorarray__Arraymodel__MMethodDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1262, /* ArrayIterator[Array[nullable MPropDef]] */
-1453, /* ArrayIterator[Array[MMethodDef]] */
+285, /* ArrayIterator[Object] */
+1291, /* ArrayIterator[Array[nullable MPropDef]] */
+1503, /* ArrayIterator[Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[Array[MMethodDef]] */
-&type_array__AbstractArrayReadarray__Arraymodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MMethodDef]] */
+&type_array__Arrayarray__Arraymodel__MMethodDef, /* Array[E]: Array[Array[MMethodDef]] */
+&type_array__AbstractArrayReadarray__Arraymodel__MMethodDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MMethodDef]] */
 }
 };
 /* runtime type NativeArray[Array[MMethodDef]] */
 const struct type type_array__NativeArrayarray__Arraymodel__MMethodDef = {
-1454,
+1504,
 "NativeArray[Array[MMethodDef]]", /* class_name_string */
 4,
 0,
@@ -3043,16 +5761,16 @@ const struct type type_array__NativeArrayarray__Arraymodel__MMethodDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1263, /* NativeArray[Array[nullable MPropDef]] */
-1454, /* NativeArray[Array[MMethodDef]] */
+104, /* NativeArray[Object] */
+1292, /* NativeArray[Array[nullable MPropDef]] */
+1504, /* NativeArray[Array[MMethodDef]] */
 },
 };
 const struct types resolution_table_array__NativeArrayarray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MMethodDef, /* NativeArray#0: Array[MMethodDef] */
-&type_array__NativeArrayarray__Arraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[Array[MMethodDef]] */
+&type_array__Arraymodel__MMethodDef, /* E: Array[MMethodDef] */
+&type_array__NativeArrayarray__Arraymodel__MMethodDef, /* NativeArray[E]: NativeArray[Array[MMethodDef]] */
 }
 };
 /* runtime type ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
@@ -3066,20 +5784,20 @@ const struct type type_array__ArrayIteratorhash_collection__HashMapmodel__MTypea
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1290, /* ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
+285, /* ArrayIterator[Object] */
+1340, /* ArrayIterator[HashMap[MType, Array[MAttributeDef]]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MAttributeDef]]] */
-&type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Array[E]: Array[HashMap[MType, Array[MAttributeDef]]] */
+&type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MAttributeDef]]] */
 }
 };
 /* runtime type NativeArray[HashMap[MType, Array[MAttributeDef]]] */
 const struct type type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
-1291,
+1341,
 "NativeArray[HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 3,
 0,
@@ -3088,15 +5806,15 @@ const struct type type_array__NativeArrayhash_collection__HashMapmodel__MTypearr
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1291, /* NativeArray[HashMap[MType, Array[MAttributeDef]]] */
+104, /* NativeArray[Object] */
+1341, /* NativeArray[HashMap[MType, Array[MAttributeDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray#0: HashMap[MType, Array[MAttributeDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* E: HashMap[MType, Array[MAttributeDef]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MAttributeDef]]] */
 }
 };
 /* runtime type ArrayIterator[Array[MAttributeDef]] */
@@ -3110,21 +5828,21 @@ const struct type type_array__ArrayIteratorarray__Arraymodel__MAttributeDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1262, /* ArrayIterator[Array[nullable MPropDef]] */
-1455, /* ArrayIterator[Array[MAttributeDef]] */
+285, /* ArrayIterator[Object] */
+1291, /* ArrayIterator[Array[nullable MPropDef]] */
+1505, /* ArrayIterator[Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[Array[MAttributeDef]] */
-&type_array__AbstractArrayReadarray__Arraymodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MAttributeDef]] */
+&type_array__Arrayarray__Arraymodel__MAttributeDef, /* Array[E]: Array[Array[MAttributeDef]] */
+&type_array__AbstractArrayReadarray__Arraymodel__MAttributeDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MAttributeDef]] */
 }
 };
 /* runtime type NativeArray[Array[MAttributeDef]] */
 const struct type type_array__NativeArrayarray__Arraymodel__MAttributeDef = {
-1456,
+1506,
 "NativeArray[Array[MAttributeDef]]", /* class_name_string */
 4,
 0,
@@ -3133,16 +5851,16 @@ const struct type type_array__NativeArrayarray__Arraymodel__MAttributeDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1263, /* NativeArray[Array[nullable MPropDef]] */
-1456, /* NativeArray[Array[MAttributeDef]] */
+104, /* NativeArray[Object] */
+1292, /* NativeArray[Array[nullable MPropDef]] */
+1506, /* NativeArray[Array[MAttributeDef]] */
 },
 };
 const struct types resolution_table_array__NativeArrayarray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MAttributeDef, /* NativeArray#0: Array[MAttributeDef] */
-&type_array__NativeArrayarray__Arraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[Array[MAttributeDef]] */
+&type_array__Arraymodel__MAttributeDef, /* E: Array[MAttributeDef] */
+&type_array__NativeArrayarray__Arraymodel__MAttributeDef, /* NativeArray[E]: NativeArray[Array[MAttributeDef]] */
 }
 };
 /* runtime type ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
@@ -3156,20 +5874,20 @@ const struct type type_array__ArrayIteratorhash_collection__HashMapmodel__MTypea
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1292, /* ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
+285, /* ArrayIterator[Object] */
+1342, /* ArrayIterator[HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__Arrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__AbstractArrayReadhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
 /* runtime type NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
 const struct type type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-1293,
+1343,
 "NativeArray[HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 3,
 0,
@@ -3178,15 +5896,15 @@ const struct type type_array__NativeArrayhash_collection__HashMapmodel__MTypearr
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1293, /* NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+104, /* NativeArray[Object] */
+1343, /* NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
 const struct types resolution_table_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray#0: HashMap[MType, Array[MVirtualTypeDef]] */
-&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* E: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_array__NativeArrayhash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[HashMap[MType, Array[MVirtualTypeDef]]] */
 }
 };
 /* runtime type ArrayIterator[Array[MVirtualTypeDef]] */
@@ -3200,21 +5918,21 @@ const struct type type_array__ArrayIteratorarray__Arraymodel__MVirtualTypeDef =
 {
 0, /* nullable Object */
 1, /* Object */
-288, /* ArrayIterator[Object] */
-1262, /* ArrayIterator[Array[nullable MPropDef]] */
-1457, /* ArrayIterator[Array[MVirtualTypeDef]] */
+285, /* ArrayIterator[Object] */
+1291, /* ArrayIterator[Array[nullable MPropDef]] */
+1507, /* ArrayIterator[Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_array__ArrayIteratorarray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[Array[MVirtualTypeDef]] */
-&type_array__AbstractArrayReadarray__Arraymodel__MVirtualTypeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Array[MVirtualTypeDef]] */
+&type_array__Arrayarray__Arraymodel__MVirtualTypeDef, /* Array[E]: Array[Array[MVirtualTypeDef]] */
+&type_array__AbstractArrayReadarray__Arraymodel__MVirtualTypeDef, /* AbstractArrayRead[E]: AbstractArrayRead[Array[MVirtualTypeDef]] */
 }
 };
 /* runtime type NativeArray[Array[MVirtualTypeDef]] */
 const struct type type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef = {
-1458,
+1508,
 "NativeArray[Array[MVirtualTypeDef]]", /* class_name_string */
 4,
 0,
@@ -3223,15 +5941,24 @@ const struct type type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef = {
 {
 0, /* nullable Object */
 1, /* Object */
-103, /* NativeArray[Object] */
-1263, /* NativeArray[Array[nullable MPropDef]] */
-1458, /* NativeArray[Array[MVirtualTypeDef]] */
+104, /* NativeArray[Object] */
+1292, /* NativeArray[Array[nullable MPropDef]] */
+1508, /* NativeArray[Array[MVirtualTypeDef]] */
 },
 };
 const struct types resolution_table_array__NativeArrayarray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualTypeDef, /* NativeArray#0: Array[MVirtualTypeDef] */
-&type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[Array[MVirtualTypeDef]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* E: Array[MVirtualTypeDef] */
+&type_array__NativeArrayarray__Arraymodel__MVirtualTypeDef, /* NativeArray[E]: NativeArray[Array[MVirtualTypeDef]] */
 }
 };
+/* runtime type MModuleData[AAnnotation] */
+const struct type type_mmodule_data__MModuleDataparser_nodes__AAnnotation = {
+580,
+"MModuleData[AAnnotation]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};