c_src: update with new intern methods
[nit.git] / c_src / nitg.types.5.c
index 1aa388f..76b7a1d 100644 (file)
 #include "nitg.types.0.h"
-/* runtime type ArrayIterator[Int] */
-const struct type type_array__ArrayIteratorkernel__Int = {
-1502,
-"ArrayIterator[Int]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[MParameterType] */
+const struct type type_array__ArrayIteratormodel__MParameterType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MParameterType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorkernel__Int,
-4,
+&resolution_table_array__ArrayIteratormodel__MParameterType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1502, /* ArrayIterator[Int] */
+321, /* ArrayIterator[Object] */
+398, /* ArrayIterator[nullable MType] */
+1615, /* ArrayIterator[NitniCallback] */
+2141, /* ArrayIterator[MType] */
+2422, /* ArrayIterator[MParameterType] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorkernel__Int = {
+const struct types resolution_table_array__ArrayIteratormodel__MParameterType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadkernel__Int, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_array__Arraymodel__MParameterType, /* Array[Iterator#0]: Array[MParameterType] */
+&type_array__AbstractArrayReadmodel__MParameterType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MParameterType] */
 }
 };
-/* runtime type NativeArray[Int] */
-const struct type type_array__NativeArraykernel__Int = {
-1503,
-"NativeArray[Int]", /* class_name_string */
-3,
+/* runtime type NativeArray[MParameterType] */
+const struct type type_array__NativeArraymodel__MParameterType = {
+2423,
+"NativeArray[MParameterType]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraykernel__Int,
-4,
+&resolution_table_array__NativeArraymodel__MParameterType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1503, /* NativeArray[Int] */
+115, /* NativeArray[Object] */
+399, /* NativeArray[nullable MType] */
+1616, /* NativeArray[NitniCallback] */
+2142, /* NativeArray[MType] */
+2423, /* NativeArray[MParameterType] */
 },
 };
-const struct types resolution_table_array__NativeArraykernel__Int = {
+const struct types resolution_table_array__NativeArraymodel__MParameterType = {
 0, /* dummy */
 {
-&type_kernel__Int, /* NativeArray#0: Int */
-&type_array__NativeArraykernel__Int, /* NativeArray[NativeArray#0]: NativeArray[Int] */
+&type_model__MParameterType, /* NativeArray#0: MParameterType */
+&type_array__NativeArraymodel__MParameterType, /* NativeArray[NativeArray#0]: NativeArray[MParameterType] */
 }
 };
-/* runtime type ArrayIterator[MType] */
-const struct type type_array__ArrayIteratormodel__MType = {
-1818,
-"ArrayIterator[MType]", /* class_name_string */
-4,
+/* runtime type ArrayIterator[Match] */
+const struct type type_array__ArrayIteratorstring_search__Match = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Match]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratormodel__MType,
-5,
+&resolution_table_array__ArrayIteratorstring_search__Match,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-337, /* ArrayIterator[nullable MType] */
-1818, /* ArrayIterator[MType] */
+321, /* ArrayIterator[Object] */
+1661, /* ArrayIterator[Match] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MType = {
+const struct types resolution_table_array__ArrayIteratorstring_search__Match = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MType] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__Arraystring_search__Match, /* Array[Iterator#0]: Array[Match] */
+&type_array__AbstractArrayReadstring_search__Match, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Match] */
 }
 };
-/* runtime type ArrayIterator[nullable MType] */
-const struct type type_array__ArrayIteratornullable_model__MType = {
-337,
-"ArrayIterator[nullable MType]", /* class_name_string */
+/* runtime type NativeArray[Match] */
+const struct type type_array__NativeArraystring_search__Match = {
+1662,
+"NativeArray[Match]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratornullable_model__MType,
+&resolution_table_array__NativeArraystring_search__Match,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-337, /* ArrayIterator[nullable MType] */
+115, /* NativeArray[Object] */
+1662, /* NativeArray[Match] */
 },
 };
-const struct types resolution_table_array__ArrayIteratornullable_model__MType = {
+const struct types resolution_table_array__NativeArraystring_search__Match = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadnullable_model__MType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MType] */
-&type_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable MType] */
+&type_string_search__Match, /* NativeArray#0: Match */
+&type_array__NativeArraystring_search__Match, /* NativeArray[NativeArray#0]: NativeArray[Match] */
 }
 };
-/* runtime type NativeArray[MType] */
-const struct type type_array__NativeArraymodel__MType = {
-1819,
-"NativeArray[MType]", /* class_name_string */
-4,
+/* runtime type ArrayIterator[ReduceAction] */
+const struct type type_array__ArrayIteratorparser__ReduceAction = {
+-1, /*CAST DEAD*/
+"ArrayIterator[ReduceAction]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymodel__MType,
-5,
+&resolution_table_array__ArrayIteratorparser__ReduceAction,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-338, /* NativeArray[nullable MType] */
-1819, /* NativeArray[MType] */
+321, /* ArrayIterator[Object] */
+1663, /* ArrayIterator[ReduceAction] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MType = {
+const struct types resolution_table_array__ArrayIteratorparser__ReduceAction = {
 0, /* dummy */
 {
-&type_model__MType, /* NativeArray#0: MType */
-&type_array__NativeArraymodel__MType, /* NativeArray[NativeArray#0]: NativeArray[MType] */
+&type_array__Arrayparser__ReduceAction, /* Array[Iterator#0]: Array[ReduceAction] */
+&type_array__AbstractArrayReadparser__ReduceAction, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ReduceAction] */
 }
 };
-/* runtime type NativeArray[nullable MType] */
-const struct type type_array__NativeArraynullable_model__MType = {
-338,
-"NativeArray[nullable MType]", /* class_name_string */
+/* runtime type NativeArray[ReduceAction] */
+const struct type type_array__NativeArrayparser__ReduceAction = {
+1664,
+"NativeArray[ReduceAction]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_model__MType,
+&resolution_table_array__NativeArrayparser__ReduceAction,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-338, /* NativeArray[nullable MType] */
+115, /* NativeArray[Object] */
+1664, /* NativeArray[ReduceAction] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_model__MType = {
+const struct types resolution_table_array__NativeArrayparser__ReduceAction = {
 0, /* dummy */
 {
-&type_nullable_model__MType, /* NativeArray#0: nullable MType */
-&type_array__NativeArraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable MType] */
+&type_parser__ReduceAction, /* NativeArray#0: ReduceAction */
+&type_array__NativeArrayparser__ReduceAction, /* NativeArray[NativeArray#0]: NativeArray[ReduceAction] */
 }
 };
-/* runtime type IteratorRange[Int] */
-const struct type type_range__IteratorRangekernel__Int = {
-339,
-"IteratorRange[Int]", /* class_name_string */
-2,
+/* runtime type Array[AFormaldef] */
+const struct type type_array__Arrayparser_nodes__AFormaldef = {
+2850,
+"Array[AFormaldef]", /* class_name_string */
+13,
 0,
-&resolution_table_range__IteratorRangekernel__Int,
-3,
+&resolution_table_array__Arrayparser_nodes__AFormaldef,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-339, /* IteratorRange[Int] */
+1871, /* Collection[Prod] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2056, /* Collection[AFormaldef] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2788, /* AbstractArrayRead[AFormaldef] */
+2664, /* Array[ANode] */
+2665, /* AbstractArrayRead[Prod] */
+2850, /* Array[AFormaldef] */
+2802, /* Array[Prod] */
 },
 };
-const struct types resolution_table_range__IteratorRangekernel__Int = {
+const struct types resolution_table_array__Arrayparser_nodes__AFormaldef = {
 0, /* dummy */
 {
-&type_kernel__Int, /* IteratorRange#0: Int */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
-&type_range__Rangekernel__Int, /* Range[IteratorRange#0]: Range[Int] */
+&type_array__Arrayparser_nodes__AFormaldef, /* Array[Array#0]: Array[AFormaldef] */
+&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[Array#0]: NativeArray[AFormaldef] */
+&type_parser_nodes__AFormaldef, /* Sequence#0: AFormaldef */
+&type_parser_nodes__AFormaldef, /* SimpleCollection#0: AFormaldef */
+&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[Array#0]: Collection[AFormaldef] */
+&type_parser_nodes__AFormaldef, /* Array#0: AFormaldef */
+&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[ArrayCapable#0]: NativeArray[AFormaldef] */
+&type_parser_nodes__AFormaldef, /* AbstractArray#0: AFormaldef */
+&type_parser_nodes__AFormaldef, /* RemovableCollection#0: AFormaldef */
+&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[Sequence#0]: Collection[AFormaldef] */
+&type_array__Arrayparser_nodes__AFormaldef, /* Array[Sequence#0]: Array[AFormaldef] */
+&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[SimpleCollection#0]: Collection[AFormaldef] */
+&type_parser_nodes__AFormaldef, /* Collection#0: AFormaldef */
+&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[Collection#0]: Collection[AFormaldef] */
+&type_parser_nodes__AFormaldef, /* SequenceRead#0: AFormaldef */
+&type_parser_nodes__AFormaldef, /* AbstractArrayRead#0: AFormaldef */
+&type_array__Arrayparser_nodes__AFormaldef, /* Array[AbstractArrayRead#0]: Array[AFormaldef] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AFormaldef] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AFormaldef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AFormaldef] */
 }
 };
-/* runtime type ListNode[MClassType] */
-const struct type type_list__ListNodemodel__MClassType = {
-2466,
-"ListNode[MClassType]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[AFormaldef] */
+const struct type type_array__AbstractArrayReadparser_nodes__AFormaldef = {
+2788,
+"AbstractArrayRead[AFormaldef]", /* class_name_string */
+10,
 0,
-&resolution_table_list__ListNodemodel__MClassType,
-11,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[ASuperclass] */
+const struct type type_array__Arrayparser_nodes__ASuperclass = {
+2851,
+"Array[ASuperclass]", /* class_name_string */
+13,
+0,
+&resolution_table_array__Arrayparser_nodes__ASuperclass,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-2358, /* Container[MClassType] */
-2466, /* ListNode[MClassType] */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1916, /* Collection[MClassType] */
+1871, /* Collection[Prod] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2057, /* Collection[ASuperclass] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2789, /* AbstractArrayRead[ASuperclass] */
+2664, /* Array[ANode] */
+2665, /* AbstractArrayRead[Prod] */
+2851, /* Array[ASuperclass] */
+2802, /* Array[Prod] */
 },
 };
-const struct types resolution_table_list__ListNodemodel__MClassType = {
+const struct types resolution_table_array__Arrayparser_nodes__ASuperclass = {
 0, /* dummy */
 {
-&type_model__MClassType, /* ListNode#0: MClassType */
-&type_list__ListNodemodel__MClassType, /* ListNode[ListNode#0]: ListNode[MClassType] */
-&type_abstract_collection__ContainerIteratormodel__MClassType, /* ContainerIterator[Container#0]: ContainerIterator[MClassType] */
-&type_model__MClassType, /* Container#0: MClassType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_array__Arrayparser_nodes__ASuperclass, /* Array[Array#0]: Array[ASuperclass] */
+&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[Array#0]: NativeArray[ASuperclass] */
+&type_parser_nodes__ASuperclass, /* Sequence#0: ASuperclass */
+&type_parser_nodes__ASuperclass, /* SimpleCollection#0: ASuperclass */
+&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[Array#0]: Collection[ASuperclass] */
+&type_parser_nodes__ASuperclass, /* Array#0: ASuperclass */
+&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[ArrayCapable#0]: NativeArray[ASuperclass] */
+&type_parser_nodes__ASuperclass, /* AbstractArray#0: ASuperclass */
+&type_parser_nodes__ASuperclass, /* RemovableCollection#0: ASuperclass */
+&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[Sequence#0]: Collection[ASuperclass] */
+&type_array__Arrayparser_nodes__ASuperclass, /* Array[Sequence#0]: Array[ASuperclass] */
+&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[SimpleCollection#0]: Collection[ASuperclass] */
+&type_parser_nodes__ASuperclass, /* Collection#0: ASuperclass */
+&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[Collection#0]: Collection[ASuperclass] */
+&type_parser_nodes__ASuperclass, /* SequenceRead#0: ASuperclass */
+&type_parser_nodes__ASuperclass, /* AbstractArrayRead#0: ASuperclass */
+&type_array__Arrayparser_nodes__ASuperclass, /* Array[AbstractArrayRead#0]: Array[ASuperclass] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ASuperclass] not a live type) */
+&type_array__ArrayIteratorparser_nodes__ASuperclass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ASuperclass] */
 }
 };
-/* runtime type Container[MClassType] */
-const struct type type_abstract_collection__Containermodel__MClassType = {
-2358,
-"Container[MClassType]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[ASuperclass] */
+const struct type type_array__AbstractArrayReadparser_nodes__ASuperclass = {
+2789,
+"AbstractArrayRead[ASuperclass]", /* class_name_string */
+10,
 0,
-NULL,
-11,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[MMethod] */
+const struct type type_array__ArrayIteratormodel__MMethod = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MMethod]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratormodel__MMethod,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-2358, /* Container[MClassType] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1916, /* Collection[MClassType] */
+321, /* ArrayIterator[Object] */
+332, /* ArrayIterator[nullable MProperty] */
+1524, /* ArrayIterator[PropertyLayoutElement] */
+2095, /* ArrayIterator[MProperty] */
+2424, /* ArrayIterator[MMethod] */
 },
 };
-/* runtime type ListIterator[MClassType] */
-const struct type type_list__ListIteratormodel__MClassType = {
-340,
-"ListIterator[MClassType]", /* class_name_string */
-2,
+const struct types resolution_table_array__ArrayIteratormodel__MMethod = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MMethod, /* Array[Iterator#0]: Array[MMethod] */
+&type_array__AbstractArrayReadmodel__MMethod, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethod] */
+}
+};
+/* runtime type NativeArray[MMethod] */
+const struct type type_array__NativeArraymodel__MMethod = {
+2425,
+"NativeArray[MMethod]", /* class_name_string */
+6,
+0,
+&resolution_table_array__NativeArraymodel__MMethod,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+115, /* NativeArray[Object] */
+333, /* NativeArray[nullable MProperty] */
+1525, /* NativeArray[PropertyLayoutElement] */
+2096, /* NativeArray[MProperty] */
+2425, /* NativeArray[MMethod] */
+},
+};
+const struct types resolution_table_array__NativeArraymodel__MMethod = {
+0, /* dummy */
+{
+&type_model__MMethod, /* NativeArray#0: MMethod */
+&type_array__NativeArraymodel__MMethod, /* NativeArray[NativeArray#0]: NativeArray[MMethod] */
+}
+};
+/* runtime type HashMap2[MModule, MType, Array[MMethodDef]] */
+const struct type type_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"HashMap2[MModule, MType, Array[MMethodDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__ListIteratormodel__MClassType,
+&resolution_table_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-340, /* ListIterator[MClassType] */
+437, /* HashMap2[MModule, MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_list__ListIteratormodel__MClassType = {
+const struct types resolution_table_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_model__MClassType, /* ListIterator#0: MClassType */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
-&type_list__Listmodel__MClassType, /* List[ListIterator#0]: List[MClassType] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_mmodule__MModule, /* HashMap2#0: MModule */
+&type_model__MType, /* HashMap2#1: MType */
+&type_array__Arraymodel__MMethodDef, /* HashMap2#2: Array[MMethodDef] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MType, Array[MMethodDef]] */
+}
+};
+/* runtime type ArrayIterator[MParameter] */
+const struct type type_array__ArrayIteratormodel__MParameter = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MParameter]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratormodel__MParameter,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+321, /* ArrayIterator[Object] */
+1665, /* ArrayIterator[MParameter] */
+},
+};
+const struct types resolution_table_array__ArrayIteratormodel__MParameter = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MParameter, /* Array[Iterator#0]: Array[MParameter] */
+&type_array__AbstractArrayReadmodel__MParameter, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MParameter] */
 }
 };
-/* runtime type HashMapKeys[String, Int] */
-const struct type type_hash_collection__HashMapKeysstring__Stringkernel__Int = {
-1820,
-"HashMapKeys[String, Int]", /* class_name_string */
+/* runtime type NativeArray[MParameter] */
+const struct type type_array__NativeArraymodel__MParameter = {
+1666,
+"NativeArray[MParameter]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringkernel__Int,
-5,
+&resolution_table_array__NativeArraymodel__MParameter,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+115, /* NativeArray[Object] */
+1666, /* NativeArray[MParameter] */
+},
+};
+const struct types resolution_table_array__NativeArraymodel__MParameter = {
+0, /* dummy */
+{
+&type_model__MParameter, /* NativeArray#0: MParameter */
+&type_array__NativeArraymodel__MParameter, /* NativeArray[NativeArray#0]: NativeArray[MParameter] */
+}
+};
+/* runtime type HashMapKeys[String, Variable] */
+const struct type type_hash_collection__HashMapKeysstring__Stringscope__Variable = {
+-1, /*CAST DEAD*/
+"HashMapKeys[String, Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysstring__Stringscope__Variable,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-595, /* Collection[String] */
-1820, /* HashMapKeys[String, Int] */
-164, /* Collection[Object] */
+2164, /* HashMapKeys[String, Variable] */
+-1, /* empty */
+92, /* Collection[Object] */
+652, /* Collection[Streamable] */
+1870, /* Collection[String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringkernel__Int = {
+const struct types resolution_table_hash_collection__HashMapKeysstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Int] */
-&type_abstract_collection__MapKeysIteratorstring__Stringkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Int] */
+&type_hash_collection__HashMapstring__Stringscope__Variable, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Variable] */
+&type_abstract_collection__MapKeysIteratorstring__Stringscope__Variable, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Variable] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -275,1069 +410,967 @@ NULL, /* empty */
 &type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
 }
 };
-/* runtime type HashMapValues[String, Int] */
-const struct type type_hash_collection__HashMapValuesstring__Stringkernel__Int = {
-1821,
-"HashMapValues[String, Int]", /* class_name_string */
-3,
+/* runtime type HashMapValues[String, Variable] */
+const struct type type_hash_collection__HashMapValuesstring__Stringscope__Variable = {
+-1, /*CAST DEAD*/
+"HashMapValues[String, Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringkernel__Int,
+&resolution_table_hash_collection__HashMapValuesstring__Stringscope__Variable,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1821, /* HashMapValues[String, Int] */
-164, /* Collection[Object] */
+700, /* Collection[Variable] */
+1950, /* HashMapValues[String, Variable] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringkernel__Int = {
+const struct types resolution_table_hash_collection__HashMapValuesstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Int] */
-&type_abstract_collection__MapValuesIteratorstring__Stringkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Int] */
+&type_hash_collection__HashMapstring__Stringscope__Variable, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Variable] */
+&type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Variable] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
+&type_scope__Variable, /* RemovableCollection#0: Variable */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_scope__Variable, /* Collection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[String, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringkernel__Int = {
-341,
-"NativeArray[nullable HashMapNode[String, Int]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[String, Variable]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
+438,
+"NativeArray[nullable HashMapNode[String, Variable]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringkernel__Int,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-341, /* NativeArray[nullable HashMapNode[String, Int]] */
+438, /* NativeArray[nullable HashMapNode[String, Variable]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringkernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringkernel__Int, /* NativeArray#0: nullable HashMapNode[String, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Int]] */
+&type_nullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray#0: nullable HashMapNode[String, Variable] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Variable]] */
 }
 };
-/* runtime type HashMapNode[String, Int] */
-const struct type type_hash_collection__HashMapNodestring__Stringkernel__Int = {
-1504,
-"HashMapNode[String, Int]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapNodestring__Stringkernel__Int,
+/* runtime type HashMapNode[String, Variable] */
+const struct type type_hash_collection__HashMapNodestring__Stringscope__Variable = {
+1667,
+"HashMapNode[String, Variable]", /* class_name_string */
+3,
+0,
+&resolution_table_hash_collection__HashMapNodestring__Stringscope__Variable,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-125, /* nullable HashMapNode[String, Int] */
-1504, /* HashMapNode[String, Int] */
+61, /* nullable HashMapNode[String, Variable] */
+1667, /* HashMapNode[String, Variable] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringkernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodestring__Stringscope__Variable = {
 0, /* dummy */
 {
 &type_string__String, /* HashMapNode#0: String */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodestring__Stringkernel__Int, /* N: HashMapNode[String, Int] */
+&type_scope__Variable, /* HashMapNode#1: Variable */
+&type_nullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* nullable N: nullable HashMapNode[String, Variable] */
 &type_string__String, /* HashNode#0: String */
 }
 };
-/* runtime type nullable HashMapNode[String, Int] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringkernel__Int = {
-125,
-"nullable HashMapNode[String, Int]", /* class_name_string */
+/* runtime type nullable HashMapNode[String, Variable] */
+const struct type type_nullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
+61,
+"nullable HashMapNode[String, Variable]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringkernel__Int,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-125, /* nullable HashMapNode[String, Int] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringkernel__Int = {
-0, /* dummy */
-{
-&type_string__String, /* HashMapNode#0: String */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodestring__Stringkernel__Int, /* N: HashMapNode[String, Int] */
-&type_string__String, /* HashNode#0: String */
-}
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapIterator[String, Int] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringkernel__Int = {
-1505,
-"HashMapIterator[String, Int]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[String, Variable] */
+const struct type type_hash_collection__HashMapIteratorstring__Stringscope__Variable = {
+-1, /*CAST DEAD*/
+"HashMapIterator[String, Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringkernel__Int,
+&resolution_table_hash_collection__HashMapIteratorstring__Stringscope__Variable,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-342, /* MapIterator[String, Int] */
-1505, /* HashMapIterator[String, Int] */
+439, /* MapIterator[String, Variable] */
+1668, /* HashMapIterator[String, Variable] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringkernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Int] */
+&type_hash_collection__HashMapstring__Stringscope__Variable, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Variable] */
 }
 };
-/* runtime type MapIterator[String, Int] */
-const struct type type_abstract_collection__MapIteratorstring__Stringkernel__Int = {
-342,
-"MapIterator[String, Int]", /* class_name_string */
+/* runtime type MapIterator[String, Variable] */
+const struct type type_abstract_collection__MapIteratorstring__Stringscope__Variable = {
+439,
+"MapIterator[String, Variable]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-342, /* MapIterator[String, Int] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMap[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass = {
-1506,
-"HashMap[MClass, Array[MClass]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[Variable, nullable MType] */
+const struct type type_hash_collection__HashMapKeysscope__Variablenullable_model__MType = {
+-1, /*CAST DEAD*/
+"HashMapKeys[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass,
-4,
+&resolution_table_hash_collection__HashMapKeysscope__Variablenullable_model__MType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-234, /* HashMap[MClass, Array[nullable MClass]] */
-1506, /* HashMap[MClass, Array[MClass]] */
+700, /* Collection[Variable] */
+1951, /* HashMapKeys[Variable, nullable MType] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapKeysscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapscope__Variablenullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Variable, nullable MType] */
+&type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Variable, nullable MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Array[MClass]] */
-&type_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Array[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Array[MClass]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_array__Arraymodel__MClass, /* Map#1: Array[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Array[MClass]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, Array[MClass]] not a live type) */
-&type_array__Arraymodel__MClass, /* MapRead#1: Array[MClass] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* HashCollection#1: HashMapNode[MClass, Array[MClass]] */
-}
-};
-/* runtime type Layout[MClass] */
-const struct type type_layout_builders__Layoutmodel__MClass = {
-343,
-"Layout[MClass]", /* class_name_string */
-2,
-0,
-&resolution_table_layout_builders__Layoutmodel__MClass,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-343, /* Layout[MClass] */
-},
-};
-const struct types resolution_table_layout_builders__Layoutmodel__MClass = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[Layout#0, Int]: HashMap[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[Layout#0, Int]: Map[MClass, Int] */
-}
-};
-/* runtime type HashMap[MClass, HashSet[MClass]] */
-const struct type type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass = {
-1822,
-"HashMap[MClass, HashSet[MClass]]", /* class_name_string */
-4,
-0,
-&resolution_table_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-344, /* Map[MClass, Set[MClass]] */
-1507, /* HashMap[MClass, Set[MClass]] */
-1822, /* HashMap[MClass, HashSet[MClass]] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass = {
-0, /* dummy */
-{
 NULL, /* empty */
 NULL, /* empty */
+&type_scope__Variable, /* RemovableCollection#0: Variable */
+NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, HashSet[MClass]] */
-&type_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, HashSet[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, HashSet[MClass]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_hash_collection__HashSetmodel__MClass, /* Map#1: HashSet[MClass] */
-&type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, HashSet[MClass]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, HashSet[MClass]] not a live type) */
-&type_hash_collection__HashSetmodel__MClass, /* MapRead#1: HashSet[MClass] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* HashCollection#1: HashMapNode[MClass, HashSet[MClass]] */
+&type_scope__Variable, /* Collection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
 }
 };
-/* runtime type HashMap[MClass, Set[MClass]] */
-const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass = {
-1507,
-"HashMap[MClass, Set[MClass]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[Variable, nullable MType] */
+const struct type type_hash_collection__HashMapValuesscope__Variablenullable_model__MType = {
+-1, /*CAST DEAD*/
+"HashMapValues[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass,
-4,
+&resolution_table_hash_collection__HashMapValuesscope__Variablenullable_model__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-344, /* Map[MClass, Set[MClass]] */
-1507, /* HashMap[MClass, Set[MClass]] */
+1669, /* HashMapValues[Variable, nullable MType] */
+-1, /* empty */
+-1, /* empty */
+101, /* Collection[nullable MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapValuesscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
+&type_hash_collection__HashMapscope__Variablenullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Variable, nullable MType] */
+&type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Variable, nullable MType] */
+NULL, /* empty */
+NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Set[MClass]] */
-&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Set[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Set[MClass]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_abstract_collection__Setmodel__MClass, /* Map#1: Set[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Set[MClass]] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass, /* Map[Map#0, Map#1]: Map[MClass, Set[MClass]] */
-&type_abstract_collection__Setmodel__MClass, /* MapRead#1: Set[MClass] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* HashCollection#1: HashMapNode[MClass, Set[MClass]] */
+&type_nullable_model__MType, /* RemovableCollection#0: nullable MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_nullable_model__MType, /* Collection#0: nullable MType */
+&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Collection#0]: Collection[nullable MType] */
 }
 };
-/* runtime type Map[MClass, Set[MClass]] */
-const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Setmodel__MClass = {
-344,
-"Map[MClass, Set[MClass]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
+440,
+"NativeArray[nullable HashMapNode[Variable, nullable MType]]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-344, /* Map[MClass, Set[MClass]] */
+440, /* NativeArray[nullable HashMapNode[Variable, nullable MType]] */
 },
 };
-/* runtime type PHLayout[MClass, MClass] */
-const struct type type_layout_builders__PHLayoutmodel__MClassmodel__MClass = {
-1508,
-"PHLayout[MClass, MClass]", /* class_name_string */
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray#0: nullable HashMapNode[Variable, nullable MType] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+}
+};
+/* runtime type HashMapNode[Variable, nullable MType] */
+const struct type type_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
+1670,
+"HashMapNode[Variable, nullable MType]", /* class_name_string */
 3,
 0,
-&resolution_table_layout_builders__PHLayoutmodel__MClassmodel__MClass,
+&resolution_table_hash_collection__HashMapNodescope__Variablenullable_model__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-343, /* Layout[MClass] */
-1508, /* PHLayout[MClass, MClass] */
+62, /* nullable HashMapNode[Variable, nullable MType] */
+1670, /* HashMapNode[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_layout_builders__PHLayoutmodel__MClassmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[Layout#0, Int]: HashMap[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[Layout#0, Int]: Map[MClass, Int] */
-&type_hash_collection__HashMapmodel__MClasskernel__Int, /* HashMap[PHLayout#0, Int]: HashMap[MClass, Int] */
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[PHLayout#0, Map[PHLayout#1, Int]]: HashMap[MClass, Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map[PHLayout#0, Int]: Map[MClass, Int] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* Map[PHLayout#0, Map[PHLayout#1, Int]]: Map[MClass, Map[MClass, Int]] */
+&type_scope__Variable, /* HashMapNode#0: Variable */
+&type_nullable_model__MType, /* HashMapNode#1: nullable MType */
+&type_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* nullable N: nullable HashMapNode[Variable, nullable MType] */
+&type_scope__Variable, /* HashNode#0: Variable */
 }
 };
-/* runtime type HashMap[MClass, Map[MClass, Int]] */
-const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-1509,
-"HashMap[MClass, Map[MClass, Int]]", /* class_name_string */
-3,
+/* runtime type nullable HashMapNode[Variable, nullable MType] */
+const struct type type_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
+62,
+"nullable HashMapNode[Variable, nullable MType]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[Variable, nullable MType] */
+const struct type type_hash_collection__HashMapIteratorscope__Variablenullable_model__MType = {
+-1, /*CAST DEAD*/
+"HashMapIterator[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+&resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_model__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-345, /* Map[MClass, Map[MClass, Int]] */
-1509, /* HashMap[MClass, Map[MClass, Int]] */
+441, /* MapIterator[Variable, nullable MType] */
+1671, /* HashMapIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, Map[MClass, Int]] */
-&type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, Map[MClass, Int]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, Map[MClass, Int]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Map#1: Map[MClass, Int] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* Map[Map#0, Map#1]: Map[MClass, Map[MClass, Int]] */
-&type_abstract_collection__Mapmodel__MClasskernel__Int, /* MapRead#1: Map[MClass, Int] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashCollection#1: HashMapNode[MClass, Map[MClass, Int]] */
+&type_hash_collection__HashMapscope__Variablenullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Variable, nullable MType] */
 }
 };
-/* runtime type Map[MClass, Map[MClass, Int]] */
-const struct type type_abstract_collection__Mapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
-345,
-"Map[MClass, Map[MClass, Int]]", /* class_name_string */
+/* runtime type MapIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapIteratorscope__Variablenullable_model__MType = {
+441,
+"MapIterator[Variable, nullable MType]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-345, /* Map[MClass, Map[MClass, Int]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapKeys[MClass, Set[MVirtualTypeProp]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-2467,
-"HashMapKeys[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-7,
+/* runtime type HashMapKeys[Variable, nullable Array[nullable MType]] */
+const struct type type_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"HashMapKeys[Variable, nullable Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-8,
+&resolution_table_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2066, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
-2352, /* HashMapKeys[MClass, Set[MProperty]] */
-2467, /* HashMapKeys[MClass, Set[MVirtualTypeProp]] */
+700, /* Collection[Variable] */
+1952, /* HashMapKeys[Variable, nullable Array[nullable MType]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MVirtualTypeProp]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+&type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Variable, nullable Array[nullable MType]] */
+&type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Variable, nullable Array[nullable MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
+&type_scope__Variable, /* RemovableCollection#0: Variable */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_scope__Variable, /* Collection#0: Variable */
+&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
 }
 };
-/* runtime type HashMapValues[MClass, Set[MVirtualTypeProp]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-2507,
-"HashMapValues[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-8,
+/* runtime type HashMapValues[Variable, nullable Array[nullable MType]] */
+const struct type type_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"HashMapValues[Variable, nullable Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-9,
+&resolution_table_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-1795, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-2353, /* HashMapValues[MClass, Set[MProperty]] */
-2087, /* Collection[Set[MVirtualTypeProp]] */
-2507, /* HashMapValues[MClass, Set[MVirtualTypeProp]] */
+370, /* Collection[nullable Array[nullable MType]] */
+1672, /* HashMapValues[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MVirtualTypeProp]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+&type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Variable, nullable Array[nullable MType]] */
+&type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Variable, nullable Array[nullable MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* RemovableCollection#0: Set[MVirtualTypeProp] */
+&type_nullable_array__Arraynullable_model__MType, /* RemovableCollection#0: nullable Array[nullable MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* Collection#0: Set[MVirtualTypeProp] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[Set[MVirtualTypeProp]] */
+&type_nullable_array__Arraynullable_model__MType, /* Collection#0: nullable Array[nullable MType] */
+&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[nullable Array[nullable MType]] */
 }
 };
-/* runtime type Collection[Set[MVirtualTypeProp]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MVirtualTypeProp = {
-2087,
-"Collection[Set[MVirtualTypeProp]]", /* class_name_string */
-7,
+/* runtime type NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
+442,
+"NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]]", /* class_name_string */
+2,
 0,
-NULL,
-8,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
--1, /* empty */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
--1, /* empty */
-2087, /* Collection[Set[MVirtualTypeProp]] */
+442, /* NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1823,
-"NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]]", /* class_name_string */
-4,
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray#0: nullable HashMapNode[Variable, nullable Array[nullable MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
+}
+};
+/* runtime type HashMapNode[Variable, nullable Array[nullable MType]] */
+const struct type type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
+1673,
+"HashMapNode[Variable, nullable Array[nullable MType]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-5,
+&resolution_table_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-1462, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-1823, /* NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
+63, /* nullable HashMapNode[Variable, nullable Array[nullable MType]] */
+1673, /* HashMapNode[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray#0: nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MVirtualTypeProp]]] */
+&type_scope__Variable, /* HashMapNode#0: Variable */
+&type_nullable_array__Arraynullable_model__MType, /* HashMapNode#1: nullable Array[nullable MType] */
+&type_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* nullable N: nullable HashMapNode[Variable, nullable Array[nullable MType]] */
+&type_scope__Variable, /* HashNode#0: Variable */
 }
 };
-/* runtime type HashMapNode[MClass, Set[MVirtualTypeProp]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-2468,
-"HashMapNode[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-7,
+/* runtime type nullable HashMapNode[Variable, nullable Array[nullable MType]] */
+const struct type type_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
+63,
+"nullable HashMapNode[Variable, nullable Array[nullable MType]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"HashMapIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-8,
+&resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-310, /* nullable HashMapNode[MClass, Set[MProperty]] */
-1463, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
-1510, /* nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
-2067, /* HashMapNode[MClass, Set[MProperty]] */
-2468, /* HashMapNode[MClass, Set[MVirtualTypeProp]] */
+443, /* MapIterator[Variable, nullable Array[nullable MType]] */
+1674, /* HashMapIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* HashMapNode#1: Set[MVirtualTypeProp] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* N: HashMapNode[MClass, Set[MVirtualTypeProp]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Variable, nullable Array[nullable MType]] */
 }
 };
-/* runtime type nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1510,
-"nullable HashMapNode[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-5,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
+/* runtime type MapIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+443,
+"MapIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetNode[MExplicitCall] */
+const struct type type_hash_collection__HashSetNodenitni_callbacks__MExplicitCall = {
+2649,
+"HashSetNode[MExplicitCall]", /* class_name_string */
 6,
+0,
+&resolution_table_hash_collection__HashSetNodenitni_callbacks__MExplicitCall,
+8,
 {
 0, /* nullable Object */
--1, /* empty */
-117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-310, /* nullable HashMapNode[MClass, Set[MProperty]] */
--1, /* empty */
-1510, /* nullable HashMapNode[MClass, Set[MVirtualTypeProp]] */
+1, /* Object */
+32, /* nullable HashSetNode[Object] */
+365, /* nullable HashSetNode[NitniCallback] */
+1549, /* HashSetNode[Object] */
+1675, /* nullable HashSetNode[MExplicitCall] */
+2649, /* HashSetNode[MExplicitCall] */
+2109, /* HashSetNode[NitniCallback] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashSetNodenitni_callbacks__MExplicitCall = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MVirtualTypeProp, /* HashMapNode#1: Set[MVirtualTypeProp] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* N: HashMapNode[MClass, Set[MVirtualTypeProp]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_nitni_callbacks__MExplicitCall, /* HashSetNode#0: MExplicitCall */
+NULL, /* empty */
+&type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall, /* nullable N: nullable HashSetNode[MExplicitCall] */
+&type_nitni_callbacks__MExplicitCall, /* HashNode#0: MExplicitCall */
 }
 };
-/* runtime type HashMapIterator[MClass, Set[MVirtualTypeProp]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-2469,
-"HashMapIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-7,
+/* runtime type nullable HashSetNode[MExplicitCall] */
+const struct type type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall = {
+1675,
+"nullable HashSetNode[MExplicitCall]", /* class_name_string */
+5,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetIterator[MExplicitCall] */
+const struct type type_hash_collection__HashSetIteratornitni_callbacks__MExplicitCall = {
+-1, /*CAST DEAD*/
+"HashSetIterator[MExplicitCall]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
-8,
+&resolution_table_hash_collection__HashSetIteratornitni_callbacks__MExplicitCall,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
-1464, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-1465, /* MapIterator[MClass, Set[MProperty]] */
-1824, /* MapIterator[MClass, Set[MVirtualTypeProp]] */
-2068, /* HashMapIterator[MClass, Set[MProperty]] */
-2469, /* HashMapIterator[MClass, Set[MVirtualTypeProp]] */
+356, /* HashSetIterator[Object] */
+1564, /* HashSetIterator[NitniCallback] */
+1953, /* HashSetIterator[MExplicitCall] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashSetIteratornitni_callbacks__MExplicitCall = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MVirtualTypeProp]] */
+&type_array__Arraynitni_callbacks__MExplicitCall, /* Array[Iterator#0]: Array[MExplicitCall] */
+&type_hash_collection__HashSetnitni_callbacks__MExplicitCall, /* HashSet[HashSetIterator#0]: HashSet[MExplicitCall] */
 }
 };
-/* runtime type MapIterator[MClass, Set[MVirtualTypeProp]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
-1824,
-"MapIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashSetNode[MExplicitCall]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall = {
+1954,
+"NativeArray[nullable HashSetNode[MExplicitCall]]", /* class_name_string */
+4,
 0,
-NULL,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
--1, /* empty */
-1465, /* MapIterator[MClass, Set[MProperty]] */
-1824, /* MapIterator[MClass, Set[MVirtualTypeProp]] */
+357, /* NativeArray[nullable HashSetNode[Object]] */
+1565, /* NativeArray[nullable HashSetNode[NitniCallback]] */
+1954, /* NativeArray[nullable HashSetNode[MExplicitCall]] */
 },
 };
-/* runtime type HashSetNode[MVirtualTypeProp] */
-const struct type type_hash_collection__HashSetNodemodel__MVirtualTypeProp = {
-2550,
-"HashSetNode[MVirtualTypeProp]", /* class_name_string */
-9,
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall, /* NativeArray#0: nullable HashSetNode[MExplicitCall] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCall, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MExplicitCall]] */
+}
+};
+/* runtime type HashSetNode[MExplicitSuper] */
+const struct type type_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper = {
+2650,
+"HashSetNode[MExplicitSuper]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MVirtualTypeProp,
-10,
+&resolution_table_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[PropertyLayoutElement] */
-1456, /* HashSetNode[Object] */
-1478, /* nullable HashSetNode[MProperty] */
-1825, /* nullable HashSetNode[MVirtualTypeProp] */
-2071, /* HashSetNode[PropertyLayoutElement] */
-2459, /* HashSetNode[MProperty] */
-2550, /* HashSetNode[MVirtualTypeProp] */
+32, /* nullable HashSetNode[Object] */
+365, /* nullable HashSetNode[NitniCallback] */
+1549, /* HashSetNode[Object] */
+1676, /* nullable HashSetNode[MExplicitSuper] */
+2650, /* HashSetNode[MExplicitSuper] */
+2109, /* HashSetNode[NitniCallback] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper = {
 0, /* dummy */
 {
-&type_model__MVirtualTypeProp, /* HashSetNode#0: MVirtualTypeProp */
+&type_nitni_callbacks__MExplicitSuper, /* HashSetNode#0: MExplicitSuper */
 NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* N: HashSetNode[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
+&type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper, /* nullable N: nullable HashSetNode[MExplicitSuper] */
+&type_nitni_callbacks__MExplicitSuper, /* HashNode#0: MExplicitSuper */
 }
 };
-/* runtime type nullable HashSetNode[MVirtualTypeProp] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MVirtualTypeProp = {
-1825,
-"nullable HashSetNode[MVirtualTypeProp]", /* class_name_string */
-6,
+/* runtime type nullable HashSetNode[MExplicitSuper] */
+const struct type type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper = {
+1676,
+"nullable HashSetNode[MExplicitSuper]", /* class_name_string */
+5,
 1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MVirtualTypeProp,
-7,
-{
-0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[PropertyLayoutElement] */
--1, /* empty */
-1478, /* nullable HashSetNode[MProperty] */
-1825, /* nullable HashSetNode[MVirtualTypeProp] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MVirtualTypeProp = {
-0, /* dummy */
-{
-&type_model__MVirtualTypeProp, /* HashSetNode#0: MVirtualTypeProp */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* N: HashSetNode[MVirtualTypeProp] */
-&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
-}
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSetIterator[MVirtualTypeProp] */
-const struct type type_hash_collection__HashSetIteratormodel__MVirtualTypeProp = {
-2088,
-"HashSetIterator[MVirtualTypeProp]", /* class_name_string */
-5,
+/* runtime type HashSetIterator[MExplicitSuper] */
+const struct type type_hash_collection__HashSetIteratornitni_callbacks__MExplicitSuper = {
+-1, /*CAST DEAD*/
+"HashSetIterator[MExplicitSuper]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MVirtualTypeProp,
-6,
+&resolution_table_hash_collection__HashSetIteratornitni_callbacks__MExplicitSuper,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* HashSetIterator[Object] */
-1476, /* HashSetIterator[PropertyLayoutElement] */
-1804, /* HashSetIterator[MProperty] */
-2088, /* HashSetIterator[MVirtualTypeProp] */
+356, /* HashSetIterator[Object] */
+1564, /* HashSetIterator[NitniCallback] */
+1955, /* HashSetIterator[MExplicitSuper] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MVirtualTypeProp = {
+const struct types resolution_table_hash_collection__HashSetIteratornitni_callbacks__MExplicitSuper = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MVirtualTypeProp, /* HashSet[HashSetIterator#0]: HashSet[MVirtualTypeProp] */
-&type_array__Arraymodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[MVirtualTypeProp] */
+&type_array__Arraynitni_callbacks__MExplicitSuper, /* Array[Iterator#0]: Array[MExplicitSuper] */
+&type_hash_collection__HashSetnitni_callbacks__MExplicitSuper, /* HashSet[HashSetIterator#0]: HashSet[MExplicitSuper] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MVirtualTypeProp = {
-2089,
-"NativeArray[nullable HashSetNode[MVirtualTypeProp]]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashSetNode[MExplicitSuper]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper = {
+1956,
+"NativeArray[nullable HashSetNode[MExplicitSuper]]", /* class_name_string */
+4,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MVirtualTypeProp,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1477, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-1805, /* NativeArray[nullable HashSetNode[MProperty]] */
-2089, /* NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
+357, /* NativeArray[nullable HashSetNode[Object]] */
+1565, /* NativeArray[nullable HashSetNode[NitniCallback]] */
+1956, /* NativeArray[nullable HashSetNode[MExplicitSuper]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MVirtualTypeProp = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* NativeArray#0: nullable HashSetNode[MVirtualTypeProp] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MVirtualTypeProp, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MVirtualTypeProp]] */
+&type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper, /* NativeArray#0: nullable HashSetNode[MExplicitSuper] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitSuper, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MExplicitSuper]] */
 }
 };
-/* runtime type HashMap[MVirtualTypeProp, Int] */
-const struct type type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int = {
-2090,
-"HashMap[MVirtualTypeProp, Int]", /* class_name_string */
-5,
-0,
-&resolution_table_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int,
+/* runtime type HashSetNode[MExplicitCast] */
+const struct type type_hash_collection__HashSetNodenitni_callbacks__MExplicitCast = {
+2651,
+"HashSetNode[MExplicitCast]", /* class_name_string */
 6,
+0,
+&resolution_table_hash_collection__HashSetNodenitni_callbacks__MExplicitCast,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-346, /* Map[PropertyLayoutElement, Int] */
-1511, /* HashMap[PropertyLayoutElement, Int] */
-1512, /* Map[MVirtualTypeProp, Int] */
-2090, /* HashMap[MVirtualTypeProp, Int] */
+32, /* nullable HashSetNode[Object] */
+365, /* nullable HashSetNode[NitniCallback] */
+1549, /* HashSetNode[Object] */
+1677, /* nullable HashSetNode[MExplicitCast] */
+2651, /* HashSetNode[MExplicitCast] */
+2109, /* HashSetNode[NitniCallback] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int = {
+const struct types resolution_table_hash_collection__HashSetNodenitni_callbacks__MExplicitCast = {
 0, /* dummy */
 {
+&type_nitni_callbacks__MExplicitCast, /* HashSetNode#0: MExplicitCast */
 NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MVirtualTypeProp, Int] */
-&type_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MVirtualTypeProp, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
-&type_model__MVirtualTypeProp, /* MapRead#0: MVirtualTypeProp */
-&type_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MVirtualTypeProp, Int] */
-&type_model__MVirtualTypeProp, /* Map#0: MVirtualTypeProp */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MVirtualTypeProp, Int] */
-&type_abstract_collection__Mapmodel__MVirtualTypePropkernel__Int, /* Map[Map#0, Map#1]: Map[MVirtualTypeProp, Int] */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_model__MVirtualTypeProp, /* HashCollection#0: MVirtualTypeProp */
-&type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* HashCollection#1: HashMapNode[MVirtualTypeProp, Int] */
+&type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast, /* nullable N: nullable HashSetNode[MExplicitCast] */
+&type_nitni_callbacks__MExplicitCast, /* HashNode#0: MExplicitCast */
 }
 };
-/* runtime type HashMap[PropertyLayoutElement, Int] */
-const struct type type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int = {
-1511,
-"HashMap[PropertyLayoutElement, Int]", /* class_name_string */
-3,
+/* runtime type nullable HashSetNode[MExplicitCast] */
+const struct type type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast = {
+1677,
+"nullable HashSetNode[MExplicitCast]", /* class_name_string */
+5,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetIterator[MExplicitCast] */
+const struct type type_hash_collection__HashSetIteratornitni_callbacks__MExplicitCast = {
+-1, /*CAST DEAD*/
+"HashSetIterator[MExplicitCast]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int,
-4,
+&resolution_table_hash_collection__HashSetIteratornitni_callbacks__MExplicitCast,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-346, /* Map[PropertyLayoutElement, Int] */
-1511, /* HashMap[PropertyLayoutElement, Int] */
+356, /* HashSetIterator[Object] */
+1564, /* HashSetIterator[NitniCallback] */
+1957, /* HashSetIterator[MExplicitCast] */
 },
 };
-const struct types resolution_table_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int = {
+const struct types resolution_table_hash_collection__HashSetIteratornitni_callbacks__MExplicitCast = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[PropertyLayoutElement, Int] */
-&type_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[PropertyLayoutElement, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
-&type_layout_builders__PropertyLayoutElement, /* MapRead#0: PropertyLayoutElement */
-&type_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[PropertyLayoutElement, Int] */
-&type_layout_builders__PropertyLayoutElement, /* Map#0: PropertyLayoutElement */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[PropertyLayoutElement, Int] */
-&type_abstract_collection__Maplayout_builders__PropertyLayoutElementkernel__Int, /* Map[Map#0, Map#1]: Map[PropertyLayoutElement, Int] */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_layout_builders__PropertyLayoutElement, /* HashCollection#0: PropertyLayoutElement */
-&type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* HashCollection#1: HashMapNode[PropertyLayoutElement, Int] */
+&type_array__Arraynitni_callbacks__MExplicitCast, /* Array[Iterator#0]: Array[MExplicitCast] */
+&type_hash_collection__HashSetnitni_callbacks__MExplicitCast, /* HashSet[HashSetIterator#0]: HashSet[MExplicitCast] */
 }
 };
-/* runtime type Map[MVirtualTypeProp, Int] */
-const struct type type_abstract_collection__Mapmodel__MVirtualTypePropkernel__Int = {
-1512,
-"Map[MVirtualTypeProp, Int]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[MExplicitCast]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast = {
+1958,
+"NativeArray[nullable HashSetNode[MExplicitCast]]", /* class_name_string */
 4,
 0,
-NULL,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-346, /* Map[PropertyLayoutElement, Int] */
--1, /* empty */
-1512, /* Map[MVirtualTypeProp, Int] */
-},
-};
-/* runtime type Map[PropertyLayoutElement, Int] */
-const struct type type_abstract_collection__Maplayout_builders__PropertyLayoutElementkernel__Int = {
-346,
-"Map[PropertyLayoutElement, Int]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-346, /* Map[PropertyLayoutElement, Int] */
-},
-};
-/* runtime type Layout[MVirtualTypeProp] */
-const struct type type_layout_builders__Layoutmodel__MVirtualTypeProp = {
-1513,
-"Layout[MVirtualTypeProp]", /* class_name_string */
-3,
-0,
-&resolution_table_layout_builders__Layoutmodel__MVirtualTypeProp,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-347, /* Layout[PropertyLayoutElement] */
-1513, /* Layout[MVirtualTypeProp] */
+357, /* NativeArray[nullable HashSetNode[Object]] */
+1565, /* NativeArray[nullable HashSetNode[NitniCallback]] */
+1958, /* NativeArray[nullable HashSetNode[MExplicitCast]] */
 },
 };
-const struct types resolution_table_layout_builders__Layoutmodel__MVirtualTypeProp = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[Layout#0, Int]: HashMap[MVirtualTypeProp, Int] */
-&type_abstract_collection__Mapmodel__MVirtualTypePropkernel__Int, /* Map[Layout#0, Int]: Map[MVirtualTypeProp, Int] */
+&type_nullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast, /* NativeArray#0: nullable HashSetNode[MExplicitCast] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodenitni_callbacks__MExplicitCast, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MExplicitCast]] */
 }
 };
-/* runtime type Layout[PropertyLayoutElement] */
-const struct type type_layout_builders__Layoutlayout_builders__PropertyLayoutElement = {
-347,
-"Layout[PropertyLayoutElement]", /* class_name_string */
-2,
+/* runtime type Array[MAttributeDef] */
+const struct type type_array__Arraymodel__MAttributeDef = {
+2870,
+"Array[MAttributeDef]", /* class_name_string */
+17,
 0,
-&resolution_table_layout_builders__Layoutlayout_builders__PropertyLayoutElement,
-3,
+&resolution_table_array__Arraymodel__MAttributeDef,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-347, /* Layout[PropertyLayoutElement] */
+1880, /* AbstractArrayRead[nullable MPropDef] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+124, /* Collection[nullable MPropDef] */
+646, /* Collection[PropertyLayoutElement] */
+1838, /* AbstractArrayRead[Object] */
+2048, /* Array[nullable MPropDef] */
+2029, /* Array[Object] */
+2042, /* Collection[MPropDef] */
+2239, /* AbstractArrayRead[PropertyLayoutElement] */
+2426, /* Collection[MAttributeDef] */
+2661, /* Array[PropertyLayoutElement] */
+2780, /* AbstractArrayRead[MPropDef] */
+2831, /* AbstractArrayRead[MAttributeDef] */
+2843, /* Array[MPropDef] */
+2870, /* Array[MAttributeDef] */
 },
 };
-const struct types resolution_table_layout_builders__Layoutlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_array__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[Layout#0, Int]: HashMap[PropertyLayoutElement, Int] */
-&type_abstract_collection__Maplayout_builders__PropertyLayoutElementkernel__Int, /* Map[Layout#0, Int]: Map[PropertyLayoutElement, Int] */
+&type_array__Arraymodel__MAttributeDef, /* Array[Array#0]: Array[MAttributeDef] */
+&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[Array#0]: NativeArray[MAttributeDef] */
+&type_model__MAttributeDef, /* Sequence#0: MAttributeDef */
+&type_model__MAttributeDef, /* SimpleCollection#0: MAttributeDef */
+&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[Array#0]: Collection[MAttributeDef] */
+&type_model__MAttributeDef, /* Array#0: MAttributeDef */
+&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[MAttributeDef] */
+&type_model__MAttributeDef, /* AbstractArray#0: MAttributeDef */
+&type_model__MAttributeDef, /* RemovableCollection#0: MAttributeDef */
+&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[Sequence#0]: Collection[MAttributeDef] */
+&type_array__Arraymodel__MAttributeDef, /* Array[Sequence#0]: Array[MAttributeDef] */
+&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[SimpleCollection#0]: Collection[MAttributeDef] */
+&type_model__MAttributeDef, /* Collection#0: MAttributeDef */
+&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[Collection#0]: Collection[MAttributeDef] */
+&type_model__MAttributeDef, /* SequenceRead#0: MAttributeDef */
+&type_model__MAttributeDef, /* AbstractArrayRead#0: MAttributeDef */
+&type_array__Arraymodel__MAttributeDef, /* Array[AbstractArrayRead#0]: Array[MAttributeDef] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MAttributeDef] not a live type) */
+&type_array__ArrayIteratormodel__MAttributeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MAttributeDef] */
 }
 };
-/* runtime type ArrayIterator[CodeWriter] */
-const struct type type_array__ArrayIteratorabstract_compiler__CodeWriter = {
-1514,
-"ArrayIterator[CodeWriter]", /* class_name_string */
-3,
+/* runtime type Collection[MAttributeDef] */
+const struct type type_abstract_collection__Collectionmodel__MAttributeDef = {
+2426,
+"Collection[MAttributeDef]", /* class_name_string */
+12,
 0,
-&resolution_table_array__ArrayIteratorabstract_compiler__CodeWriter,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-277, /* ArrayIterator[Object] */
-1514, /* ArrayIterator[CodeWriter] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-const struct types resolution_table_array__ArrayIteratorabstract_compiler__CodeWriter = {
-0, /* dummy */
-{
-&type_array__AbstractArrayReadabstract_compiler__CodeWriter, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[CodeWriter] */
-&type_array__Arrayabstract_compiler__CodeWriter, /* Array[Iterator#0]: Array[CodeWriter] */
-}
+/* runtime type AbstractArrayRead[MAttributeDef] */
+const struct type type_array__AbstractArrayReadmodel__MAttributeDef = {
+2831,
+"AbstractArrayRead[MAttributeDef]", /* class_name_string */
+15,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type NativeArray[CodeWriter] */
-const struct type type_array__NativeArrayabstract_compiler__CodeWriter = {
-1515,
-"NativeArray[CodeWriter]", /* class_name_string */
-3,
+/* runtime type HashMap2[MModule, MType, Array[MAttributeDef]] */
+const struct type type_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MAttributeDef = {
+-1, /*CAST DEAD*/
+"HashMap2[MModule, MType, Array[MAttributeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_compiler__CodeWriter,
-4,
+&resolution_table_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MAttributeDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1515, /* NativeArray[CodeWriter] */
+444, /* HashMap2[MModule, MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_compiler__CodeWriter = {
+const struct types resolution_table_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_abstract_compiler__CodeWriter, /* NativeArray#0: CodeWriter */
-&type_array__NativeArrayabstract_compiler__CodeWriter, /* NativeArray[NativeArray#0]: NativeArray[CodeWriter] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* HashMap2#0: MModule */
+&type_model__MType, /* HashMap2#1: MType */
+&type_array__Arraymodel__MAttributeDef, /* HashMap2#2: Array[MAttributeDef] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MType, Array[MAttributeDef]] */
 }
 };
-/* runtime type HashSetNode[String] */
-const struct type type_hash_collection__HashSetNodestring__String = {
-2091,
-"HashSetNode[String]", /* class_name_string */
-5,
+/* runtime type ArrayIterator[CCompilerOption] */
+const struct type type_array__ArrayIteratorc_compiler_options__CCompilerOption = {
+-1, /*CAST DEAD*/
+"ArrayIterator[CCompilerOption]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetNodestring__String,
-6,
+&resolution_table_array__ArrayIteratorc_compiler_options__CCompilerOption,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashSetNode[Object] */
-348, /* nullable HashSetNode[String] */
-1456, /* HashSetNode[Object] */
-2091, /* HashSetNode[String] */
+321, /* ArrayIterator[Object] */
+1678, /* ArrayIterator[CCompilerOption] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodestring__String = {
+const struct types resolution_table_array__ArrayIteratorc_compiler_options__CCompilerOption = {
 0, /* dummy */
 {
-&type_string__String, /* HashSetNode#0: String */
-NULL, /* empty */
-&type_hash_collection__HashSetNodestring__String, /* N: HashSetNode[String] */
-&type_string__String, /* HashNode#0: String */
+&type_array__Arrayc_compiler_options__CCompilerOption, /* Array[Iterator#0]: Array[CCompilerOption] */
+&type_array__AbstractArrayReadc_compiler_options__CCompilerOption, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[CCompilerOption] */
 }
 };
-/* runtime type nullable HashSetNode[String] */
-const struct type type_nullable_hash_collection__HashSetNodestring__String = {
-348,
-"nullable HashSetNode[String]", /* class_name_string */
+/* runtime type NativeArray[CCompilerOption] */
+const struct type type_array__NativeArrayc_compiler_options__CCompilerOption = {
+1679,
+"NativeArray[CCompilerOption]", /* class_name_string */
 3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodestring__String,
+0,
+&resolution_table_array__NativeArrayc_compiler_options__CCompilerOption,
 4,
 {
 0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashSetNode[Object] */
-348, /* nullable HashSetNode[String] */
+1, /* Object */
+115, /* NativeArray[Object] */
+1679, /* NativeArray[CCompilerOption] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodestring__String = {
+const struct types resolution_table_array__NativeArrayc_compiler_options__CCompilerOption = {
 0, /* dummy */
 {
-&type_string__String, /* HashSetNode#0: String */
-NULL, /* empty */
-&type_hash_collection__HashSetNodestring__String, /* N: HashSetNode[String] */
-&type_string__String, /* HashNode#0: String */
+&type_c_compiler_options__CCompilerOption, /* NativeArray#0: CCompilerOption */
+&type_array__NativeArrayc_compiler_options__CCompilerOption, /* NativeArray[NativeArray#0]: NativeArray[CCompilerOption] */
 }
 };
-/* runtime type HashSetIterator[String] */
-const struct type type_hash_collection__HashSetIteratorstring__String = {
-1516,
-"HashSetIterator[String]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[DirectCCompilerOption] */
+const struct type type_array__ArrayIteratorc_compiler_options__DirectCCompilerOption = {
+-1, /*CAST DEAD*/
+"ArrayIterator[DirectCCompilerOption]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetIteratorstring__String,
-4,
+&resolution_table_array__ArrayIteratorc_compiler_options__DirectCCompilerOption,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* HashSetIterator[Object] */
-1516, /* HashSetIterator[String] */
+321, /* ArrayIterator[Object] */
+1678, /* ArrayIterator[CCompilerOption] */
+1959, /* ArrayIterator[DirectCCompilerOption] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratorstring__String = {
+const struct types resolution_table_array__ArrayIteratorc_compiler_options__DirectCCompilerOption = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetstring__String, /* HashSet[HashSetIterator#0]: HashSet[String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arrayc_compiler_options__DirectCCompilerOption, /* Array[Iterator#0]: Array[DirectCCompilerOption] */
+&type_array__AbstractArrayReadc_compiler_options__DirectCCompilerOption, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[DirectCCompilerOption] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[String]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodestring__String = {
-1517,
-"NativeArray[nullable HashSetNode[String]]", /* class_name_string */
-3,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodestring__String,
+/* runtime type NativeArray[DirectCCompilerOption] */
+const struct type type_array__NativeArrayc_compiler_options__DirectCCompilerOption = {
+1960,
+"NativeArray[DirectCCompilerOption]", /* class_name_string */
 4,
+0,
+&resolution_table_array__NativeArrayc_compiler_options__DirectCCompilerOption,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1517, /* NativeArray[nullable HashSetNode[String]] */
+115, /* NativeArray[Object] */
+1679, /* NativeArray[CCompilerOption] */
+1960, /* NativeArray[DirectCCompilerOption] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodestring__String = {
+const struct types resolution_table_array__NativeArrayc_compiler_options__DirectCCompilerOption = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodestring__String, /* NativeArray#0: nullable HashSetNode[String] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodestring__String, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[String]] */
+&type_c_compiler_options__DirectCCompilerOption, /* NativeArray#0: DirectCCompilerOption */
+&type_array__NativeArrayc_compiler_options__DirectCCompilerOption, /* NativeArray[NativeArray#0]: NativeArray[DirectCCompilerOption] */
 }
 };
-/* runtime type HashMap[MAttribute, Int] */
-const struct type type_hash_collection__HashMapmodel__MAttributekernel__Int = {
-2092,
-"HashMap[MAttribute, Int]", /* class_name_string */
-5,
-0,
-&resolution_table_hash_collection__HashMapmodel__MAttributekernel__Int,
+/* runtime type ListNode[Int] */
+const struct type type_list__ListNodekernel__Int = {
+2427,
+"ListNode[Int]", /* class_name_string */
 6,
+0,
+&resolution_table_list__ListNodekernel__Int,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-346, /* Map[PropertyLayoutElement, Int] */
-1511, /* HashMap[PropertyLayoutElement, Int] */
-1518, /* Map[MAttribute, Int] */
-2092, /* HashMap[MAttribute, Int] */
+64, /* nullable ListNode[Int] */
+1961, /* Container[Int] */
+92, /* Collection[Object] */
+661, /* Collection[Int] */
+2427, /* ListNode[Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MAttributekernel__Int = {
+const struct types resolution_table_list__ListNodekernel__Int = {
 0, /* dummy */
 {
+&type_kernel__Int, /* ListNode#0: Int */
+&type_nullable_list__ListNodekernel__Int, /* nullable ListNode[ListNode#0]: nullable ListNode[Int] */
+&type_abstract_collection__ContainerIteratorkernel__Int, /* ContainerIterator[Container#0]: ContainerIterator[Int] */
+&type_kernel__Int, /* Container#0: Int */
+NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MAttributekernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MAttribute, Int] */
-&type_hash_collection__HashMapValuesmodel__MAttributekernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MAttribute, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MAttribute, Int]] */
-&type_model__MAttribute, /* MapRead#0: MAttribute */
-&type_hash_collection__HashMapIteratormodel__MAttributekernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MAttribute, Int] */
-&type_model__MAttribute, /* Map#0: MAttribute */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MAttribute, Int] */
-&type_abstract_collection__Mapmodel__MAttributekernel__Int, /* Map[Map#0, Map#1]: Map[MAttribute, Int] */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_model__MAttribute, /* HashCollection#0: MAttribute */
-&type_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* HashCollection#1: HashMapNode[MAttribute, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type Map[MAttribute, Int] */
-const struct type type_abstract_collection__Mapmodel__MAttributekernel__Int = {
-1518,
-"Map[MAttribute, Int]", /* class_name_string */
-4,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-346, /* Map[PropertyLayoutElement, Int] */
--1, /* empty */
-1518, /* Map[MAttribute, Int] */
-},
+/* runtime type nullable ListNode[Int] */
+const struct type type_nullable_list__ListNodekernel__Int = {
+64,
+"nullable ListNode[Int]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type Layout[MAttribute] */
-const struct type type_layout_builders__Layoutmodel__MAttribute = {
-1519,
-"Layout[MAttribute]", /* class_name_string */
+/* runtime type Container[Int] */
+const struct type type_abstract_collection__Containerkernel__Int = {
+1961,
+"Container[Int]", /* class_name_string */
 3,
 0,
-&resolution_table_layout_builders__Layoutmodel__MAttribute,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ListIterator[Int] */
+const struct type type_list__ListIteratorkernel__Int = {
+-1, /*CAST DEAD*/
+"ListIterator[Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_list__ListIteratorkernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-347, /* Layout[PropertyLayoutElement] */
-1519, /* Layout[MAttribute] */
+445, /* ListIterator[Int] */
 },
 };
-const struct types resolution_table_layout_builders__Layoutmodel__MAttribute = {
+const struct types resolution_table_list__ListIteratorkernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MAttribute, Int] */
-&type_abstract_collection__Mapmodel__MAttributekernel__Int, /* Map[Layout#0, Int]: Map[MAttribute, Int] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_kernel__Int, /* ListIterator#0: Int */
+&type_list__Listkernel__Int, /* List[ListIterator#0]: List[Int] */
 }
 };
-/* runtime type HashMapKeys[MClass, Set[MAttribute]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MAttribute = {
-2470,
-"HashMapKeys[MClass, Set[MAttribute]]", /* class_name_string */
-7,
+/* runtime type HashMapKeys[MClass, AClassdef] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MAttribute,
-8,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassparser_nodes__AClassdef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2066, /* HashMapKeys[MClass, Set[PropertyLayoutElement]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
-2352, /* HashMapKeys[MClass, Set[MProperty]] */
-2470, /* HashMapKeys[MClass, Set[MAttribute]] */
+2165, /* HashMapKeys[MClass, AClassdef] */
+-1, /* empty */
+92, /* Collection[Object] */
+99, /* Collection[nullable MClass] */
+1866, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MAttribute]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[MAttribute]] */
+&type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, AClassdef] */
+&type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, AClassdef] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -1352,3928 +1385,3513 @@ NULL, /* empty */
 &type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[MClass, Set[MAttribute]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MAttribute = {
-2508,
-"HashMapValues[MClass, Set[MAttribute]]", /* class_name_string */
-8,
+/* runtime type HashMapValues[MClass, AClassdef] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MAttribute,
-9,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassparser_nodes__AClassdef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
-1795, /* HashMapValues[MClass, Set[PropertyLayoutElement]] */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
-2353, /* HashMapValues[MClass, Set[MProperty]] */
-2093, /* Collection[Set[MAttribute]] */
-2508, /* HashMapValues[MClass, Set[MAttribute]] */
+1871, /* Collection[Prod] */
+2428, /* HashMapValues[MClass, AClassdef] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2045, /* Collection[AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MAttribute]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MAttribute]] */
+&type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, AClassdef] */
+&type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, AClassdef] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MAttribute, /* RemovableCollection#0: Set[MAttribute] */
+&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MAttribute, /* Collection#0: Set[MAttribute] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute, /* Collection[Collection#0]: Collection[Set[MAttribute]] */
+&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
+&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
 }
 };
-/* runtime type Collection[Set[MAttribute]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MAttribute = {
-2093,
-"Collection[Set[MAttribute]]", /* class_name_string */
-7,
-0,
-NULL,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-1461, /* Collection[Set[PropertyLayoutElement]] */
--1, /* empty */
-164, /* Collection[Object] */
-1796, /* Collection[Set[MProperty]] */
--1, /* empty */
-2093, /* Collection[Set[MAttribute]] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute = {
-1826,
-"NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]]", /* class_name_string */
-4,
+/* runtime type NativeArray[nullable HashMapNode[MClass, AClassdef]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
+446,
+"NativeArray[nullable HashMapNode[MClass, AClassdef]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute,
-5,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-309, /* NativeArray[nullable HashMapNode[MClass, Set[PropertyLayoutElement]]] */
-1462, /* NativeArray[nullable HashMapNode[MClass, Set[MProperty]]] */
-1826, /* NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+446, /* NativeArray[nullable HashMapNode[MClass, AClassdef]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* NativeArray#0: nullable HashMapNode[MClass, Set[MAttribute]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MAttribute]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* NativeArray#0: nullable HashMapNode[MClass, AClassdef] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, AClassdef]] */
 }
 };
-/* runtime type HashMapNode[MClass, Set[MAttribute]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute = {
-2471,
-"HashMapNode[MClass, Set[MAttribute]]", /* class_name_string */
-7,
+/* runtime type HashMapNode[MClass, AClassdef] */
+const struct type type_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
+1680,
+"HashMapNode[MClass, AClassdef]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute,
-8,
+&resolution_table_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-310, /* nullable HashMapNode[MClass, Set[MProperty]] */
-1463, /* HashMapNode[MClass, Set[PropertyLayoutElement]] */
-1520, /* nullable HashMapNode[MClass, Set[MAttribute]] */
-2067, /* HashMapNode[MClass, Set[MProperty]] */
-2471, /* HashMapNode[MClass, Set[MAttribute]] */
+65, /* nullable HashMapNode[MClass, AClassdef] */
+1680, /* HashMapNode[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
 &type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MAttribute, /* HashMapNode#1: Set[MAttribute] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* N: HashMapNode[MClass, Set[MAttribute]] */
+&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
+&type_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* nullable N: nullable HashMapNode[MClass, AClassdef] */
 &type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[MClass, Set[MAttribute]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute = {
-1520,
-"nullable HashMapNode[MClass, Set[MAttribute]]", /* class_name_string */
-5,
+/* runtime type nullable HashMapNode[MClass, AClassdef] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
+65,
+"nullable HashMapNode[MClass, AClassdef]", /* class_name_string */
+2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute,
-6,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClass, AClassdef] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassparser_nodes__AClassdef,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-117, /* nullable HashMapNode[MClass, Set[PropertyLayoutElement]] */
-310, /* nullable HashMapNode[MClass, Set[MProperty]] */
--1, /* empty */
-1520, /* nullable HashMapNode[MClass, Set[MAttribute]] */
+1, /* Object */
+447, /* MapIterator[MClass, AClassdef] */
+1681, /* HashMapIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_abstract_collection__Setmodel__MAttribute, /* HashMapNode#1: Set[MAttribute] */
-&type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MAttribute, /* N: HashMapNode[MClass, Set[MAttribute]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, AClassdef] */
 }
 };
-/* runtime type HashMapIterator[MClass, Set[MAttribute]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
-2472,
-"HashMapIterator[MClass, Set[MAttribute]]", /* class_name_string */
-7,
+/* runtime type MapIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef = {
+447,
+"MapIterator[MClass, AClassdef]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
-8,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetNode[FFILanguage] */
+const struct type type_hash_collection__HashSetNodeffi_base__FFILanguage = {
+2166,
+"HashSetNode[FFILanguage]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetNodeffi_base__FFILanguage,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
-1464, /* HashMapIterator[MClass, Set[PropertyLayoutElement]] */
-1465, /* MapIterator[MClass, Set[MProperty]] */
-1827, /* MapIterator[MClass, Set[MAttribute]] */
-2068, /* HashMapIterator[MClass, Set[MProperty]] */
-2472, /* HashMapIterator[MClass, Set[MAttribute]] */
+32, /* nullable HashSetNode[Object] */
+448, /* nullable HashSetNode[FFILanguage] */
+1549, /* HashSetNode[Object] */
+2166, /* HashSetNode[FFILanguage] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashSetNodeffi_base__FFILanguage = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MAttribute, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MAttribute]] */
+&type_ffi_base__FFILanguage, /* HashSetNode#0: FFILanguage */
+NULL, /* empty */
+&type_nullable_hash_collection__HashSetNodeffi_base__FFILanguage, /* nullable N: nullable HashSetNode[FFILanguage] */
+&type_ffi_base__FFILanguage, /* HashNode#0: FFILanguage */
 }
 };
-/* runtime type MapIterator[MClass, Set[MAttribute]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
-1827,
-"MapIterator[MClass, Set[MAttribute]]", /* class_name_string */
-5,
-0,
-NULL,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-311, /* MapIterator[MClass, Set[PropertyLayoutElement]] */
--1, /* empty */
-1465, /* MapIterator[MClass, Set[MProperty]] */
-1827, /* MapIterator[MClass, Set[MAttribute]] */
-},
-};
-/* runtime type HashSetNode[MAttribute] */
-const struct type type_hash_collection__HashSetNodemodel__MAttribute = {
-2551,
-"HashSetNode[MAttribute]", /* class_name_string */
-9,
-0,
-&resolution_table_hash_collection__HashSetNodemodel__MAttribute,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-116, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[PropertyLayoutElement] */
-1456, /* HashSetNode[Object] */
-1478, /* nullable HashSetNode[MProperty] */
-1828, /* nullable HashSetNode[MAttribute] */
-2071, /* HashSetNode[PropertyLayoutElement] */
-2459, /* HashSetNode[MProperty] */
-2551, /* HashSetNode[MAttribute] */
-},
-};
-const struct types resolution_table_hash_collection__HashSetNodemodel__MAttribute = {
-0, /* dummy */
-{
-&type_model__MAttribute, /* HashSetNode#0: MAttribute */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MAttribute, /* N: HashSetNode[MAttribute] */
-&type_model__MAttribute, /* HashNode#0: MAttribute */
-}
-};
-/* runtime type nullable HashSetNode[MAttribute] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MAttribute = {
-1828,
-"nullable HashSetNode[MAttribute]", /* class_name_string */
-6,
+/* runtime type nullable HashSetNode[FFILanguage] */
+const struct type type_nullable_hash_collection__HashSetNodeffi_base__FFILanguage = {
+448,
+"nullable HashSetNode[FFILanguage]", /* class_name_string */
+3,
 1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MAttribute,
-7,
-{
-0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashSetNode[Object] */
-316, /* nullable HashSetNode[PropertyLayoutElement] */
--1, /* empty */
-1478, /* nullable HashSetNode[MProperty] */
-1828, /* nullable HashSetNode[MAttribute] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MAttribute = {
-0, /* dummy */
-{
-&type_model__MAttribute, /* HashSetNode#0: MAttribute */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MAttribute, /* N: HashSetNode[MAttribute] */
-&type_model__MAttribute, /* HashNode#0: MAttribute */
-}
-};
-/* runtime type HashSetIterator[MAttribute] */
-const struct type type_hash_collection__HashSetIteratormodel__MAttribute = {
-2094,
-"HashSetIterator[MAttribute]", /* class_name_string */
-5,
-0,
-&resolution_table_hash_collection__HashSetIteratormodel__MAttribute,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-307, /* HashSetIterator[Object] */
-1476, /* HashSetIterator[PropertyLayoutElement] */
-1804, /* HashSetIterator[MProperty] */
-2094, /* HashSetIterator[MAttribute] */
-},
-};
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MAttribute = {
-0, /* dummy */
-{
-&type_hash_collection__HashSetmodel__MAttribute, /* HashSet[HashSetIterator#0]: HashSet[MAttribute] */
-&type_array__Arraymodel__MAttribute, /* Array[Iterator#0]: Array[MAttribute] */
-}
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type NativeArray[nullable HashSetNode[MAttribute]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MAttribute = {
-2095,
-"NativeArray[nullable HashSetNode[MAttribute]]", /* class_name_string */
-5,
+/* runtime type HashSetIterator[FFILanguage] */
+const struct type type_hash_collection__HashSetIteratorffi_base__FFILanguage = {
+-1, /*CAST DEAD*/
+"HashSetIterator[FFILanguage]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MAttribute,
-6,
+&resolution_table_hash_collection__HashSetIteratorffi_base__FFILanguage,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1477, /* NativeArray[nullable HashSetNode[PropertyLayoutElement]] */
-1805, /* NativeArray[nullable HashSetNode[MProperty]] */
-2095, /* NativeArray[nullable HashSetNode[MAttribute]] */
+356, /* HashSetIterator[Object] */
+1682, /* HashSetIterator[FFILanguage] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MAttribute = {
+const struct types resolution_table_hash_collection__HashSetIteratorffi_base__FFILanguage = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MAttribute, /* NativeArray#0: nullable HashSetNode[MAttribute] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MAttribute, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MAttribute]] */
+&type_array__Arrayffi_base__FFILanguage, /* Array[Iterator#0]: Array[FFILanguage] */
+&type_hash_collection__HashSetffi_base__FFILanguage, /* HashSet[HashSetIterator#0]: HashSet[FFILanguage] */
 }
 };
-/* runtime type ArrayIterator[RuntimeVariable] */
-const struct type type_array__ArrayIteratorabstract_compiler__RuntimeVariable = {
-1521,
-"ArrayIterator[RuntimeVariable]", /* class_name_string */
+/* runtime type NativeArray[nullable HashSetNode[FFILanguage]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodeffi_base__FFILanguage = {
+1683,
+"NativeArray[nullable HashSetNode[FFILanguage]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__ArrayIteratorabstract_compiler__RuntimeVariable,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodeffi_base__FFILanguage,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1521, /* ArrayIterator[RuntimeVariable] */
+357, /* NativeArray[nullable HashSetNode[Object]] */
+1683, /* NativeArray[nullable HashSetNode[FFILanguage]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodeffi_base__FFILanguage = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadabstract_compiler__RuntimeVariable, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[RuntimeVariable] */
-&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Iterator#0]: Array[RuntimeVariable] */
+&type_nullable_hash_collection__HashSetNodeffi_base__FFILanguage, /* NativeArray#0: nullable HashSetNode[FFILanguage] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodeffi_base__FFILanguage, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[FFILanguage]] */
 }
 };
-/* runtime type NativeArray[RuntimeVariable] */
-const struct type type_array__NativeArrayabstract_compiler__RuntimeVariable = {
-1522,
-"NativeArray[RuntimeVariable]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MProperty, APropdef] */
+const struct type type_hash_collection__HashMapKeysmodel__MPropertyparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MProperty, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayabstract_compiler__RuntimeVariable,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MPropertyparser_nodes__APropdef,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1522, /* NativeArray[RuntimeVariable] */
+100, /* Collection[nullable MProperty] */
+2429, /* HashMapKeys[MProperty, APropdef] */
+92, /* Collection[Object] */
+-1, /* empty */
+646, /* Collection[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2032, /* Collection[MProperty] */
 },
 };
-const struct types resolution_table_array__NativeArrayabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_abstract_compiler__RuntimeVariable, /* NativeArray#0: RuntimeVariable */
-&type_array__NativeArrayabstract_compiler__RuntimeVariable, /* NativeArray[NativeArray#0]: NativeArray[RuntimeVariable] */
+&type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MProperty, APropdef] */
+&type_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MProperty, APropdef] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MProperty, /* RemovableCollection#0: MProperty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MProperty, /* Collection#0: MProperty */
+&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Collection#0]: Collection[MProperty] */
 }
 };
-/* runtime type ListNode[String] */
-const struct type type_list__ListNodestring__String = {
-2096,
-"ListNode[String]", /* class_name_string */
-5,
+/* runtime type HashMapValues[MProperty, APropdef] */
+const struct type type_hash_collection__HashMapValuesmodel__MPropertyparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MProperty, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__ListNodestring__String,
-6,
+&resolution_table_hash_collection__HashMapValuesmodel__MPropertyparser_nodes__APropdef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-595, /* Collection[String] */
-1829, /* Container[String] */
-164, /* Collection[Object] */
-2096, /* ListNode[String] */
+1871, /* Collection[Prod] */
+2430, /* HashMapValues[MProperty, APropdef] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2046, /* Collection[APropdef] */
 },
 };
-const struct types resolution_table_list__ListNodestring__String = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_string__String, /* ListNode#0: String */
-&type_list__ListNodestring__String, /* ListNode[ListNode#0]: ListNode[String] */
-&type_abstract_collection__ContainerIteratorstring__String, /* ContainerIterator[Container#0]: ContainerIterator[String] */
-&type_string__String, /* Container#0: String */
+&type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MProperty, APropdef] */
+&type_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MProperty, APropdef] */
+NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
+&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_parser_nodes__APropdef, /* Collection#0: APropdef */
+&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
 }
 };
-/* runtime type Container[String] */
-const struct type type_abstract_collection__Containerstring__String = {
-1829,
-"Container[String]", /* class_name_string */
-3,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-595, /* Collection[String] */
-1829, /* Container[String] */
-164, /* Collection[Object] */
-},
-};
-/* runtime type ListIterator[String] */
-const struct type type_list__ListIteratorstring__String = {
-349,
-"ListIterator[String]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MProperty, APropdef]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
+449,
+"NativeArray[nullable HashMapNode[MProperty, APropdef]]", /* class_name_string */
 2,
 0,
-&resolution_table_list__ListIteratorstring__String,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-349, /* ListIterator[String] */
+449, /* NativeArray[nullable HashMapNode[MProperty, APropdef]] */
 },
 };
-const struct types resolution_table_list__ListIteratorstring__String = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_string__String, /* ListIterator#0: String */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
-&type_list__Liststring__String, /* List[ListIterator#0]: List[String] */
+&type_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* NativeArray#0: nullable HashMapNode[MProperty, APropdef] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MProperty, APropdef]] */
 }
 };
-/* runtime type ArrayIterator[MClassType] */
-const struct type type_array__ArrayIteratormodel__MClassType = {
-2097,
-"ArrayIterator[MClassType]", /* class_name_string */
-5,
+/* runtime type HashMapNode[MProperty, APropdef] */
+const struct type type_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
+1684,
+"HashMapNode[MProperty, APropdef]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratormodel__MClassType,
-6,
+&resolution_table_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-337, /* ArrayIterator[nullable MType] */
-1818, /* ArrayIterator[MType] */
-2097, /* ArrayIterator[MClassType] */
+66, /* nullable HashMapNode[MProperty, APropdef] */
+1684, /* HashMapNode[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MClassType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_model__MProperty, /* HashMapNode#0: MProperty */
+&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
+&type_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* nullable N: nullable HashMapNode[MProperty, APropdef] */
+&type_model__MProperty, /* HashNode#0: MProperty */
 }
 };
-/* runtime type NativeArray[MClassType] */
-const struct type type_array__NativeArraymodel__MClassType = {
-2098,
-"NativeArray[MClassType]", /* class_name_string */
-5,
-0,
-&resolution_table_array__NativeArraymodel__MClassType,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-185, /* NativeArray[Object] */
-338, /* NativeArray[nullable MType] */
-1819, /* NativeArray[MType] */
-2098, /* NativeArray[MClassType] */
-},
-};
-const struct types resolution_table_array__NativeArraymodel__MClassType = {
-0, /* dummy */
-{
-&type_model__MClassType, /* NativeArray#0: MClassType */
-&type_array__NativeArraymodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[MClassType] */
-}
+/* runtime type nullable HashMapNode[MProperty, APropdef] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
+66,
+"nullable HashMapNode[MProperty, APropdef]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMap[MType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1523,
-"HashMap[MType, Map[MType, Int]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MProperty, APropdef] */
+const struct type type_hash_collection__HashMapIteratormodel__MPropertyparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MProperty, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+&resolution_table_hash_collection__HashMapIteratormodel__MPropertyparser_nodes__APropdef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-350, /* Map[MType, Map[MType, Int]] */
-1523, /* HashMap[MType, Map[MType, Int]] */
+450, /* MapIterator[MProperty, APropdef] */
+1685, /* HashMapIterator[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Map[MType, Int]] */
-&type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Map[MType, Int]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Map[MType, Int]] */
-&type_model__MType, /* Map#0: MType */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map#1: Map[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* Map[Map#0, Map#1]: Map[MType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* MapRead#1: Map[MType, Int] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashCollection#1: HashMapNode[MType, Map[MType, Int]] */
+&type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MProperty, APropdef] */
 }
 };
-/* runtime type Map[MType, Map[MType, Int]] */
-const struct type type_abstract_collection__Mapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-350,
-"Map[MType, Map[MType, Int]]", /* class_name_string */
+/* runtime type MapIterator[MProperty, APropdef] */
+const struct type type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef = {
+450,
+"MapIterator[MProperty, APropdef]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-350, /* Map[MType, Map[MType, Int]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMap[MType, HashSet[MType]] */
-const struct type type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType = {
-1830,
-"HashMap[MType, HashSet[MType]]", /* class_name_string */
-4,
+/* runtime type Array[AParam] */
+const struct type type_array__Arrayparser_nodes__AParam = {
+2852,
+"Array[AParam]", /* class_name_string */
+13,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType,
-5,
+&resolution_table_array__Arrayparser_nodes__AParam,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-238, /* Map[MType, Set[MType]] */
-631, /* HashMap[MType, Set[MType]] */
-1830, /* HashMap[MType, HashSet[MType]] */
+1871, /* Collection[Prod] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2065, /* Collection[AParam] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2790, /* AbstractArrayRead[AParam] */
+2664, /* Array[ANode] */
+2665, /* AbstractArrayRead[Prod] */
+2852, /* Array[AParam] */
+2802, /* Array[Prod] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType = {
+const struct types resolution_table_array__Arrayparser_nodes__AParam = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, HashSet[MType]] */
-&type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, HashSet[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, HashSet[MType]] */
-&type_model__MType, /* Map#0: MType */
-&type_hash_collection__HashSetmodel__MType, /* Map#1: HashSet[MType] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, HashSet[MType]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, HashSet[MType]] not a live type) */
-&type_hash_collection__HashSetmodel__MType, /* MapRead#1: HashSet[MType] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* HashCollection#1: HashMapNode[MType, HashSet[MType]] */
+&type_array__Arrayparser_nodes__AParam, /* Array[Array#0]: Array[AParam] */
+&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[Array#0]: NativeArray[AParam] */
+&type_parser_nodes__AParam, /* Sequence#0: AParam */
+&type_parser_nodes__AParam, /* SimpleCollection#0: AParam */
+&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[Array#0]: Collection[AParam] */
+&type_parser_nodes__AParam, /* Array#0: AParam */
+&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[ArrayCapable#0]: NativeArray[AParam] */
+&type_parser_nodes__AParam, /* AbstractArray#0: AParam */
+&type_parser_nodes__AParam, /* RemovableCollection#0: AParam */
+&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[Sequence#0]: Collection[AParam] */
+&type_array__Arrayparser_nodes__AParam, /* Array[Sequence#0]: Array[AParam] */
+&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[SimpleCollection#0]: Collection[AParam] */
+&type_parser_nodes__AParam, /* Collection#0: AParam */
+&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[Collection#0]: Collection[AParam] */
+&type_parser_nodes__AParam, /* SequenceRead#0: AParam */
+&type_parser_nodes__AParam, /* AbstractArrayRead#0: AParam */
+&type_array__Arrayparser_nodes__AParam, /* Array[AbstractArrayRead#0]: Array[AParam] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AParam] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AParam, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AParam] */
 }
 };
-/* runtime type HashMapKeys[EscapeMark, String] */
-const struct type type_hash_collection__HashMapKeysscope__EscapeMarkstring__String = {
-1831,
-"HashMapKeys[EscapeMark, String]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[AParam] */
+const struct type type_array__AbstractArrayReadparser_nodes__AParam = {
+2790,
+"AbstractArrayRead[AParam]", /* class_name_string */
+10,
 0,
-&resolution_table_hash_collection__HashMapKeysscope__EscapeMarkstring__String,
-5,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[AExternCall] */
+const struct type type_array__Arrayparser_nodes__AExternCall = {
+2853,
+"Array[AExternCall]", /* class_name_string */
+13,
+0,
+&resolution_table_array__Arrayparser_nodes__AExternCall,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-1524, /* Collection[EscapeMark] */
-1831, /* HashMapKeys[EscapeMark, String] */
-164, /* Collection[Object] */
+1871, /* Collection[Prod] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2067, /* Collection[AExternCall] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2791, /* AbstractArrayRead[AExternCall] */
+2664, /* Array[ANode] */
+2665, /* AbstractArrayRead[Prod] */
+2853, /* Array[AExternCall] */
+2802, /* Array[Prod] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysscope__EscapeMarkstring__String = {
+const struct types resolution_table_array__Arrayparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__EscapeMarkstring__String, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[EscapeMark, String] */
-&type_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[EscapeMark, String] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__EscapeMark, /* RemovableCollection#0: EscapeMark */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__EscapeMark, /* Collection#0: EscapeMark */
-&type_abstract_collection__Collectionscope__EscapeMark, /* Collection[Collection#0]: Collection[EscapeMark] */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[Array#0]: Array[AExternCall] */
+&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[Array#0]: NativeArray[AExternCall] */
+&type_parser_nodes__AExternCall, /* Sequence#0: AExternCall */
+&type_parser_nodes__AExternCall, /* SimpleCollection#0: AExternCall */
+&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[Array#0]: Collection[AExternCall] */
+&type_parser_nodes__AExternCall, /* Array#0: AExternCall */
+&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[ArrayCapable#0]: NativeArray[AExternCall] */
+&type_parser_nodes__AExternCall, /* AbstractArray#0: AExternCall */
+&type_parser_nodes__AExternCall, /* RemovableCollection#0: AExternCall */
+&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[Sequence#0]: Collection[AExternCall] */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[Sequence#0]: Array[AExternCall] */
+&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[SimpleCollection#0]: Collection[AExternCall] */
+&type_parser_nodes__AExternCall, /* Collection#0: AExternCall */
+&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[Collection#0]: Collection[AExternCall] */
+&type_parser_nodes__AExternCall, /* SequenceRead#0: AExternCall */
+&type_parser_nodes__AExternCall, /* AbstractArrayRead#0: AExternCall */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[AbstractArrayRead#0]: Array[AExternCall] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AExternCall] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AExternCall, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AExternCall] */
 }
 };
-/* runtime type Collection[EscapeMark] */
-const struct type type_abstract_collection__Collectionscope__EscapeMark = {
-1524,
-"Collection[EscapeMark]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[AExternCall] */
+const struct type type_array__AbstractArrayReadparser_nodes__AExternCall = {
+2791,
+"AbstractArrayRead[AExternCall]", /* class_name_string */
+10,
 0,
-NULL,
-5,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[AType] */
+const struct type type_array__Arrayparser_nodes__AType = {
+2854,
+"Array[AType]", /* class_name_string */
+13,
+0,
+&resolution_table_array__Arrayparser_nodes__AType,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-1524, /* Collection[EscapeMark] */
--1, /* empty */
-164, /* Collection[Object] */
+1871, /* Collection[Prod] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2068, /* Collection[AType] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2792, /* AbstractArrayRead[AType] */
+2664, /* Array[ANode] */
+2665, /* AbstractArrayRead[Prod] */
+2854, /* Array[AType] */
+2802, /* Array[Prod] */
 },
 };
-/* runtime type HashMapValues[EscapeMark, String] */
-const struct type type_hash_collection__HashMapValuesscope__EscapeMarkstring__String = {
-1832,
-"HashMapValues[EscapeMark, String]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapValuesscope__EscapeMarkstring__String,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-595, /* Collection[String] */
-1832, /* HashMapValues[EscapeMark, String] */
-164, /* Collection[Object] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapValuesscope__EscapeMarkstring__String = {
+const struct types resolution_table_array__Arrayparser_nodes__AType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__EscapeMarkstring__String, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[EscapeMark, String] */
-&type_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[EscapeMark, String] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_array__Arrayparser_nodes__AType, /* Array[Array#0]: Array[AType] */
+&type_array__NativeArrayparser_nodes__AType, /* NativeArray[Array#0]: NativeArray[AType] */
+&type_parser_nodes__AType, /* Sequence#0: AType */
+&type_parser_nodes__AType, /* SimpleCollection#0: AType */
+&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Array#0]: Collection[AType] */
+&type_parser_nodes__AType, /* Array#0: AType */
+&type_array__NativeArrayparser_nodes__AType, /* NativeArray[ArrayCapable#0]: NativeArray[AType] */
+&type_parser_nodes__AType, /* AbstractArray#0: AType */
+&type_parser_nodes__AType, /* RemovableCollection#0: AType */
+&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Sequence#0]: Collection[AType] */
+&type_array__Arrayparser_nodes__AType, /* Array[Sequence#0]: Array[AType] */
+&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[SimpleCollection#0]: Collection[AType] */
+&type_parser_nodes__AType, /* Collection#0: AType */
+&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Collection#0]: Collection[AType] */
+&type_parser_nodes__AType, /* SequenceRead#0: AType */
+&type_parser_nodes__AType, /* AbstractArrayRead#0: AType */
+&type_array__Arrayparser_nodes__AType, /* Array[AbstractArrayRead#0]: Array[AType] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AType] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AType] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[EscapeMark, String]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodescope__EscapeMarkstring__String = {
-351,
-"NativeArray[nullable HashMapNode[EscapeMark, String]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[AType] */
+const struct type type_array__AbstractArrayReadparser_nodes__AType = {
+2792,
+"AbstractArrayRead[AType]", /* class_name_string */
+10,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__EscapeMarkstring__String,
-3,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[TId] */
+const struct type type_array__Arrayparser_nodes__TId = {
+2855,
+"Array[TId]", /* class_name_string */
+14,
+0,
+&resolution_table_array__Arrayparser_nodes__TId,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-351, /* NativeArray[nullable HashMapNode[EscapeMark, String]] */
+1892, /* Collection[Token] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2071, /* Collection[TId] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2705, /* AbstractArrayRead[Token] */
+2664, /* Array[ANode] */
+2793, /* AbstractArrayRead[TId] */
+2807, /* Array[Token] */
+2855, /* Array[TId] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__EscapeMarkstring__String = {
+const struct types resolution_table_array__Arrayparser_nodes__TId = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* NativeArray#0: nullable HashMapNode[EscapeMark, String] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[EscapeMark, String]] */
+&type_array__Arrayparser_nodes__TId, /* Array[Array#0]: Array[TId] */
+&type_array__NativeArrayparser_nodes__TId, /* NativeArray[Array#0]: NativeArray[TId] */
+&type_parser_nodes__TId, /* Sequence#0: TId */
+&type_parser_nodes__TId, /* SimpleCollection#0: TId */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Array#0]: Collection[TId] */
+&type_parser_nodes__TId, /* Array#0: TId */
+&type_array__NativeArrayparser_nodes__TId, /* NativeArray[ArrayCapable#0]: NativeArray[TId] */
+&type_parser_nodes__TId, /* AbstractArray#0: TId */
+&type_parser_nodes__TId, /* RemovableCollection#0: TId */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Sequence#0]: Collection[TId] */
+&type_array__Arrayparser_nodes__TId, /* Array[Sequence#0]: Array[TId] */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[SimpleCollection#0]: Collection[TId] */
+&type_parser_nodes__TId, /* Collection#0: TId */
+&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Collection#0]: Collection[TId] */
+&type_parser_nodes__TId, /* SequenceRead#0: TId */
+&type_parser_nodes__TId, /* AbstractArrayRead#0: TId */
+&type_array__Arrayparser_nodes__TId, /* Array[AbstractArrayRead#0]: Array[TId] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[TId] not a live type) */
+&type_array__ArrayIteratorparser_nodes__TId, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[TId] */
 }
 };
-/* runtime type HashMapNode[EscapeMark, String] */
-const struct type type_hash_collection__HashMapNodescope__EscapeMarkstring__String = {
-1525,
-"HashMapNode[EscapeMark, String]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[TId] */
+const struct type type_array__AbstractArrayReadparser_nodes__TId = {
+2793,
+"AbstractArrayRead[TId]", /* class_name_string */
+12,
 0,
-&resolution_table_hash_collection__HashMapNodescope__EscapeMarkstring__String,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[AAtArg] */
+const struct type type_array__Arrayparser_nodes__AAtArg = {
+2856,
+"Array[AAtArg]", /* class_name_string */
+13,
+0,
+&resolution_table_array__Arrayparser_nodes__AAtArg,
+15,
 {
 0, /* nullable Object */
 1, /* Object */
-126, /* nullable HashMapNode[EscapeMark, String] */
-1525, /* HashMapNode[EscapeMark, String] */
+1871, /* Collection[Prod] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2072, /* Collection[AAtArg] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2794, /* AbstractArrayRead[AAtArg] */
+2664, /* Array[ANode] */
+2665, /* AbstractArrayRead[Prod] */
+2856, /* Array[AAtArg] */
+2802, /* Array[Prod] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodescope__EscapeMarkstring__String = {
+const struct types resolution_table_array__Arrayparser_nodes__AAtArg = {
 0, /* dummy */
 {
-&type_scope__EscapeMark, /* HashMapNode#0: EscapeMark */
-&type_string__String, /* HashMapNode#1: String */
-&type_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* N: HashMapNode[EscapeMark, String] */
-&type_scope__EscapeMark, /* HashNode#0: EscapeMark */
+&type_array__Arrayparser_nodes__AAtArg, /* Array[Array#0]: Array[AAtArg] */
+&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[Array#0]: NativeArray[AAtArg] */
+&type_parser_nodes__AAtArg, /* Sequence#0: AAtArg */
+&type_parser_nodes__AAtArg, /* SimpleCollection#0: AAtArg */
+&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[Array#0]: Collection[AAtArg] */
+&type_parser_nodes__AAtArg, /* Array#0: AAtArg */
+&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[ArrayCapable#0]: NativeArray[AAtArg] */
+&type_parser_nodes__AAtArg, /* AbstractArray#0: AAtArg */
+&type_parser_nodes__AAtArg, /* RemovableCollection#0: AAtArg */
+&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[Sequence#0]: Collection[AAtArg] */
+&type_array__Arrayparser_nodes__AAtArg, /* Array[Sequence#0]: Array[AAtArg] */
+&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[SimpleCollection#0]: Collection[AAtArg] */
+&type_parser_nodes__AAtArg, /* Collection#0: AAtArg */
+&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[Collection#0]: Collection[AAtArg] */
+&type_parser_nodes__AAtArg, /* SequenceRead#0: AAtArg */
+&type_parser_nodes__AAtArg, /* AbstractArrayRead#0: AAtArg */
+&type_array__Arrayparser_nodes__AAtArg, /* Array[AbstractArrayRead#0]: Array[AAtArg] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AAtArg] not a live type) */
+&type_array__ArrayIteratorparser_nodes__AAtArg, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AAtArg] */
 }
 };
-/* runtime type nullable HashMapNode[EscapeMark, String] */
-const struct type type_nullable_hash_collection__HashMapNodescope__EscapeMarkstring__String = {
-126,
-"nullable HashMapNode[EscapeMark, String]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodescope__EscapeMarkstring__String,
-3,
+/* runtime type AbstractArrayRead[AAtArg] */
+const struct type type_array__AbstractArrayReadparser_nodes__AAtArg = {
+2794,
+"AbstractArrayRead[AAtArg]", /* class_name_string */
+10,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[TComment] */
+const struct type type_array__Arrayparser_nodes__TComment = {
+2857,
+"Array[TComment]", /* class_name_string */
+14,
+0,
+&resolution_table_array__Arrayparser_nodes__TComment,
+15,
 {
 0, /* nullable Object */
--1, /* empty */
-126, /* nullable HashMapNode[EscapeMark, String] */
+1, /* Object */
+1892, /* Collection[Token] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+653, /* Collection[ANode] */
+2074, /* Collection[TComment] */
+1838, /* AbstractArrayRead[Object] */
+2243, /* AbstractArrayRead[ANode] */
+2029, /* Array[Object] */
+2705, /* AbstractArrayRead[Token] */
+2664, /* Array[ANode] */
+2795, /* AbstractArrayRead[TComment] */
+2807, /* Array[Token] */
+2857, /* Array[TComment] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodescope__EscapeMarkstring__String = {
+const struct types resolution_table_array__Arrayparser_nodes__TComment = {
 0, /* dummy */
 {
-&type_scope__EscapeMark, /* HashMapNode#0: EscapeMark */
-&type_string__String, /* HashMapNode#1: String */
-&type_hash_collection__HashMapNodescope__EscapeMarkstring__String, /* N: HashMapNode[EscapeMark, String] */
-&type_scope__EscapeMark, /* HashNode#0: EscapeMark */
+&type_array__Arrayparser_nodes__TComment, /* Array[Array#0]: Array[TComment] */
+&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[Array#0]: NativeArray[TComment] */
+&type_parser_nodes__TComment, /* Sequence#0: TComment */
+&type_parser_nodes__TComment, /* SimpleCollection#0: TComment */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Array#0]: Collection[TComment] */
+&type_parser_nodes__TComment, /* Array#0: TComment */
+&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[ArrayCapable#0]: NativeArray[TComment] */
+&type_parser_nodes__TComment, /* AbstractArray#0: TComment */
+&type_parser_nodes__TComment, /* RemovableCollection#0: TComment */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Sequence#0]: Collection[TComment] */
+&type_array__Arrayparser_nodes__TComment, /* Array[Sequence#0]: Array[TComment] */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[SimpleCollection#0]: Collection[TComment] */
+&type_parser_nodes__TComment, /* Collection#0: TComment */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Collection#0]: Collection[TComment] */
+&type_parser_nodes__TComment, /* SequenceRead#0: TComment */
+&type_parser_nodes__TComment, /* AbstractArrayRead#0: TComment */
+&type_array__Arrayparser_nodes__TComment, /* Array[AbstractArrayRead#0]: Array[TComment] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[TComment] not a live type) */
+&type_array__ArrayIteratorparser_nodes__TComment, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[TComment] */
 }
 };
-/* runtime type HashMapIterator[EscapeMark, String] */
-const struct type type_hash_collection__HashMapIteratorscope__EscapeMarkstring__String = {
-1526,
-"HashMapIterator[EscapeMark, String]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[TComment] */
+const struct type type_array__AbstractArrayReadparser_nodes__TComment = {
+2795,
+"AbstractArrayRead[TComment]", /* class_name_string */
+12,
 0,
-&resolution_table_hash_collection__HashMapIteratorscope__EscapeMarkstring__String,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[Token] */
+const struct type type_array__ArrayIteratorparser_nodes__Token = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Token]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorparser_nodes__Token,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-352, /* MapIterator[EscapeMark, String] */
-1526, /* HashMapIterator[EscapeMark, String] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1962, /* ArrayIterator[Token] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorscope__EscapeMarkstring__String = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__Token = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__EscapeMarkstring__String, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[EscapeMark, String] */
+&type_array__Arrayparser_nodes__Token, /* Array[Iterator#0]: Array[Token] */
+&type_array__AbstractArrayReadparser_nodes__Token, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Token] */
 }
 };
-/* runtime type MapIterator[EscapeMark, String] */
-const struct type type_abstract_collection__MapIteratorscope__EscapeMarkstring__String = {
-352,
-"MapIterator[EscapeMark, String]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-352, /* MapIterator[EscapeMark, String] */
-},
-};
-/* runtime type HashMapKeys[Variable, RuntimeVariable] */
-const struct type type_hash_collection__HashMapKeysscope__Variableabstract_compiler__RuntimeVariable = {
-1833,
-"HashMapKeys[Variable, RuntimeVariable]", /* class_name_string */
-3,
+/* runtime type NativeArray[Token] */
+const struct type type_array__NativeArrayparser_nodes__Token = {
+1963,
+"NativeArray[Token]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapKeysscope__Variableabstract_compiler__RuntimeVariable,
+&resolution_table_array__NativeArrayparser_nodes__Token,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1422, /* Collection[Variable] */
-1833, /* HashMapKeys[Variable, RuntimeVariable] */
-164, /* Collection[Object] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1963, /* NativeArray[Token] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysscope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__NativeArrayparser_nodes__Token = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Variable, RuntimeVariable] */
-&type_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Variable, RuntimeVariable] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
+&type_parser_nodes__Token, /* NativeArray#0: Token */
+&type_array__NativeArrayparser_nodes__Token, /* NativeArray[NativeArray#0]: NativeArray[Token] */
 }
 };
-/* runtime type HashMapValues[Variable, RuntimeVariable] */
-const struct type type_hash_collection__HashMapValuesscope__Variableabstract_compiler__RuntimeVariable = {
-1834,
-"HashMapValues[Variable, RuntimeVariable]", /* class_name_string */
-3,
+/* runtime type Array[MVirtualTypeDef] */
+const struct type type_array__Arraymodel__MVirtualTypeDef = {
+2871,
+"Array[MVirtualTypeDef]", /* class_name_string */
+17,
 0,
-&resolution_table_hash_collection__HashMapValuesscope__Variableabstract_compiler__RuntimeVariable,
-5,
+&resolution_table_array__Arraymodel__MVirtualTypeDef,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-618, /* Collection[RuntimeVariable] */
-1834, /* HashMapValues[Variable, RuntimeVariable] */
-164, /* Collection[Object] */
+1880, /* AbstractArrayRead[nullable MPropDef] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+124, /* Collection[nullable MPropDef] */
+646, /* Collection[PropertyLayoutElement] */
+1838, /* AbstractArrayRead[Object] */
+2048, /* Array[nullable MPropDef] */
+2029, /* Array[Object] */
+2042, /* Collection[MPropDef] */
+2239, /* AbstractArrayRead[PropertyLayoutElement] */
+2431, /* Collection[MVirtualTypeDef] */
+2661, /* Array[PropertyLayoutElement] */
+2780, /* AbstractArrayRead[MPropDef] */
+2832, /* AbstractArrayRead[MVirtualTypeDef] */
+2843, /* Array[MPropDef] */
+2871, /* Array[MVirtualTypeDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesscope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Variable, RuntimeVariable] */
-&type_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Variable, RuntimeVariable] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_compiler__RuntimeVariable, /* RemovableCollection#0: RuntimeVariable */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_compiler__RuntimeVariable, /* Collection#0: RuntimeVariable */
-&type_abstract_collection__Collectionabstract_compiler__RuntimeVariable, /* Collection[Collection#0]: Collection[RuntimeVariable] */
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[Array#0]: Array[MVirtualTypeDef] */
+&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[Array#0]: NativeArray[MVirtualTypeDef] */
+&type_model__MVirtualTypeDef, /* Sequence#0: MVirtualTypeDef */
+&type_model__MVirtualTypeDef, /* SimpleCollection#0: MVirtualTypeDef */
+&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[Array#0]: Collection[MVirtualTypeDef] */
+&type_model__MVirtualTypeDef, /* Array#0: MVirtualTypeDef */
+&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualTypeDef] */
+&type_model__MVirtualTypeDef, /* AbstractArray#0: MVirtualTypeDef */
+&type_model__MVirtualTypeDef, /* RemovableCollection#0: MVirtualTypeDef */
+&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[Sequence#0]: Collection[MVirtualTypeDef] */
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[Sequence#0]: Array[MVirtualTypeDef] */
+&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeDef] */
+&type_model__MVirtualTypeDef, /* Collection#0: MVirtualTypeDef */
+&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[MVirtualTypeDef] */
+&type_model__MVirtualTypeDef, /* SequenceRead#0: MVirtualTypeDef */
+&type_model__MVirtualTypeDef, /* AbstractArrayRead#0: MVirtualTypeDef */
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[AbstractArrayRead#0]: Array[MVirtualTypeDef] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualTypeDef] not a live type) */
+&type_array__ArrayIteratormodel__MVirtualTypeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualTypeDef] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[Variable, RuntimeVariable]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable = {
-353,
-"NativeArray[nullable HashMapNode[Variable, RuntimeVariable]]", /* class_name_string */
-2,
+/* runtime type Collection[MVirtualTypeDef] */
+const struct type type_abstract_collection__Collectionmodel__MVirtualTypeDef = {
+2431,
+"Collection[MVirtualTypeDef]", /* class_name_string */
+12,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[MVirtualTypeDef] */
+const struct type type_array__AbstractArrayReadmodel__MVirtualTypeDef = {
+2832,
+"AbstractArrayRead[MVirtualTypeDef]", /* class_name_string */
+15,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
+const struct type type_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"HashMap2[MModule, MType, Array[MVirtualTypeDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable,
+&resolution_table_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-353, /* NativeArray[nullable HashMapNode[Variable, RuntimeVariable]] */
+451, /* HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* NativeArray#0: nullable HashMapNode[Variable, RuntimeVariable] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Variable, RuntimeVariable]] */
+&type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* HashMap2#0: MModule */
+&type_model__MType, /* HashMap2#1: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* HashMap2#2: Array[MVirtualTypeDef] */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MType, Array[MVirtualTypeDef]] */
 }
 };
-/* runtime type HashMapNode[Variable, RuntimeVariable] */
-const struct type type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable = {
-1527,
-"HashMapNode[Variable, RuntimeVariable]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[MVirtualType] */
+const struct type type_array__ArrayIteratormodel__MVirtualType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MVirtualType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable,
-4,
+&resolution_table_array__ArrayIteratormodel__MVirtualType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-127, /* nullable HashMapNode[Variable, RuntimeVariable] */
-1527, /* HashMapNode[Variable, RuntimeVariable] */
+321, /* ArrayIterator[Object] */
+398, /* ArrayIterator[nullable MType] */
+1615, /* ArrayIterator[NitniCallback] */
+2141, /* ArrayIterator[MType] */
+2432, /* ArrayIterator[MVirtualType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__ArrayIteratormodel__MVirtualType = {
 0, /* dummy */
 {
-&type_scope__Variable, /* HashMapNode#0: Variable */
-&type_abstract_compiler__RuntimeVariable, /* HashMapNode#1: RuntimeVariable */
-&type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* N: HashMapNode[Variable, RuntimeVariable] */
-&type_scope__Variable, /* HashNode#0: Variable */
+&type_array__Arraymodel__MVirtualType, /* Array[Iterator#0]: Array[MVirtualType] */
+&type_array__AbstractArrayReadmodel__MVirtualType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualType] */
 }
 };
-/* runtime type nullable HashMapNode[Variable, RuntimeVariable] */
-const struct type type_nullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable = {
-127,
-"nullable HashMapNode[Variable, RuntimeVariable]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable,
-3,
+/* runtime type NativeArray[MVirtualType] */
+const struct type type_array__NativeArraymodel__MVirtualType = {
+2433,
+"NativeArray[MVirtualType]", /* class_name_string */
+6,
+0,
+&resolution_table_array__NativeArraymodel__MVirtualType,
+7,
 {
 0, /* nullable Object */
--1, /* empty */
-127, /* nullable HashMapNode[Variable, RuntimeVariable] */
+1, /* Object */
+115, /* NativeArray[Object] */
+399, /* NativeArray[nullable MType] */
+1616, /* NativeArray[NitniCallback] */
+2142, /* NativeArray[MType] */
+2433, /* NativeArray[MVirtualType] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__NativeArraymodel__MVirtualType = {
 0, /* dummy */
 {
-&type_scope__Variable, /* HashMapNode#0: Variable */
-&type_abstract_compiler__RuntimeVariable, /* HashMapNode#1: RuntimeVariable */
-&type_hash_collection__HashMapNodescope__Variableabstract_compiler__RuntimeVariable, /* N: HashMapNode[Variable, RuntimeVariable] */
-&type_scope__Variable, /* HashNode#0: Variable */
+&type_model__MVirtualType, /* NativeArray#0: MVirtualType */
+&type_array__NativeArraymodel__MVirtualType, /* NativeArray[NativeArray#0]: NativeArray[MVirtualType] */
 }
 };
-/* runtime type HashMapIterator[Variable, RuntimeVariable] */
-const struct type type_hash_collection__HashMapIteratorscope__Variableabstract_compiler__RuntimeVariable = {
-1528,
-"HashMapIterator[Variable, RuntimeVariable]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[AExpr] */
+const struct type type_array__ArrayIteratorparser_nodes__AExpr = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AExpr]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratorscope__Variableabstract_compiler__RuntimeVariable,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__AExpr,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-354, /* MapIterator[Variable, RuntimeVariable] */
-1528, /* HashMapIterator[Variable, RuntimeVariable] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2167, /* ArrayIterator[AExpr] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExpr = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variableabstract_compiler__RuntimeVariable, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Variable, RuntimeVariable] */
+&type_array__Arrayparser_nodes__AExpr, /* Array[Iterator#0]: Array[AExpr] */
+&type_array__AbstractArrayReadparser_nodes__AExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExpr] */
 }
 };
-/* runtime type MapIterator[Variable, RuntimeVariable] */
-const struct type type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable = {
-354,
-"MapIterator[Variable, RuntimeVariable]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-354, /* MapIterator[Variable, RuntimeVariable] */
-},
-};
-/* runtime type ArrayIterator[State] */
-const struct type type_array__ArrayIteratorparser__State = {
-1529,
-"ArrayIterator[State]", /* class_name_string */
-3,
+/* runtime type NativeArray[AExpr] */
+const struct type type_array__NativeArrayparser_nodes__AExpr = {
+2168,
+"NativeArray[AExpr]", /* class_name_string */
+5,
 0,
-&resolution_table_array__ArrayIteratorparser__State,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AExpr,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1529, /* ArrayIterator[State] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2168, /* NativeArray[AExpr] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser__State = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExpr = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser__State, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[State] */
-&type_array__Arrayparser__State, /* Array[Iterator#0]: Array[State] */
+&type_parser_nodes__AExpr, /* NativeArray#0: AExpr */
+&type_array__NativeArrayparser_nodes__AExpr, /* NativeArray[NativeArray#0]: NativeArray[AExpr] */
 }
 };
-/* runtime type NativeArray[State] */
-const struct type type_array__NativeArrayparser__State = {
-1530,
-"NativeArray[State]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[Variable] */
+const struct type type_array__ArrayIteratorscope__Variable = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayparser__State,
+&resolution_table_array__ArrayIteratorscope__Variable,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1530, /* NativeArray[State] */
+321, /* ArrayIterator[Object] */
+1686, /* ArrayIterator[Variable] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser__State = {
+const struct types resolution_table_array__ArrayIteratorscope__Variable = {
 0, /* dummy */
 {
-&type_parser__State, /* NativeArray#0: State */
-&type_array__NativeArrayparser__State, /* NativeArray[NativeArray#0]: NativeArray[State] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_array__AbstractArrayReadscope__Variable, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Variable] */
 }
 };
-/* runtime type Array[AClassdef] */
-const struct type type_array__Arrayparser_nodes__AClassdef = {
-2613,
-"Array[AClassdef]", /* class_name_string */
-13,
+/* runtime type NativeArray[Variable] */
+const struct type type_array__NativeArrayscope__Variable = {
+1687,
+"NativeArray[Variable]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arrayparser_nodes__AClassdef,
-15,
+&resolution_table_array__NativeArrayscope__Variable,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1926, /* Collection[AClassdef] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2562, /* AbstractArrayRead[AClassdef] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2613, /* Array[AClassdef] */
-2579, /* Array[Prod] */
+115, /* NativeArray[Object] */
+1687, /* NativeArray[Variable] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AClassdef = {
+const struct types resolution_table_array__NativeArrayscope__Variable = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Array#0]: Array[AClassdef] */
-&type_array__NativeArrayparser_nodes__AClassdef, /* NativeArray[Array#0]: NativeArray[AClassdef] */
-&type_parser_nodes__AClassdef, /* Sequence#0: AClassdef */
-&type_parser_nodes__AClassdef, /* SimpleCollection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Array#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* Array#0: AClassdef */
-&type_array__NativeArrayparser_nodes__AClassdef, /* NativeArray[ArrayCapable#0]: NativeArray[AClassdef] */
-&type_parser_nodes__AClassdef, /* AbstractArray#0: AClassdef */
-&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Sequence#0]: Collection[AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Sequence#0]: Array[AClassdef] */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[SimpleCollection#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
-&type_parser_nodes__AClassdef, /* SequenceRead#0: AClassdef */
-&type_parser_nodes__AClassdef, /* AbstractArrayRead#0: AClassdef */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[AbstractArrayRead#0]: Array[AClassdef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AClassdef] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AClassdef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AClassdef] */
+&type_scope__Variable, /* NativeArray#0: Variable */
+&type_array__NativeArrayscope__Variable, /* NativeArray[NativeArray#0]: NativeArray[Variable] */
 }
 };
-/* runtime type AbstractArrayRead[AClassdef] */
-const struct type type_array__AbstractArrayReadparser_nodes__AClassdef = {
-2562,
-"AbstractArrayRead[AClassdef]", /* class_name_string */
-10,
-0,
-NULL,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1926, /* Collection[AClassdef] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2562, /* AbstractArrayRead[AClassdef] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
-},
-};
-/* runtime type Array[APropdef] */
-const struct type type_array__Arrayparser_nodes__APropdef = {
-2614,
-"Array[APropdef]", /* class_name_string */
-13,
+/* runtime type ArrayIterator[AIntExpr] */
+const struct type type_array__ArrayIteratorparser_nodes__AIntExpr = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AIntExpr]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__APropdef,
-15,
+&resolution_table_array__ArrayIteratorparser_nodes__AIntExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1927, /* Collection[APropdef] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2563, /* AbstractArrayRead[APropdef] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2614, /* Array[APropdef] */
-2579, /* Array[Prod] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2167, /* ArrayIterator[AExpr] */
+2434, /* ArrayIterator[AIntExpr] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__APropdef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AIntExpr = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__APropdef, /* Array[Array#0]: Array[APropdef] */
-&type_array__NativeArrayparser_nodes__APropdef, /* NativeArray[Array#0]: NativeArray[APropdef] */
-&type_parser_nodes__APropdef, /* Sequence#0: APropdef */
-&type_parser_nodes__APropdef, /* SimpleCollection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Array#0]: Collection[APropdef] */
-&type_parser_nodes__APropdef, /* Array#0: APropdef */
-&type_array__NativeArrayparser_nodes__APropdef, /* NativeArray[ArrayCapable#0]: NativeArray[APropdef] */
-&type_parser_nodes__APropdef, /* AbstractArray#0: APropdef */
-&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Sequence#0]: Collection[APropdef] */
-&type_array__Arrayparser_nodes__APropdef, /* Array[Sequence#0]: Array[APropdef] */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[SimpleCollection#0]: Collection[APropdef] */
-&type_parser_nodes__APropdef, /* Collection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
-&type_parser_nodes__APropdef, /* SequenceRead#0: APropdef */
-&type_parser_nodes__APropdef, /* AbstractArrayRead#0: APropdef */
-&type_array__Arrayparser_nodes__APropdef, /* Array[AbstractArrayRead#0]: Array[APropdef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[APropdef] not a live type) */
-&type_array__ArrayIteratorparser_nodes__APropdef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[APropdef] */
+&type_array__Arrayparser_nodes__AIntExpr, /* Array[Iterator#0]: Array[AIntExpr] */
+&type_array__AbstractArrayReadparser_nodes__AIntExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AIntExpr] */
 }
 };
-/* runtime type AbstractArrayRead[APropdef] */
-const struct type type_array__AbstractArrayReadparser_nodes__APropdef = {
-2563,
-"AbstractArrayRead[APropdef]", /* class_name_string */
-10,
-0,
-NULL,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1927, /* Collection[APropdef] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2563, /* AbstractArrayRead[APropdef] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
-},
-};
-/* runtime type ListNode[ANode] */
-const struct type type_list__ListNodeparser_nodes__ANode = {
-2099,
-"ListNode[ANode]", /* class_name_string */
-5,
-0,
-&resolution_table_list__ListNodeparser_nodes__ANode,
+/* runtime type NativeArray[AIntExpr] */
+const struct type type_array__NativeArrayparser_nodes__AIntExpr = {
+2435,
+"NativeArray[AIntExpr]", /* class_name_string */
 6,
+0,
+&resolution_table_array__NativeArrayparser_nodes__AIntExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-1835, /* Container[ANode] */
-164, /* Collection[Object] */
-2099, /* ListNode[ANode] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2168, /* NativeArray[AExpr] */
+2435, /* NativeArray[AIntExpr] */
 },
 };
-const struct types resolution_table_list__ListNodeparser_nodes__ANode = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AIntExpr = {
 0, /* dummy */
 {
-&type_parser_nodes__ANode, /* ListNode#0: ANode */
-&type_list__ListNodeparser_nodes__ANode, /* ListNode[ListNode#0]: ListNode[ANode] */
-&type_abstract_collection__ContainerIteratorparser_nodes__ANode, /* ContainerIterator[Container#0]: ContainerIterator[ANode] */
-&type_parser_nodes__ANode, /* Container#0: ANode */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__ANode, /* Collection#0: ANode */
-&type_abstract_collection__Collectionparser_nodes__ANode, /* Collection[Collection#0]: Collection[ANode] */
+&type_parser_nodes__AIntExpr, /* NativeArray#0: AIntExpr */
+&type_array__NativeArrayparser_nodes__AIntExpr, /* NativeArray[NativeArray#0]: NativeArray[AIntExpr] */
 }
 };
-/* runtime type Container[ANode] */
-const struct type type_abstract_collection__Containerparser_nodes__ANode = {
-1835,
-"Container[ANode]", /* class_name_string */
-3,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-1835, /* Container[ANode] */
-164, /* Collection[Object] */
-},
-};
-/* runtime type ListIterator[ANode] */
-const struct type type_list__ListIteratorparser_nodes__ANode = {
-355,
-"ListIterator[ANode]", /* class_name_string */
-2,
+/* runtime type ArraySetIterator[MType] */
+const struct type type_array__ArraySetIteratormodel__MType = {
+-1, /*CAST DEAD*/
+"ArraySetIterator[MType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__ListIteratorparser_nodes__ANode,
+&resolution_table_array__ArraySetIteratormodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-355, /* ListIterator[ANode] */
+452, /* ArraySetIterator[MType] */
 },
 };
-const struct types resolution_table_list__ListIteratorparser_nodes__ANode = {
+const struct types resolution_table_array__ArraySetIteratormodel__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__ANode, /* ListIterator#0: ANode */
-&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
-&type_list__Listparser_nodes__ANode, /* List[ListIterator#0]: List[ANode] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__ArrayIteratormodel__MType, /* ArrayIterator[ArraySetIterator#0]: ArrayIterator[MType] */
 }
 };
-/* runtime type HashSetNode[ANode] */
-const struct type type_hash_collection__HashSetNodeparser_nodes__ANode = {
-2100,
-"HashSetNode[ANode]", /* class_name_string */
-5,
+/* runtime type ArrayIterator[ABreakExpr] */
+const struct type type_array__ArrayIteratorparser_nodes__ABreakExpr = {
+-1, /*CAST DEAD*/
+"ArrayIterator[ABreakExpr]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetNodeparser_nodes__ANode,
-6,
+&resolution_table_array__ArrayIteratorparser_nodes__ABreakExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashSetNode[Object] */
-356, /* nullable HashSetNode[ANode] */
-1456, /* HashSetNode[Object] */
-2100, /* HashSetNode[ANode] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2167, /* ArrayIterator[AExpr] */
+2436, /* ArrayIterator[ABreakExpr] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodeparser_nodes__ANode = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__ABreakExpr = {
 0, /* dummy */
 {
-&type_parser_nodes__ANode, /* HashSetNode#0: ANode */
-NULL, /* empty */
-&type_hash_collection__HashSetNodeparser_nodes__ANode, /* N: HashSetNode[ANode] */
-&type_parser_nodes__ANode, /* HashNode#0: ANode */
+&type_array__Arrayparser_nodes__ABreakExpr, /* Array[Iterator#0]: Array[ABreakExpr] */
+&type_array__AbstractArrayReadparser_nodes__ABreakExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ABreakExpr] */
 }
 };
-/* runtime type nullable HashSetNode[ANode] */
-const struct type type_nullable_hash_collection__HashSetNodeparser_nodes__ANode = {
-356,
-"nullable HashSetNode[ANode]", /* class_name_string */
-3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodeparser_nodes__ANode,
-4,
+/* runtime type NativeArray[ABreakExpr] */
+const struct type type_array__NativeArrayparser_nodes__ABreakExpr = {
+2437,
+"NativeArray[ABreakExpr]", /* class_name_string */
+6,
+0,
+&resolution_table_array__NativeArrayparser_nodes__ABreakExpr,
+7,
 {
 0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashSetNode[Object] */
-356, /* nullable HashSetNode[ANode] */
+1, /* Object */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2168, /* NativeArray[AExpr] */
+2437, /* NativeArray[ABreakExpr] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodeparser_nodes__ANode = {
+const struct types resolution_table_array__NativeArrayparser_nodes__ABreakExpr = {
 0, /* dummy */
 {
-&type_parser_nodes__ANode, /* HashSetNode#0: ANode */
-NULL, /* empty */
-&type_hash_collection__HashSetNodeparser_nodes__ANode, /* N: HashSetNode[ANode] */
-&type_parser_nodes__ANode, /* HashNode#0: ANode */
+&type_parser_nodes__ABreakExpr, /* NativeArray#0: ABreakExpr */
+&type_array__NativeArrayparser_nodes__ABreakExpr, /* NativeArray[NativeArray#0]: NativeArray[ABreakExpr] */
 }
 };
-/* runtime type HashSetIterator[ANode] */
-const struct type type_hash_collection__HashSetIteratorparser_nodes__ANode = {
-1531,
-"HashSetIterator[ANode]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[AContinueExpr] */
+const struct type type_array__ArrayIteratorparser_nodes__AContinueExpr = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AContinueExpr]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetIteratorparser_nodes__ANode,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__AContinueExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* HashSetIterator[Object] */
-1531, /* HashSetIterator[ANode] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2167, /* ArrayIterator[AExpr] */
+2438, /* ArrayIterator[AContinueExpr] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratorparser_nodes__ANode = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AContinueExpr = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetparser_nodes__ANode, /* HashSet[HashSetIterator#0]: HashSet[ANode] */
-&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
+&type_array__Arrayparser_nodes__AContinueExpr, /* Array[Iterator#0]: Array[AContinueExpr] */
+&type_array__AbstractArrayReadparser_nodes__AContinueExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AContinueExpr] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[ANode]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodeparser_nodes__ANode = {
-1532,
-"NativeArray[nullable HashSetNode[ANode]]", /* class_name_string */
-3,
+/* runtime type NativeArray[AContinueExpr] */
+const struct type type_array__NativeArrayparser_nodes__AContinueExpr = {
+2439,
+"NativeArray[AContinueExpr]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodeparser_nodes__ANode,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AContinueExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1532, /* NativeArray[nullable HashSetNode[ANode]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2168, /* NativeArray[AExpr] */
+2439, /* NativeArray[AContinueExpr] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodeparser_nodes__ANode = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AContinueExpr = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodeparser_nodes__ANode, /* NativeArray#0: nullable HashSetNode[ANode] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodeparser_nodes__ANode, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[ANode]] */
+&type_parser_nodes__AContinueExpr, /* NativeArray#0: AContinueExpr */
+&type_array__NativeArrayparser_nodes__AContinueExpr, /* NativeArray[NativeArray#0]: NativeArray[AContinueExpr] */
 }
 };
-/* runtime type HashMapKeys[MModule, Set[MClassDef]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-1836,
-"HashMapKeys[MModule, Set[MClassDef]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[Phase, POSetElement[Phase]] */
+const struct type type_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase = {
+-1, /*CAST DEAD*/
+"HashMapKeys[Phase, POSetElement[Phase]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1836, /* HashMapKeys[MModule, Set[MClassDef]] */
-164, /* Collection[Object] */
+638, /* Collection[Phase] */
+1964, /* HashMapKeys[Phase, POSetElement[Phase]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, Set[MClassDef]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, Set[MClassDef]] */
+&type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Phase, POSetElement[Phase]] */
+&type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Phase, POSetElement[Phase]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_phase__Phase, /* RemovableCollection#0: Phase */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
+&type_phase__Phase, /* Collection#0: Phase */
+&type_abstract_collection__Collectionphase__Phase, /* Collection[Collection#0]: Collection[Phase] */
 }
 };
-/* runtime type HashMapValues[MModule, Set[MClassDef]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-1837,
-"HashMapValues[MModule, Set[MClassDef]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[Phase, POSetElement[Phase]] */
+const struct type type_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase = {
+-1, /*CAST DEAD*/
+"HashMapValues[Phase, POSetElement[Phase]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1533, /* Collection[Set[MClassDef]] */
-1837, /* HashMapValues[MModule, Set[MClassDef]] */
-164, /* Collection[Object] */
+1688, /* Collection[POSetElement[Phase]] */
+1965, /* HashMapValues[Phase, POSetElement[Phase]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, Set[MClassDef]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, Set[MClassDef]] */
+&type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Phase, POSetElement[Phase]] */
+&type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Phase, POSetElement[Phase]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClassDef, /* RemovableCollection#0: Set[MClassDef] */
+&type_poset__POSetElementphase__Phase, /* RemovableCollection#0: POSetElement[Phase] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClassDef, /* Collection#0: Set[MClassDef] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef, /* Collection[Collection#0]: Collection[Set[MClassDef]] */
+&type_poset__POSetElementphase__Phase, /* Collection#0: POSetElement[Phase] */
+&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Collection#0]: Collection[POSetElement[Phase]] */
 }
 };
-/* runtime type Collection[Set[MClassDef]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MClassDef = {
-1533,
-"Collection[Set[MClassDef]]", /* class_name_string */
+/* runtime type Collection[POSetElement[Phase]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementphase__Phase = {
+1688,
+"Collection[POSetElement[Phase]]", /* class_name_string */
 2,
 0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1533, /* Collection[Set[MClassDef]] */
--1, /* empty */
-164, /* Collection[Object] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type NativeArray[nullable HashMapNode[MModule, Set[MClassDef]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-357,
-"NativeArray[nullable HashMapNode[MModule, Set[MClassDef]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
+453,
+"NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-357, /* NativeArray[nullable HashMapNode[MModule, Set[MClassDef]]] */
+453, /* NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* NativeArray#0: nullable HashMapNode[MModule, Set[MClassDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, Set[MClassDef]]] */
+&type_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* NativeArray#0: nullable HashMapNode[Phase, POSetElement[Phase]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
 }
 };
-/* runtime type HashMapNode[MModule, Set[MClassDef]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-1534,
-"HashMapNode[MModule, Set[MClassDef]]", /* class_name_string */
+/* runtime type HashMapNode[Phase, POSetElement[Phase]] */
+const struct type type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
+1689,
+"HashMapNode[Phase, POSetElement[Phase]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-128, /* nullable HashMapNode[MModule, Set[MClassDef]] */
-1534, /* HashMapNode[MModule, Set[MClassDef]] */
+67, /* nullable HashMapNode[Phase, POSetElement[Phase]] */
+1689, /* HashMapNode[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_abstract_collection__Setmodel__MClassDef, /* HashMapNode#1: Set[MClassDef] */
-&type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* N: HashMapNode[MModule, Set[MClassDef]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_phase__Phase, /* HashMapNode#0: Phase */
+&type_poset__POSetElementphase__Phase, /* HashMapNode#1: POSetElement[Phase] */
+&type_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* nullable N: nullable HashMapNode[Phase, POSetElement[Phase]] */
+&type_phase__Phase, /* HashNode#0: Phase */
 }
 };
-/* runtime type nullable HashMapNode[MModule, Set[MClassDef]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-128,
-"nullable HashMapNode[MModule, Set[MClassDef]]", /* class_name_string */
+/* runtime type nullable HashMapNode[Phase, POSetElement[Phase]] */
+const struct type type_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
+67,
+"nullable HashMapNode[Phase, POSetElement[Phase]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-128, /* nullable HashMapNode[MModule, Set[MClassDef]] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-0, /* dummy */
-{
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_abstract_collection__Setmodel__MClassDef, /* HashMapNode#1: Set[MClassDef] */
-&type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* N: HashMapNode[MModule, Set[MClassDef]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
-}
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapIterator[MModule, Set[MClassDef]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-1535,
-"HashMapIterator[MModule, Set[MClassDef]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[Phase, POSetElement[Phase]] */
+const struct type type_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase = {
+-1, /*CAST DEAD*/
+"HashMapIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef,
+&resolution_table_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-358, /* MapIterator[MModule, Set[MClassDef]] */
-1535, /* HashMapIterator[MModule, Set[MClassDef]] */
+454, /* MapIterator[Phase, POSetElement[Phase]] */
+1690, /* HashMapIterator[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
+const struct types resolution_table_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, Set[MClassDef]] */
+&type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Phase, POSetElement[Phase]] */
 }
 };
-/* runtime type MapIterator[MModule, Set[MClassDef]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassDef = {
-358,
-"MapIterator[MModule, Set[MClassDef]]", /* class_name_string */
+/* runtime type MapIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase = {
+454,
+"MapIterator[Phase, POSetElement[Phase]]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[Phase] */
+const struct type type_hash_collection__HashSetphase__Phase = {
+2440,
+"HashSet[Phase]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetphase__Phase,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+638, /* Collection[Phase] */
+655, /* Set[Object] */
+92, /* Collection[Object] */
+2440, /* HashSet[Phase] */
+-1, /* empty */
+1872, /* HashSet[Object] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetphase__Phase = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodephase__Phase, /* HashSetNode[HashSet#0]: HashSetNode[Phase] */
+&type_hash_collection__HashSetIteratorphase__Phase, /* HashSetIterator[HashSet#0]: HashSetIterator[Phase] */
+&type_abstract_collection__Collectionphase__Phase, /* Collection[HashSet#0]: Collection[Phase] */
+&type_phase__Phase, /* SimpleCollection#0: Phase */
+&type_abstract_collection__Collectionphase__Phase, /* Collection[Set#0]: Collection[Phase] */
+NULL, /* empty */
+&type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Phase]] */
+NULL, /* empty */
+&type_phase__Phase, /* RemovableCollection#0: Phase */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Collectionphase__Phase, /* Collection[SimpleCollection#0]: Collection[Phase] */
+&type_phase__Phase, /* Collection#0: Phase */
+&type_abstract_collection__Collectionphase__Phase, /* Collection[Collection#0]: Collection[Phase] */
+&type_phase__Phase, /* HashCollection#0: Phase */
+&type_nullable_hash_collection__HashSetNodephase__Phase, /* nullable HashCollection#1: nullable HashSetNode[Phase] */
+&type_hash_collection__HashSetNodephase__Phase, /* HashCollection#1: HashSetNode[Phase] */
+&type_nullable_phase__Phase, /* nullable HashCollection#0: nullable Phase */
+}
+};
+/* runtime type MapKeysIterator[String, Array[MProject]] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymproject__MProject = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Array[MProject]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymproject__MProject,
+3,
+{
+0, /* nullable Object */
 1, /* Object */
-358, /* MapIterator[MModule, Set[MClassDef]] */
+455, /* MapKeysIterator[String, Array[MProject]] */
 },
 };
-/* runtime type HashMapKeys[MModule, Set[MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClass = {
-1838,
-"HashMapKeys[MModule, Set[MClass]]", /* class_name_string */
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymproject__MProject = {
+0, /* dummy */
+{
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymproject__MProject, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MProject]] */
+}
+};
+/* runtime type MapValuesIterator[String, Array[MProject]] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymproject__MProject = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Array[MProject]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymproject__MProject,
 3,
+{
+0, /* nullable Object */
+1, /* Object */
+456, /* MapValuesIterator[String, Array[MProject]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymproject__MProject = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Iterator#0]: Array[Array[MProject]] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymproject__MProject, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MProject]] */
+}
+};
+/* runtime type HashMapKeys[MModule, POSetElement[MModule]] */
+const struct type type_hash_collection__HashMapKeysmmodule__MModuleposet__POSetElementmmodule__MModule = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MModule, POSetElement[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClass,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModuleposet__POSetElementmmodule__MModule,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1838, /* HashMapKeys[MModule, Set[MClass]] */
-164, /* Collection[Object] */
+644, /* Collection[MModule] */
+1966, /* HashMapKeys[MModule, POSetElement[MModule]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, Set[MClass]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, Set[MClass]] */
+&type_hash_collection__HashMapmmodule__MModuleposet__POSetElementmmodule__MModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, POSetElement[MModule]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, POSetElement[MModule]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_mmodule__MModule, /* RemovableCollection#0: MModule */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
+&type_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type HashMapValues[MModule, Set[MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClass = {
-1839,
-"HashMapValues[MModule, Set[MClass]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MModule, POSetElement[MModule]] */
+const struct type type_hash_collection__HashMapValuesmmodule__MModuleposet__POSetElementmmodule__MModule = {
+-1, /*CAST DEAD*/
+"HashMapValues[MModule, POSetElement[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClass,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModuleposet__POSetElementmmodule__MModule,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1536, /* Collection[Set[MClass]] */
-1839, /* HashMapValues[MModule, Set[MClass]] */
-164, /* Collection[Object] */
+1691, /* Collection[POSetElement[MModule]] */
+1967, /* HashMapValues[MModule, POSetElement[MModule]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, Set[MClass]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, Set[MClass]] */
+&type_hash_collection__HashMapmmodule__MModuleposet__POSetElementmmodule__MModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, POSetElement[MModule]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, POSetElement[MModule]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClass, /* RemovableCollection#0: Set[MClass] */
+&type_poset__POSetElementmmodule__MModule, /* RemovableCollection#0: POSetElement[MModule] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClass, /* Collection#0: Set[MClass] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Collection#0]: Collection[Set[MClass]] */
+&type_poset__POSetElementmmodule__MModule, /* Collection#0: POSetElement[MModule] */
+&type_abstract_collection__Collectionposet__POSetElementmmodule__MModule, /* Collection[Collection#0]: Collection[POSetElement[MModule]] */
 }
 };
-/* runtime type Collection[Set[MClass]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MClass = {
-1536,
-"Collection[Set[MClass]]", /* class_name_string */
+/* runtime type Collection[POSetElement[MModule]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmmodule__MModule = {
+1691,
+"Collection[POSetElement[MModule]]", /* class_name_string */
 2,
 0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1536, /* Collection[Set[MClass]] */
--1, /* empty */
-164, /* Collection[Object] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type NativeArray[nullable HashMapNode[MModule, Set[MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass = {
-359,
-"NativeArray[nullable HashMapNode[MModule, Set[MClass]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule = {
+457,
+"NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-359, /* NativeArray[nullable HashMapNode[MModule, Set[MClass]]] */
+457, /* NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass, /* NativeArray#0: nullable HashMapNode[MModule, Set[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, Set[MClass]]] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule, /* NativeArray#0: nullable HashMapNode[MModule, POSetElement[MModule]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
 }
 };
-/* runtime type HashMapNode[MModule, Set[MClass]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass = {
-1537,
-"HashMapNode[MModule, Set[MClass]]", /* class_name_string */
+/* runtime type HashMapNode[MModule, POSetElement[MModule]] */
+const struct type type_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule = {
+1692,
+"HashMapNode[MModule, POSetElement[MModule]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass,
+&resolution_table_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-129, /* nullable HashMapNode[MModule, Set[MClass]] */
-1537, /* HashMapNode[MModule, Set[MClass]] */
+68, /* nullable HashMapNode[MModule, POSetElement[MModule]] */
+1692, /* HashMapNode[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
-&type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass, /* N: HashMapNode[MModule, Set[MClass]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_poset__POSetElementmmodule__MModule, /* HashMapNode#1: POSetElement[MModule] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule, /* nullable N: nullable HashMapNode[MModule, POSetElement[MModule]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
-/* runtime type nullable HashMapNode[MModule, Set[MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass = {
-129,
-"nullable HashMapNode[MModule, Set[MClass]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MModule, POSetElement[MModule]] */
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModuleposet__POSetElementmmodule__MModule = {
+68,
+"nullable HashMapNode[MModule, POSetElement[MModule]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass,
-3,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MModule, POSetElement[MModule]] */
+const struct type type_hash_collection__HashMapIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MModule, POSetElement[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-129, /* nullable HashMapNode[MModule, Set[MClass]] */
+1, /* Object */
+458, /* MapIterator[MModule, POSetElement[MModule]] */
+1693, /* HashMapIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
-&type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClass, /* N: HashMapNode[MModule, Set[MClass]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_hash_collection__HashMapmmodule__MModuleposet__POSetElementmmodule__MModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, POSetElement[MModule]] */
 }
 };
-/* runtime type HashMapIterator[MModule, Set[MClass]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
-1538,
-"HashMapIterator[MModule, Set[MClass]]", /* class_name_string */
-3,
+/* runtime type MapIterator[MModule, POSetElement[MModule]] */
+const struct type type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+458,
+"MapIterator[MModule, POSetElement[MModule]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClass,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[String, Array[MModule]] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymmodule__MModule = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Array[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymmodule__MModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-360, /* MapIterator[MModule, Set[MClass]] */
-1538, /* HashMapIterator[MModule, Set[MClass]] */
+459, /* MapKeysIterator[String, Array[MModule]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymmodule__MModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, Set[MClass]] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymmodule__MModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MModule]] */
 }
 };
-/* runtime type MapIterator[MModule, Set[MClass]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClass = {
-360,
-"MapIterator[MModule, Set[MClass]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[String, Array[MModule]] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymmodule__MModule = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Array[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-360, /* MapIterator[MModule, Set[MClass]] */
+460, /* MapValuesIterator[String, Array[MModule]] */
 },
 };
-/* runtime type HashMapKeys[MModule, Set[MClassType]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-1840,
-"HashMapKeys[MModule, Set[MClassType]]", /* class_name_string */
-3,
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymmodule__MModule = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[Iterator#0]: Array[Array[MModule]] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymmodule__MModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MModule]] */
+}
+};
+/* runtime type HashMapKeys[MClassDef, POSetElement[MClassDef]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClassType,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1840, /* HashMapKeys[MModule, Set[MClassType]] */
-164, /* Collection[Object] */
+647, /* Collection[MClassDef] */
+1968, /* HashMapKeys[MClassDef, POSetElement[MClassDef]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, Set[MClassType]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, Set[MClassType]] */
+&type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassDef, POSetElement[MClassDef]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
+&type_model__MClassDef, /* Collection#0: MClassDef */
+&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
 }
 };
-/* runtime type HashMapValues[MModule, Set[MClassType]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-2101,
-"HashMapValues[MModule, Set[MClassType]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MClassDef, POSetElement[MClassDef]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClassType,
-6,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-2101, /* HashMapValues[MModule, Set[MClassType]] */
-164, /* Collection[Object] */
-1841, /* Collection[Set[MClassType]] */
+1694, /* Collection[POSetElement[MClassDef]] */
+1969, /* HashMapValues[MClassDef, POSetElement[MClassDef]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, Set[MClassType]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, Set[MClassType]] */
+&type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassDef, POSetElement[MClassDef]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClassType, /* RemovableCollection#0: Set[MClassType] */
+&type_poset__POSetElementmodel__MClassDef, /* RemovableCollection#0: POSetElement[MClassDef] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Setmodel__MClassType, /* Collection#0: Set[MClassType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType, /* Collection[Collection#0]: Collection[Set[MClassType]] */
+&type_poset__POSetElementmodel__MClassDef, /* Collection#0: POSetElement[MClassDef] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[Collection#0]: Collection[POSetElement[MClassDef]] */
 }
 };
-/* runtime type Collection[Set[MClassType]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Setmodel__MClassType = {
-1841,
-"Collection[Set[MClassType]]", /* class_name_string */
-5,
+/* runtime type Collection[POSetElement[MClassDef]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef = {
+1694,
+"Collection[POSetElement[MClassDef]]", /* class_name_string */
+2,
 0,
-NULL,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-1479, /* Collection[Set[MType]] */
--1, /* empty */
-164, /* Collection[Object] */
-1841, /* Collection[Set[MClassType]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type NativeArray[nullable HashMapNode[MModule, Set[MClassType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-361,
-"NativeArray[nullable HashMapNode[MModule, Set[MClassType]]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
+461,
+"NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-361, /* NativeArray[nullable HashMapNode[MModule, Set[MClassType]]] */
+461, /* NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType, /* NativeArray#0: nullable HashMapNode[MModule, Set[MClassType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, Set[MClassType]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* NativeArray#0: nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
 }
 };
-/* runtime type HashMapNode[MModule, Set[MClassType]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-1539,
-"HashMapNode[MModule, Set[MClassType]]", /* class_name_string */
+/* runtime type HashMapNode[MClassDef, POSetElement[MClassDef]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
+1695,
+"HashMapNode[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType,
+&resolution_table_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-130, /* nullable HashMapNode[MModule, Set[MClassType]] */
-1539, /* HashMapNode[MModule, Set[MClassType]] */
+69, /* nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+1695, /* HashMapNode[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_abstract_collection__Setmodel__MClassType, /* HashMapNode#1: Set[MClassType] */
-&type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType, /* N: HashMapNode[MModule, Set[MClassType]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_model__MClassDef, /* HashMapNode#0: MClassDef */
+&type_poset__POSetElementmodel__MClassDef, /* HashMapNode#1: POSetElement[MClassDef] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* nullable N: nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+&type_model__MClassDef, /* HashNode#0: MClassDef */
 }
 };
-/* runtime type nullable HashMapNode[MModule, Set[MClassType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-130,
-"nullable HashMapNode[MModule, Set[MClassType]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
+69,
+"nullable HashMapNode[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-130, /* nullable HashMapNode[MModule, Set[MClassType]] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-0, /* dummy */
-{
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_abstract_collection__Setmodel__MClassType, /* HashMapNode#1: Set[MClassType] */
-&type_hash_collection__HashMapNodemodel_base__MModuleabstract_collection__Setmodel__MClassType, /* N: HashMapNode[MModule, Set[MClassType]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
-}
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapIterator[MModule, Set[MClassType]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-1540,
-"HashMapIterator[MModule, Set[MClassType]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-362, /* MapIterator[MModule, Set[MClassType]] */
-1540, /* HashMapIterator[MModule, Set[MClassType]] */
+462, /* MapIterator[MClassDef, POSetElement[MClassDef]] */
+1696, /* HashMapIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleabstract_collection__Setmodel__MClassType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, Set[MClassType]] */
+&type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type MapIterator[MModule, Set[MClassType]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModuleabstract_collection__Setmodel__MClassType = {
-362,
-"MapIterator[MModule, Set[MClassType]]", /* class_name_string */
+/* runtime type MapIterator[MClassDef, POSetElement[MClassDef]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+462,
+"MapIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-362, /* MapIterator[MModule, Set[MClassType]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type ArrayIterator[MGenericType] */
-const struct type type_array__ArrayIteratormodel__MGenericType = {
-2359,
-"ArrayIterator[MGenericType]", /* class_name_string */
-6,
+/* runtime type HashMapKeys[MClassType, POSetElement[MClassType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClassType, POSetElement[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratormodel__MGenericType,
-7,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-337, /* ArrayIterator[nullable MType] */
-1818, /* ArrayIterator[MType] */
-2097, /* ArrayIterator[MClassType] */
-2359, /* ArrayIterator[MGenericType] */
+2441, /* HashMapKeys[MType, POSetElement[MType]] */
+2717, /* HashMapKeys[MClassType, POSetElement[MClassType]] */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
+2240, /* Collection[MClassType] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MGenericType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MGenericType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MGenericType] */
-&type_array__Arraymodel__MGenericType, /* Array[Iterator#0]: Array[MGenericType] */
+&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, POSetElement[MClassType]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, POSetElement[MClassType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type NativeArray[MGenericType] */
-const struct type type_array__NativeArraymodel__MGenericType = {
-2360,
-"NativeArray[MGenericType]", /* class_name_string */
-6,
+/* runtime type HashMapKeys[MType, POSetElement[MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MType, POSetElement[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymodel__MGenericType,
-7,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-338, /* NativeArray[nullable MType] */
-1819, /* NativeArray[MType] */
-2098, /* NativeArray[MClassType] */
-2360, /* NativeArray[MGenericType] */
+2441, /* HashMapKeys[MType, POSetElement[MType]] */
+-1, /* empty */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MGenericType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_model__MGenericType, /* NativeArray#0: MGenericType */
-&type_array__NativeArraymodel__MGenericType, /* NativeArray[NativeArray#0]: NativeArray[MGenericType] */
+&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, POSetElement[MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, POSetElement[MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type ArrayIterator[MPropDef] */
-const struct type type_array__ArrayIteratormodel__MPropDef = {
-2102,
-"ArrayIterator[MPropDef]", /* class_name_string */
-5,
+/* runtime type HashMapValues[MClassType, POSetElement[MClassType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClassType, POSetElement[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratormodel__MPropDef,
-6,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-363, /* ArrayIterator[nullable MPropDef] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2102, /* ArrayIterator[MPropDef] */
+1697, /* Collection[POSetElement[MType]] */
+1970, /* HashMapValues[MType, POSetElement[MType]] */
+92, /* Collection[Object] */
+1971, /* Collection[POSetElement[MClassType]] */
+2442, /* HashMapValues[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MPropDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MPropDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MPropDef] */
-&type_array__Arraymodel__MPropDef, /* Array[Iterator#0]: Array[MPropDef] */
+&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, POSetElement[MClassType]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, POSetElement[MClassType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmodel__MClassType, /* RemovableCollection#0: POSetElement[MClassType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmodel__MClassType, /* Collection#0: POSetElement[MClassType] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[Collection#0]: Collection[POSetElement[MClassType]] */
 }
 };
-/* runtime type ArrayIterator[nullable MPropDef] */
-const struct type type_array__ArrayIteratornullable_model__MPropDef = {
-363,
-"ArrayIterator[nullable MPropDef]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MType, POSetElement[MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType = {
+-1, /*CAST DEAD*/
+"HashMapValues[MType, POSetElement[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratornullable_model__MPropDef,
-4,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-363, /* ArrayIterator[nullable MPropDef] */
+1697, /* Collection[POSetElement[MType]] */
+1970, /* HashMapValues[MType, POSetElement[MType]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__ArrayIteratornullable_model__MPropDef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadnullable_model__MPropDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[nullable MPropDef] */
-&type_array__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[nullable MPropDef] */
+&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, POSetElement[MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, POSetElement[MType]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmodel__MType, /* RemovableCollection#0: POSetElement[MType] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmodel__MType, /* Collection#0: POSetElement[MType] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[Collection#0]: Collection[POSetElement[MType]] */
 }
 };
-/* runtime type NativeArray[MPropDef] */
-const struct type type_array__NativeArraymodel__MPropDef = {
-2103,
-"NativeArray[MPropDef]", /* class_name_string */
+/* runtime type Collection[POSetElement[MClassType]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClassType = {
+1971,
+"Collection[POSetElement[MClassType]]", /* class_name_string */
 5,
 0,
-&resolution_table_array__NativeArraymodel__MPropDef,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-185, /* NativeArray[Object] */
-364, /* NativeArray[nullable MPropDef] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2103, /* NativeArray[MPropDef] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-const struct types resolution_table_array__NativeArraymodel__MPropDef = {
-0, /* dummy */
-{
-&type_model__MPropDef, /* NativeArray#0: MPropDef */
-&type_array__NativeArraymodel__MPropDef, /* NativeArray[NativeArray#0]: NativeArray[MPropDef] */
-}
+/* runtime type Collection[POSetElement[MType]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MType = {
+1697,
+"Collection[POSetElement[MType]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type NativeArray[nullable MPropDef] */
-const struct type type_array__NativeArraynullable_model__MPropDef = {
-364,
-"NativeArray[nullable MPropDef]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
+1698,
+"NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]]", /* class_name_string */
 3,
 0,
-&resolution_table_array__NativeArraynullable_model__MPropDef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-364, /* NativeArray[nullable MPropDef] */
+463, /* NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
+1698, /* NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_model__MPropDef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_nullable_model__MPropDef, /* NativeArray#0: nullable MPropDef */
-&type_array__NativeArraynullable_model__MPropDef, /* NativeArray[NativeArray#0]: NativeArray[nullable MPropDef] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* NativeArray#0: nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
 }
 };
-/* runtime type HashMapKeys[MClass, Array[nullable MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MClass = {
-2104,
-"HashMapKeys[MClass, Array[nullable MClass]]", /* class_name_string */
-3,
+/* runtime type NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+463,
+"NativeArray[nullable HashMapNode[MType, POSetElement[MType]]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MClass,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-171, /* Collection[nullable MClass] */
-2104, /* HashMapKeys[MClass, Array[nullable MClass]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
-},
-};
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraynullable_model__MClass = {
-0, /* dummy */
-{
-&type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Array[nullable MClass]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Array[nullable MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
-}
-};
-/* runtime type HashMapValues[MClass, Array[nullable MClass]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MClass = {
-1842,
-"HashMapValues[MClass, Array[nullable MClass]]", /* class_name_string */
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType,
 3,
-0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MClass,
-5,
 {
 0, /* nullable Object */
 1, /* Object */
-1439, /* Collection[Array[nullable MClass]] */
-1842, /* HashMapValues[MClass, Array[nullable MClass]] */
-164, /* Collection[Object] */
+463, /* NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Array[nullable MClass]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Array[nullable MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraynullable_model__MClass, /* RemovableCollection#0: Array[nullable MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_array__Arraynullable_model__MClass, /* Collection#0: Array[nullable MClass] */
-&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Collection#0]: Collection[Array[nullable MClass]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* NativeArray#0: nullable HashMapNode[MType, POSetElement[MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass = {
-365,
-"NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]]", /* class_name_string */
-2,
+/* runtime type HashMapNode[MClassType, POSetElement[MClassType]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
+2169,
+"HashMapNode[MClassType, POSetElement[MClassType]]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass,
-3,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-365, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
+70, /* nullable HashMapNode[MType, POSetElement[MType]] */
+464, /* nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+1699, /* HashMapNode[MType, POSetElement[MType]] */
+2169, /* HashMapNode[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Array[nullable MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_poset__POSetElementmodel__MClassType, /* HashMapNode#1: POSetElement[MClassType] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* nullable N: nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type HashMapNode[MClass, Array[nullable MClass]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass = {
-1541,
-"HashMapNode[MClass, Array[nullable MClass]]", /* class_name_string */
+/* runtime type HashMapNode[MType, POSetElement[MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+1699,
+"HashMapNode[MType, POSetElement[MType]]", /* class_name_string */
 4,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass,
+&resolution_table_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-131, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
+70, /* nullable HashMapNode[MType, POSetElement[MType]] */
 -1, /* empty */
-1541, /* HashMapNode[MClass, Array[nullable MClass]] */
+1699, /* HashMapNode[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_array__Arraynullable_model__MClass, /* HashMapNode#1: Array[nullable MClass] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* N: HashMapNode[MClass, Array[nullable MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_poset__POSetElementmodel__MType, /* HashMapNode#1: POSetElement[MType] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* nullable N: nullable HashMapNode[MType, POSetElement[MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type nullable HashMapNode[MClass, Array[nullable MClass]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass = {
-131,
-"nullable HashMapNode[MClass, Array[nullable MClass]]", /* class_name_string */
+/* runtime type nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
+464,
+"nullable HashMapNode[MClassType, POSetElement[MClassType]]", /* class_name_string */
+3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type nullable HashMapNode[MType, POSetElement[MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+70,
+"nullable HashMapNode[MType, POSetElement[MType]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass,
-3,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-131, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
+1, /* Object */
+465, /* MapIterator[MType, POSetElement[MType]] */
+1700, /* HashMapIterator[MType, POSetElement[MType]] */
+1701, /* MapIterator[MClassType, POSetElement[MClassType]] */
+2170, /* HashMapIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_array__Arraynullable_model__MClass, /* HashMapNode#1: Array[nullable MClass] */
-&type_hash_collection__HashMapNodemodel__MClassarray__Arraynullable_model__MClass, /* N: HashMapNode[MClass, Array[nullable MClass]] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, POSetElement[MClassType]] */
 }
 };
-/* runtime type HashMapIterator[MClass, Array[nullable MClass]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MClass = {
-1542,
-"HashMapIterator[MClass, Array[nullable MClass]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MType, POSetElement[MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MType, POSetElement[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MClass,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-366, /* MapIterator[MClass, Array[nullable MClass]] */
-1542, /* HashMapIterator[MClass, Array[nullable MClass]] */
+465, /* MapIterator[MType, POSetElement[MType]] */
+1700, /* HashMapIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraynullable_model__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Array[nullable MClass]] */
+&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, POSetElement[MType]] */
 }
 };
-/* runtime type MapIterator[MClass, Array[nullable MClass]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass = {
-366,
-"MapIterator[MClass, Array[nullable MClass]]", /* class_name_string */
+/* runtime type MapIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+1701,
+"MapIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapIterator[MType, POSetElement[MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType = {
+465,
+"MapIterator[MType, POSetElement[MType]]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-366, /* MapIterator[MClass, Array[nullable MClass]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSetNode[MClassDef] */
-const struct type type_hash_collection__HashSetNodemodel__MClassDef = {
-2105,
-"HashSetNode[MClassDef]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[String, Array[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Array[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetNodemodel__MClassDef,
-6,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashSetNode[Object] */
-367, /* nullable HashSetNode[MClassDef] */
-1456, /* HashSetNode[Object] */
-2105, /* HashSetNode[MClassDef] */
+466, /* MapKeysIterator[String, Array[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodemodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashSetNode#0: MClassDef */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MClassDef, /* N: HashSetNode[MClassDef] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MClass]] */
 }
 };
-/* runtime type nullable HashSetNode[MClassDef] */
-const struct type type_nullable_hash_collection__HashSetNodemodel__MClassDef = {
-367,
-"nullable HashSetNode[MClassDef]", /* class_name_string */
+/* runtime type MapValuesIterator[String, Array[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Array[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass,
 3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodemodel__MClassDef,
-4,
 {
 0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashSetNode[Object] */
-367, /* nullable HashSetNode[MClassDef] */
+1, /* Object */
+467, /* MapValuesIterator[String, Array[MClass]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodemodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashSetNode#0: MClassDef */
-NULL, /* empty */
-&type_hash_collection__HashSetNodemodel__MClassDef, /* N: HashSetNode[MClassDef] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MClass]] */
 }
 };
-/* runtime type HashSetIterator[MClassDef] */
-const struct type type_hash_collection__HashSetIteratormodel__MClassDef = {
-1543,
-"HashSetIterator[MClassDef]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[String, Array[MProperty]] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Array[MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetIteratormodel__MClassDef,
-4,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* HashSetIterator[Object] */
-1543, /* HashSetIterator[MClassDef] */
+468, /* MapKeysIterator[String, Array[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratormodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MClassDef, /* HashSet[HashSetIterator#0]: HashSet[MClassDef] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MProperty]] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[MClassDef]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassDef = {
-1544,
-"NativeArray[nullable HashSetNode[MClassDef]]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[String, Array[MProperty]] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Array[MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassDef,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1544, /* NativeArray[nullable HashSetNode[MClassDef]] */
+469, /* MapValuesIterator[String, Array[MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodemodel__MClassDef, /* NativeArray#0: nullable HashSetNode[MClassDef] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodemodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[MClassDef]] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Iterator#0]: Array[Array[MProperty]] */
+&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MProperty]] */
 }
 };
-/* runtime type HashMapKeys[MClassType, Set[MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Setmodel__MType = {
-2473,
-"HashMapKeys[MClassType, Set[MType]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapKeysmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Setmodel__MType,
-11,
+&resolution_table_hash_collection__HashMapKeysmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-2106, /* HashMapKeys[MType, Set[MType]] */
-2473, /* HashMapKeys[MClassType, Set[MType]] */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1916, /* Collection[MClassType] */
+644, /* Collection[MModule] */
+1972, /* HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Set[MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Set[MType]] */
+&type_hash_collection__HashMapmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
+&type_mmodule__MModule, /* RemovableCollection#0: MModule */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_mmodule__MModule, /* Collection#0: MModule */
+&type_abstract_collection__Collectionmmodule__MModule, /* Collection[Collection#0]: Collection[MModule] */
 }
 };
-/* runtime type HashMapKeys[MType, Set[MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Setmodel__MType = {
-2106,
-"HashMapKeys[MType, Set[MType]]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapValuesmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Setmodel__MType,
-8,
+&resolution_table_hash_collection__HashMapValuesmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-2106, /* HashMapKeys[MType, Set[MType]] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+1702, /* Collection[HashMap2[MType, String, nullable MProperty]] */
+1973, /* HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Set[MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Set[MType]] */
+&type_hash_collection__HashMapmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap2[MType, String, nullable MProperty] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&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]] */
 }
 };
-/* runtime type HashMapValues[MClassType, Set[MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Setmodel__MType = {
-2107,
-"HashMapValues[MClassType, Set[MType]]", /* class_name_string */
-5,
+/* runtime type Collection[HashMap2[MType, String, nullable MProperty]] */
+const struct type type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+1702,
+"Collection[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Setmodel__MType,
-6,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+470,
+"NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-1843, /* HashMapValues[MType, Set[MType]] */
-164, /* Collection[Object] */
-2107, /* HashMapValues[MClassType, Set[MType]] */
+470, /* NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Set[MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Set[MType]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MType, /* RemovableCollection#0: Set[MType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MType, /* Collection#0: Set[MType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Collection#0]: Collection[Set[MType]] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
 }
 };
-/* runtime type HashMapValues[MType, Set[MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Setmodel__MType = {
-1843,
-"HashMapValues[MType, Set[MType]]", /* class_name_string */
+/* runtime type HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+1703,
+"HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Setmodel__MType,
-5,
+&resolution_table_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1479, /* Collection[Set[MType]] */
-1843, /* HashMapValues[MType, Set[MType]] */
-164, /* Collection[Object] */
+71, /* nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+1703, /* HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Set[MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Set[MType]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MType, /* RemovableCollection#0: Set[MType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Setmodel__MType, /* Collection#0: Set[MType] */
-&type_abstract_collection__Collectionabstract_collection__Setmodel__MType, /* Collection[Collection#0]: Collection[Set[MType]] */
+&type_mmodule__MModule, /* HashMapNode#0: MModule */
+&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap2[MType, String, nullable MProperty] */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* nullable N: nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_mmodule__MModule, /* HashNode#0: MModule */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassType, Set[MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType = {
-1545,
-"NativeArray[nullable HashMapNode[MClassType, Set[MType]]]", /* class_name_string */
-3,
+/* runtime type nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_nullable_hash_collection__HashMapNodemmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+71,
+"nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType,
+&resolution_table_hash_collection__HashMapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-368, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
-1545, /* NativeArray[nullable HashMapNode[MClassType, Set[MType]]] */
+471, /* MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+1704, /* HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* NativeArray#0: nullable HashMapNode[MClassType, Set[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Set[MType]]] */
+&type_hash_collection__HashMapmmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, Set[MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType = {
-368,
-"NativeArray[nullable HashMapNode[MType, Set[MType]]]", /* class_name_string */
+/* runtime type MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+const struct type type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+471,
+"MapIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMap[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+472,
+"HashMap[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType,
+&resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-368, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
+472, /* HashMap[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* NativeArray#0: nullable HashMapNode[MType, Set[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Set[MType]]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
+&type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+&type_model__MType, /* Map#0: MType */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Map#1: HashMap[String, nullable MProperty] */
+&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, HashMap[String, nullable MProperty]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, HashMap[String, nullable MProperty]] not a live type) */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapRead#1: HashMap[String, nullable MProperty] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* nullable HashCollection#1: nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
 }
 };
-/* runtime type HashMapNode[MClassType, Set[MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType = {
-2108,
-"HashMapNode[MClassType, Set[MType]]", /* class_name_string */
-5,
+/* runtime type HashMap[String, nullable MProperty] */
+const struct type type_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
+473,
+"HashMap[String, nullable MProperty]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType,
-6,
+&resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-132, /* nullable HashMapNode[MType, Set[MType]] */
-369, /* nullable HashMapNode[MClassType, Set[MType]] */
-1546, /* HashMapNode[MType, Set[MType]] */
-2108, /* HashMapNode[MClassType, Set[MType]] */
+473, /* HashMap[String, nullable MProperty] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_abstract_collection__Setmodel__MType, /* HashMapNode#1: Set[MType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* N: HashMapNode[MClassType, Set[MType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_string__String, /* MapRead#0: String */
+&type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable MProperty] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
+&type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, nullable MProperty] */
+&type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, nullable MProperty] */
+&type_string__String, /* Map#0: String */
+&type_nullable_model__MProperty, /* Map#1: nullable MProperty */
+&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, nullable MProperty] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable MProperty] not a live type) */
+&type_nullable_model__MProperty, /* MapRead#1: nullable MProperty */
+&type_string__String, /* HashCollection#0: String */
+&type_nullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* nullable HashCollection#1: nullable HashMapNode[String, nullable MProperty] */
+&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[String, nullable MProperty] */
+&type_nullable_string__String, /* nullable HashCollection#0: nullable String */
 }
 };
-/* runtime type HashMapNode[MType, Set[MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType = {
-1546,
-"HashMapNode[MType, Set[MType]]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[String, nullable ModulePath] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, nullable ModulePath]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType,
-5,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-132, /* nullable HashMapNode[MType, Set[MType]] */
--1, /* empty */
-1546, /* HashMapNode[MType, Set[MType]] */
+474, /* MapKeysIterator[String, nullable ModulePath] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_abstract_collection__Setmodel__MType, /* HashMapNode#1: Set[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* N: HashMapNode[MType, Set[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_modelbuilder__ModulePath, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, nullable ModulePath] */
 }
 };
-/* runtime type nullable HashMapNode[MClassType, Set[MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType = {
-369,
-"nullable HashMapNode[MClassType, Set[MType]]", /* class_name_string */
+/* runtime type MapValuesIterator[String, nullable ModulePath] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, nullable ModulePath]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath,
 3,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType,
-4,
 {
 0, /* nullable Object */
--1, /* empty */
-132, /* nullable HashMapNode[MType, Set[MType]] */
-369, /* nullable HashMapNode[MClassType, Set[MType]] */
+1, /* Object */
+475, /* MapValuesIterator[String, nullable ModulePath] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_modelbuilder__ModulePath = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_abstract_collection__Setmodel__MType, /* HashMapNode#1: Set[MType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Setmodel__MType, /* N: HashMapNode[MClassType, Set[MType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_array__Arraynullable_modelbuilder__ModulePath, /* Array[Iterator#0]: Array[nullable ModulePath] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_modelbuilder__ModulePath, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, nullable ModulePath] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Set[MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType = {
-132,
-"nullable HashMapNode[MType, Set[MType]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType,
+/* runtime type MapKeysIterator[String, nullable MGroup] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, nullable MGroup]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-132, /* nullable HashMapNode[MType, Set[MType]] */
+1, /* Object */
+476, /* MapKeysIterator[String, nullable MGroup] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringnullable_mproject__MGroup = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_abstract_collection__Setmodel__MType, /* HashMapNode#1: Set[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Setmodel__MType, /* N: HashMapNode[MType, Set[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_mproject__MGroup, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, nullable MGroup] */
 }
 };
-/* runtime type HashMapIterator[MClassType, Set[MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-2109,
-"HashMapIterator[MClassType, Set[MType]]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[String, nullable MGroup] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, nullable MGroup]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-370, /* MapIterator[MType, Set[MType]] */
-1547, /* HashMapIterator[MType, Set[MType]] */
-1548, /* MapIterator[MClassType, Set[MType]] */
-2109, /* HashMapIterator[MClassType, Set[MType]] */
+477, /* MapValuesIterator[String, nullable MGroup] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringnullable_mproject__MGroup = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Setmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Set[MType]] */
+&type_array__Arraynullable_mproject__MGroup, /* Array[Iterator#0]: Array[nullable MGroup] */
+&type_abstract_collection__MapIteratorstring__Stringnullable_mproject__MGroup, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, nullable MGroup] */
 }
 };
-/* runtime type HashMapIterator[MType, Set[MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-1547,
-"HashMapIterator[MType, Set[MType]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MModule, AModule] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, AModule]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Setmodel__MType,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-370, /* MapIterator[MType, Set[MType]] */
-1547, /* HashMapIterator[MType, Set[MType]] */
+478, /* MapKeysIterator[MModule, AModule] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Setmodel__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleparser_nodes__AModule = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Setmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Set[MType]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleparser_nodes__AModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, AModule] */
 }
 };
-/* runtime type MapIterator[MClassType, Set[MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
-1548,
-"MapIterator[MClassType, Set[MType]]", /* class_name_string */
-4,
+/* runtime type MapValuesIterator[MModule, AModule] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, AModule]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-370, /* MapIterator[MType, Set[MType]] */
--1, /* empty */
-1548, /* MapIterator[MClassType, Set[MType]] */
+479, /* MapValuesIterator[MModule, AModule] */
 },
 };
-/* runtime type MapIterator[MType, Set[MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Setmodel__MType = {
-370,
-"MapIterator[MType, Set[MType]]", /* class_name_string */
-2,
-0,
-NULL,
-3,
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleparser_nodes__AModule = {
+0, /* dummy */
 {
-0, /* nullable Object */
-1, /* Object */
-370, /* MapIterator[MType, Set[MType]] */
-},
+&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleparser_nodes__AModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, AModule] */
+}
 };
-/* runtime type HashMap[MClassType, Int] */
-const struct type type_hash_collection__HashMapmodel__MClassTypekernel__Int = {
-2110,
-"HashMap[MClassType, Int]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MClassDef, AClassdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassDef, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassTypekernel__Int,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-242, /* Map[MType, Int] */
-633, /* HashMap[MType, Int] */
-1549, /* Map[MClassType, Int] */
-2110, /* HashMap[MClassType, Int] */
+480, /* MapKeysIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassTypekernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, Int] */
-&type_hash_collection__HashMapValuesmodel__MClassTypekernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, Int]] */
-&type_model__MClassType, /* MapRead#0: MClassType */
-&type_hash_collection__HashMapIteratormodel__MClassTypekernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, Int] */
-&type_model__MClassType, /* Map#0: MClassType */
-&type_kernel__Int, /* Map#1: Int */
-&type_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, Int] */
-&type_abstract_collection__Mapmodel__MClassTypekernel__Int, /* Map[Map#0, Map#1]: Map[MClassType, Int] */
-&type_kernel__Int, /* MapRead#1: Int */
-&type_model__MClassType, /* HashCollection#0: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* HashCollection#1: HashMapNode[MClassType, Int] */
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, AClassdef] */
 }
 };
-/* runtime type Map[MClassType, Int] */
-const struct type type_abstract_collection__Mapmodel__MClassTypekernel__Int = {
-1549,
-"Map[MClassType, Int]", /* class_name_string */
-4,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-242, /* Map[MType, Int] */
--1, /* empty */
-1549, /* Map[MClassType, Int] */
-},
-};
-/* runtime type HashMap[MClassType, Map[MType, Int]] */
-const struct type type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-2111,
-"HashMap[MClassType, Map[MType, Int]]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MClassDef, AClassdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassDef, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-350, /* Map[MType, Map[MType, Int]] */
-1523, /* HashMap[MType, Map[MType, Int]] */
-1550, /* Map[MClassType, Map[MType, Int]] */
-2111, /* HashMap[MClassType, Map[MType, Int]] */
+481, /* MapValuesIterator[MClassDef, AClassdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClassType, Map[MType, Int]] */
-&type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClassType, Map[MType, Int]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
-&type_model__MClassType, /* MapRead#0: MClassType */
-&type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClassType, Map[MType, Int]] */
-&type_model__MClassType, /* Map#0: MClassType */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map#1: Map[MType, Int] */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClassType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* Map[Map#0, Map#1]: Map[MClassType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* MapRead#1: Map[MType, Int] */
-&type_model__MClassType, /* HashCollection#0: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashCollection#1: HashMapNode[MClassType, Map[MType, Int]] */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
+&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, AClassdef] */
 }
 };
-/* runtime type Map[MClassType, Map[MType, Int]] */
-const struct type type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
-1550,
-"Map[MClassType, Map[MType, Int]]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[MPropDef, APropdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MPropDef, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-350, /* Map[MType, Map[MType, Int]] */
--1, /* empty */
-1550, /* Map[MClassType, Map[MType, Int]] */
+482, /* MapKeysIterator[MPropDef, APropdef] */
 },
 };
-/* runtime type HashMapKeys[MType, Int] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypekernel__Int = {
-2112,
-"HashMapKeys[MType, Int]", /* class_name_string */
-2,
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MPropDef, /* Array[Iterator#0]: Array[MPropDef] */
+&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MPropDef, APropdef] */
+}
+};
+/* runtime type MapValuesIterator[MPropDef, APropdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MPropDef, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypekernel__Int,
-8,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2112, /* HashMapKeys[MType, Int] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+483, /* MapValuesIterator[MPropDef, APropdef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Int] */
-&type_abstract_collection__MapKeysIteratormodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
+&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MPropDef, APropdef] */
 }
 };
-/* runtime type HashMapValues[MType, Int] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypekernel__Int = {
-1844,
-"HashMapValues[MType, Int]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MClass, Set[MProperty]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Set[MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypekernel__Int,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1844, /* HashMapValues[MType, Int] */
-164, /* Collection[Object] */
+484, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1705, /* MapKeysIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Int] */
-&type_abstract_collection__MapValuesIteratormodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Int] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* RemovableCollection#0: Int */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MProperty]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, Int]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypekernel__Int = {
-371,
-"NativeArray[nullable HashMapNode[MType, Int]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypekernel__Int,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-371, /* NativeArray[nullable HashMapNode[MType, Int]] */
+484, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MType, Int] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Int]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type HashMapNode[MType, Int] */
-const struct type type_hash_collection__HashMapNodemodel__MTypekernel__Int = {
-1551,
-"HashMapNode[MType, Int]", /* class_name_string */
-4,
+/* runtime type MapValuesIterator[MClass, Set[MProperty]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Set[MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypekernel__Int,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-133, /* nullable HashMapNode[MType, Int] */
--1, /* empty */
-1551, /* HashMapNode[MType, Int] */
+485, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1706, /* MapValuesIterator[MClass, Set[MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MTypekernel__Int, /* N: HashMapNode[MType, Int] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Iterator#0]: Array[Set[MProperty]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MProperty]] */
 }
 };
-/* runtime type nullable HashMapNode[MType, Int] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypekernel__Int = {
-133,
-"nullable HashMapNode[MType, Int]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypekernel__Int,
+/* runtime type MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-133, /* nullable HashMapNode[MType, Int] */
+1, /* Object */
+485, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypekernel__Int = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_kernel__Int, /* HashMapNode#1: Int */
-&type_hash_collection__HashMapNodemodel__MTypekernel__Int, /* N: HashMapNode[MType, Int] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[Set[PropertyLayoutElement]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
 }
 };
-/* runtime type HashMapIterator[MType, Int] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypekernel__Int = {
-1552,
-"HashMapIterator[MType, Int]", /* class_name_string */
+/* runtime type NativeArray[Char] */
+const struct type type_array__NativeArraykernel__Char = {
+1707,
+"NativeArray[Char]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypekernel__Int,
+&resolution_table_array__NativeArraykernel__Char,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-372, /* MapIterator[MType, Int] */
-1552, /* HashMapIterator[MType, Int] */
+115, /* NativeArray[Object] */
+1707, /* NativeArray[Char] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypekernel__Int = {
+const struct types resolution_table_array__NativeArraykernel__Char = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Int] */
+&type_kernel__Char, /* NativeArray#0: Char */
+&type_array__NativeArraykernel__Char, /* NativeArray[NativeArray#0]: NativeArray[Char] */
 }
 };
-/* runtime type MapIterator[MType, Int] */
-const struct type type_abstract_collection__MapIteratormodel__MTypekernel__Int = {
-372,
-"MapIterator[MType, Int]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[String, Option] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Option]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-372, /* MapIterator[MType, Int] */
+486, /* MapKeysIterator[String, Option] */
 },
 };
-/* runtime type ArrayIterator[Match] */
-const struct type type_array__ArrayIteratorstring_search__Match = {
-1553,
-"ArrayIterator[Match]", /* class_name_string */
-3,
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
+0, /* dummy */
+{
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Option] */
+}
+};
+/* runtime type MapValuesIterator[String, Option] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Option]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorstring_search__Match,
-4,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1553, /* ArrayIterator[Match] */
+487, /* MapValuesIterator[String, Option] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorstring_search__Match = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadstring_search__Match, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Match] */
-&type_array__Arraystring_search__Match, /* Array[Iterator#0]: Array[Match] */
+&type_array__Arrayopts__Option, /* Array[Iterator#0]: Array[Option] */
+&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Option] */
 }
 };
-/* runtime type NativeArray[Match] */
-const struct type type_array__NativeArraystring_search__Match = {
-1554,
-"NativeArray[Match]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MClassDef, HashSet[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassDef, HashSet[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraystring_search__Match,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1554, /* NativeArray[Match] */
+488, /* MapKeysIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraystring_search__Match = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_string_search__Match, /* NativeArray#0: Match */
-&type_array__NativeArraystring_search__Match, /* NativeArray[NativeArray#0]: NativeArray[Match] */
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
 }
 };
-/* runtime type ArrayIterator[ReduceAction] */
-const struct type type_array__ArrayIteratorparser__ReduceAction = {
-1555,
-"ArrayIterator[ReduceAction]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MClassDef, HashSet[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassDef, HashSet[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorparser__ReduceAction,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1555, /* ArrayIterator[ReduceAction] */
+489, /* MapValuesIterator[MClassDef, HashSet[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser__ReduceAction = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser__ReduceAction, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ReduceAction] */
-&type_array__Arrayparser__ReduceAction, /* Array[Iterator#0]: Array[ReduceAction] */
+&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
+&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
 }
 };
-/* runtime type NativeArray[ReduceAction] */
-const struct type type_array__NativeArrayparser__ReduceAction = {
-1556,
-"NativeArray[ReduceAction]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MClass, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayparser__ReduceAction,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1556, /* NativeArray[ReduceAction] */
+490, /* MapKeysIterator[MClass, Int] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser__ReduceAction = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_parser__ReduceAction, /* NativeArray#0: ReduceAction */
-&type_array__NativeArrayparser__ReduceAction, /* NativeArray[NativeArray#0]: NativeArray[ReduceAction] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Int] */
 }
 };
-/* runtime type Array[AImport] */
-const struct type type_array__Arrayparser_nodes__AImport = {
-2615,
-"Array[AImport]", /* class_name_string */
-13,
-0,
-&resolution_table_array__Arrayparser_nodes__AImport,
-15,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1933, /* Collection[AImport] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2564, /* AbstractArrayRead[AImport] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2615, /* Array[AImport] */
-2579, /* Array[Prod] */
-},
-};
-const struct types resolution_table_array__Arrayparser_nodes__AImport = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AImport, /* Array[Array#0]: Array[AImport] */
-&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[Array#0]: NativeArray[AImport] */
-&type_parser_nodes__AImport, /* Sequence#0: AImport */
-&type_parser_nodes__AImport, /* SimpleCollection#0: AImport */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Array#0]: Collection[AImport] */
-&type_parser_nodes__AImport, /* Array#0: AImport */
-&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[ArrayCapable#0]: NativeArray[AImport] */
-&type_parser_nodes__AImport, /* AbstractArray#0: AImport */
-&type_parser_nodes__AImport, /* RemovableCollection#0: AImport */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Sequence#0]: Collection[AImport] */
-&type_array__Arrayparser_nodes__AImport, /* Array[Sequence#0]: Array[AImport] */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[SimpleCollection#0]: Collection[AImport] */
-&type_parser_nodes__AImport, /* Collection#0: AImport */
-&type_abstract_collection__Collectionparser_nodes__AImport, /* Collection[Collection#0]: Collection[AImport] */
-&type_parser_nodes__AImport, /* SequenceRead#0: AImport */
-&type_parser_nodes__AImport, /* AbstractArrayRead#0: AImport */
-&type_array__Arrayparser_nodes__AImport, /* Array[AbstractArrayRead#0]: Array[AImport] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AImport] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AImport, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AImport] */
-}
-};
-/* runtime type AbstractArrayRead[AImport] */
-const struct type type_array__AbstractArrayReadparser_nodes__AImport = {
-2564,
-"AbstractArrayRead[AImport]", /* class_name_string */
-10,
+/* runtime type MapValuesIterator[MClass, Int] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-13,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1933, /* Collection[AImport] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2564, /* AbstractArrayRead[AImport] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
+491, /* MapValuesIterator[MClass, Int] */
 },
 };
-/* runtime type HashMapKeys[MClass, MClassType] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassmodel__MClassType = {
-2113,
-"HashMapKeys[MClass, MClassType]", /* class_name_string */
-3,
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Int] */
+}
+};
+/* runtime type MapKeysIterator[MType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassmodel__MClassType,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2113, /* HashMapKeys[MClass, MClassType] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
+492, /* MapKeysIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassmodel__MClassType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, MClassType] */
-&type_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, MClassType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[nullable MType]] */
 }
 };
-/* runtime type HashMapValues[MClass, MClassType] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassmodel__MClassType = {
-2361,
-"HashMapValues[MClass, MClassType]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassmodel__MClassType,
-11,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2361, /* HashMapValues[MClass, MClassType] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1916, /* Collection[MClassType] */
+493, /* MapValuesIterator[MType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassmodel__MClassType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, MClassType] */
-&type_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, MClassType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[nullable MType]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, MClassType]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType = {
-373,
-"NativeArray[nullable HashMapNode[MClass, MClassType]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MClassType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassType, Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType,
-3,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-373, /* NativeArray[nullable HashMapNode[MClass, MClassType]] */
+492, /* MapKeysIterator[MType, Array[nullable MType]] */
+1708, /* MapKeysIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* NativeArray#0: nullable HashMapNode[MClass, MClassType] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, MClassType]] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
 }
 };
-/* runtime type HashMapNode[MClass, MClassType] */
-const struct type type_hash_collection__HashMapNodemodel__MClassmodel__MClassType = {
-1557,
-"HashMapNode[MClass, MClassType]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MClassType, Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassType, Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassmodel__MClassType,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-134, /* nullable HashMapNode[MClass, MClassType] */
-1557, /* HashMapNode[MClass, MClassType] */
+493, /* MapValuesIterator[MType, Array[nullable MType]] */
+1709, /* MapValuesIterator[MClassType, Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_model__MClassType, /* HashMapNode#1: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* N: HashMapNode[MClass, MClassType] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
 }
 };
-/* runtime type nullable HashMapNode[MClass, MClassType] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType = {
-134,
-"nullable HashMapNode[MClass, MClassType]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType,
+/* runtime type MapKeysIterator[MClass, Array[nullable MPropDef]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-134, /* nullable HashMapNode[MClass, MClassType] */
+1, /* Object */
+494, /* MapKeysIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_model__MClassType, /* HashMapNode#1: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* N: HashMapNode[MClass, MClassType] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
 }
 };
-/* runtime type HashMapIterator[MClass, MClassType] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassmodel__MClassType = {
-1558,
-"HashMapIterator[MClass, MClassType]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MClass, Array[nullable MPropDef]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassmodel__MClassType,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-374, /* MapIterator[MClass, MClassType] */
-1558, /* HashMapIterator[MClass, MClassType] */
+495, /* MapValuesIterator[MClass, Array[nullable MPropDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassmodel__MClassType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, MClassType] */
+&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[Array[nullable MPropDef]] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
 }
 };
-/* runtime type MapIterator[MClass, MClassType] */
-const struct type type_abstract_collection__MapIteratormodel__MClassmodel__MClassType = {
-374,
-"MapIterator[MClass, MClassType]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[String, String] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, String]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-374, /* MapIterator[MClass, MClassType] */
+496, /* MapKeysIterator[String, String] */
 },
 };
-/* runtime type ArrayMapKeys[MClass, AType] */
-const struct type type_array__ArrayMapKeysmodel__MClassparser_nodes__AType = {
-2114,
-"ArrayMapKeys[MClass, AType]", /* class_name_string */
-3,
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
+0, /* dummy */
+{
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, String] */
+}
+};
+/* runtime type MapValuesIterator[String, String] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, String]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayMapKeysmodel__MClassparser_nodes__AType,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2114, /* ArrayMapKeys[MClass, AType] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
+497, /* MapValuesIterator[String, String] */
 },
 };
-const struct types resolution_table_array__ArrayMapKeysmodel__MClassparser_nodes__AType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
 0, /* dummy */
 {
-&type_array__ArrayMapmodel__MClassparser_nodes__AType, /* ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]: ArrayMap[MClass, AType] */
-&type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType, /* MapKeysIterator[ArrayMapKeys#0, ArrayMapKeys#1]: MapKeysIterator[MClass, AType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, String] */
 }
 };
-/* runtime type ArrayMapValues[MClass, AType] */
-const struct type type_array__ArrayMapValuesmodel__MClassparser_nodes__AType = {
-2362,
-"ArrayMapValues[MClass, AType]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[CodeFile] */
+const struct type type_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
+-1, /*CAST DEAD*/
+"ContainerIterator[CodeFile]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayMapValuesmodel__MClassparser_nodes__AType,
-8,
+&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-2362, /* ArrayMapValues[MClass, AType] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
--1, /* empty */
-1960, /* Collection[AType] */
+498, /* ContainerIterator[CodeFile] */
 },
 };
-const struct types resolution_table_array__ArrayMapValuesmodel__MClassparser_nodes__AType = {
+const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_array__ArrayMapmodel__MClassparser_nodes__AType, /* ArrayMap[ArrayMapValues#0, ArrayMapValues#1]: ArrayMap[MClass, AType] */
-&type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType, /* MapValuesIterator[ArrayMapValues#0, ArrayMapValues#1]: MapValuesIterator[MClass, AType] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AType, /* RemovableCollection#0: AType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AType, /* Collection#0: AType */
-&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Collection#0]: Collection[AType] */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
+&type_abstract_collection__Containerabstract_compiler__CodeFile, /* Container[ContainerIterator#0]: Container[CodeFile] */
 }
 };
-/* runtime type Couple[MClass, AType] */
-const struct type type_abstract_collection__Couplemodel__MClassparser_nodes__AType = {
-375,
-"Couple[MClass, AType]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[CodeFile] */
+const struct type type_array__ArrayIteratorabstract_compiler__CodeFile = {
+-1, /*CAST DEAD*/
+"ArrayIterator[CodeFile]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__Couplemodel__MClassparser_nodes__AType,
-3,
+&resolution_table_array__ArrayIteratorabstract_compiler__CodeFile,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-375, /* Couple[MClass, AType] */
+321, /* ArrayIterator[Object] */
+1710, /* ArrayIterator[CodeFile] */
 },
 };
-const struct types resolution_table_abstract_collection__Couplemodel__MClassparser_nodes__AType = {
+const struct types resolution_table_array__ArrayIteratorabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_model__MClass, /* Couple#0: MClass */
-&type_parser_nodes__AType, /* Couple#1: AType */
+&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
+&type_array__AbstractArrayReadabstract_compiler__CodeFile, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[CodeFile] */
 }
 };
-/* runtime type CoupleMapIterator[MClass, AType] */
-const struct type type_abstract_collection__CoupleMapIteratormodel__MClassparser_nodes__AType = {
-1559,
-"CoupleMapIterator[MClass, AType]", /* class_name_string */
+/* runtime type NativeArray[CodeFile] */
+const struct type type_array__NativeArrayabstract_compiler__CodeFile = {
+1711,
+"NativeArray[CodeFile]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__CoupleMapIteratormodel__MClassparser_nodes__AType,
+&resolution_table_array__NativeArrayabstract_compiler__CodeFile,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-376, /* MapIterator[MClass, AType] */
-1559, /* CoupleMapIterator[MClass, AType] */
+115, /* NativeArray[Object] */
+1711, /* NativeArray[CodeFile] */
 },
 };
-const struct types resolution_table_abstract_collection__CoupleMapIteratormodel__MClassparser_nodes__AType = {
+const struct types resolution_table_array__NativeArrayabstract_compiler__CodeFile = {
 0, /* dummy */
 {
-&type_abstract_collection__Iteratorabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Iterator[Couple[CoupleMapIterator#0, CoupleMapIterator#1]]: Iterator[Couple[MClass, AType]] */
+&type_abstract_compiler__CodeFile, /* NativeArray#0: CodeFile */
+&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[NativeArray#0]: NativeArray[CodeFile] */
 }
 };
-/* runtime type MapIterator[MClass, AType] */
-const struct type type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType = {
-376,
-"MapIterator[MClass, AType]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[String, ANode] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__ANode = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, ANode]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__ANode,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-376, /* MapIterator[MClass, AType] */
+499, /* MapKeysIterator[String, ANode] */
 },
 };
-/* runtime type Array[Couple[MClass, AType]] */
-const struct type type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-2509,
-"Array[Couple[MClass, AType]]", /* class_name_string */
-7,
-0,
-&resolution_table_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-1560, /* Collection[Couple[MClass, AType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2363, /* AbstractArrayRead[Couple[MClass, AType]] */
-1728, /* AbstractArrayRead[Object] */
-2509, /* Array[Couple[MClass, AType]] */
--1, /* empty */
-1911, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-0, /* dummy */
-{
-&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Array#0]: Array[Couple[MClass, AType]] */
-&type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray[Array#0]: NativeArray[Couple[MClass, AType]] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* Sequence#0: Couple[MClass, AType] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* SimpleCollection#0: Couple[MClass, AType] */
-&type_abstract_collection__Collectionabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Collection[Array#0]: Collection[Couple[MClass, AType]] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array#0: Couple[MClass, AType] */
-&type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray[ArrayCapable#0]: NativeArray[Couple[MClass, AType]] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* AbstractArray#0: Couple[MClass, AType] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* RemovableCollection#0: Couple[MClass, AType] */
-&type_abstract_collection__Collectionabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Collection[Sequence#0]: Collection[Couple[MClass, AType]] */
-&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Sequence#0]: Array[Couple[MClass, AType]] */
-&type_abstract_collection__Collectionabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Collection[SimpleCollection#0]: Collection[Couple[MClass, AType]] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* Collection#0: Couple[MClass, AType] */
-&type_abstract_collection__Collectionabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Collection[Collection#0]: Collection[Couple[MClass, AType]] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* SequenceRead#0: Couple[MClass, AType] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* AbstractArrayRead#0: Couple[MClass, AType] */
-&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[AbstractArrayRead#0]: Array[Couple[MClass, AType]] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Couple[MClass, AType]] not a live type) */
-&type_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Couple[MClass, AType]] */
-}
-};
-/* runtime type Collection[Couple[MClass, AType]] */
-const struct type type_abstract_collection__Collectionabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-1560,
-"Collection[Couple[MClass, AType]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1560, /* Collection[Couple[MClass, AType]] */
--1, /* empty */
-164, /* Collection[Object] */
-},
-};
-/* runtime type AbstractArrayRead[Couple[MClass, AType]] */
-const struct type type_array__AbstractArrayReadabstract_collection__Couplemodel__MClassparser_nodes__AType = {
-2363,
-"AbstractArrayRead[Couple[MClass, AType]]", /* class_name_string */
-5,
-0,
-NULL,
-7,
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__ANode = {
+0, /* dummy */
 {
-0, /* nullable Object */
-1, /* Object */
-1560, /* Collection[Couple[MClass, AType]] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2363, /* AbstractArrayRead[Couple[MClass, AType]] */
-1728, /* AbstractArrayRead[Object] */
-},
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringparser_nodes__ANode, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, ANode] */
+}
 };
-/* runtime type ListNode[Scope] */
-const struct type type_list__ListNodescope__Scope = {
-2115,
-"ListNode[Scope]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[String, ANode] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__ANode = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, ANode]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__ListNodescope__Scope,
-6,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__ANode,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1420, /* Collection[Scope] */
-1845, /* Container[Scope] */
-164, /* Collection[Object] */
-2115, /* ListNode[Scope] */
+500, /* MapValuesIterator[String, ANode] */
 },
 };
-const struct types resolution_table_list__ListNodescope__Scope = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_scope__Scope, /* ListNode#0: Scope */
-&type_list__ListNodescope__Scope, /* ListNode[ListNode#0]: ListNode[Scope] */
-&type_abstract_collection__ContainerIteratorscope__Scope, /* ContainerIterator[Container#0]: ContainerIterator[Scope] */
-&type_scope__Scope, /* Container#0: Scope */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_scope__Scope, /* Collection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Collection#0]: Collection[Scope] */
+&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
+&type_abstract_collection__MapIteratorstring__Stringparser_nodes__ANode, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, ANode] */
 }
 };
-/* runtime type Container[Scope] */
-const struct type type_abstract_collection__Containerscope__Scope = {
-1845,
-"Container[Scope]", /* class_name_string */
-3,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1420, /* Collection[Scope] */
-1845, /* Container[Scope] */
-164, /* Collection[Object] */
-},
-};
-/* runtime type ListIterator[Scope] */
-const struct type type_list__ListIteratorscope__Scope = {
-377,
-"ListIterator[Scope]", /* class_name_string */
-2,
+/* runtime type ContainerIterator[MMethodDef] */
+const struct type type_abstract_collection__ContainerIteratormodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"ContainerIterator[MMethodDef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__ListIteratorscope__Scope,
+&resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-377, /* ListIterator[Scope] */
+501, /* ContainerIterator[MMethodDef] */
 },
 };
-const struct types resolution_table_list__ListIteratorscope__Scope = {
+const struct types resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef = {
 0, /* dummy */
 {
-&type_scope__Scope, /* ListIterator#0: Scope */
-&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
-&type_list__Listscope__Scope, /* List[ListIterator#0]: List[Scope] */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_abstract_collection__Containermodel__MMethodDef, /* Container[ContainerIterator#0]: Container[MMethodDef] */
 }
 };
-/* runtime type ArrayIterator[FlowContext] */
-const struct type type_array__ArrayIteratorflow__FlowContext = {
-1561,
-"ArrayIterator[FlowContext]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[MMethodDef] */
+const struct type type_array__ArrayIteratormodel__MMethodDef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MMethodDef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorflow__FlowContext,
-4,
+&resolution_table_array__ArrayIteratormodel__MMethodDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1561, /* ArrayIterator[FlowContext] */
+321, /* ArrayIterator[Object] */
+413, /* ArrayIterator[nullable MPropDef] */
+1524, /* ArrayIterator[PropertyLayoutElement] */
+2150, /* ArrayIterator[MPropDef] */
+2443, /* ArrayIterator[MMethodDef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorflow__FlowContext = {
+const struct types resolution_table_array__ArrayIteratormodel__MMethodDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadflow__FlowContext, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[FlowContext] */
-&type_array__Arrayflow__FlowContext, /* Array[Iterator#0]: Array[FlowContext] */
+&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_array__AbstractArrayReadmodel__MMethodDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethodDef] */
 }
 };
-/* runtime type NativeArray[FlowContext] */
-const struct type type_array__NativeArrayflow__FlowContext = {
-1562,
-"NativeArray[FlowContext]", /* class_name_string */
-3,
+/* runtime type NativeArray[MMethodDef] */
+const struct type type_array__NativeArraymodel__MMethodDef = {
+2444,
+"NativeArray[MMethodDef]", /* class_name_string */
+6,
 0,
-&resolution_table_array__NativeArrayflow__FlowContext,
-4,
+&resolution_table_array__NativeArraymodel__MMethodDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1562, /* NativeArray[FlowContext] */
+115, /* NativeArray[Object] */
+414, /* NativeArray[nullable MPropDef] */
+1525, /* NativeArray[PropertyLayoutElement] */
+2151, /* NativeArray[MPropDef] */
+2444, /* NativeArray[MMethodDef] */
 },
 };
-const struct types resolution_table_array__NativeArrayflow__FlowContext = {
+const struct types resolution_table_array__NativeArraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_flow__FlowContext, /* NativeArray#0: FlowContext */
-&type_array__NativeArrayflow__FlowContext, /* NativeArray[NativeArray#0]: NativeArray[FlowContext] */
+&type_model__MMethodDef, /* NativeArray#0: MMethodDef */
+&type_array__NativeArraymodel__MMethodDef, /* NativeArray[NativeArray#0]: NativeArray[MMethodDef] */
 }
 };
-/* runtime type HashSetNode[Variable] */
-const struct type type_hash_collection__HashSetNodescope__Variable = {
-2116,
-"HashSetNode[Variable]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MClassType, String] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassType, String]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetNodescope__Variable,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-116, /* nullable HashSetNode[Object] */
-378, /* nullable HashSetNode[Variable] */
-1456, /* HashSetNode[Object] */
-2116, /* HashSetNode[Variable] */
+502, /* MapKeysIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetNodescope__Variable = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_scope__Variable, /* HashSetNode#0: Variable */
-NULL, /* empty */
-&type_hash_collection__HashSetNodescope__Variable, /* N: HashSetNode[Variable] */
-&type_scope__Variable, /* HashNode#0: Variable */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, String] */
 }
 };
-/* runtime type nullable HashSetNode[Variable] */
-const struct type type_nullable_hash_collection__HashSetNodescope__Variable = {
-378,
-"nullable HashSetNode[Variable]", /* class_name_string */
+/* runtime type MapValuesIterator[MClassType, String] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassType, String]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String,
 3,
-1,
-&resolution_table_nullable_hash_collection__HashSetNodescope__Variable,
-4,
 {
 0, /* nullable Object */
--1, /* empty */
-116, /* nullable HashSetNode[Object] */
-378, /* nullable HashSetNode[Variable] */
+1, /* Object */
+503, /* MapValuesIterator[MClassType, String] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashSetNodescope__Variable = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
 0, /* dummy */
 {
-&type_scope__Variable, /* HashSetNode#0: Variable */
-NULL, /* empty */
-&type_hash_collection__HashSetNodescope__Variable, /* N: HashSetNode[Variable] */
-&type_scope__Variable, /* HashNode#0: Variable */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, String] */
 }
 };
-/* runtime type HashSetIterator[Variable] */
-const struct type type_hash_collection__HashSetIteratorscope__Variable = {
-1563,
-"HashSetIterator[Variable]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[AbstractRuntimeFunction] */
+const struct type type_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
+-1, /*CAST DEAD*/
+"ContainerIterator[AbstractRuntimeFunction]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetIteratorscope__Variable,
-4,
+&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-307, /* HashSetIterator[Object] */
-1563, /* HashSetIterator[Variable] */
+504, /* ContainerIterator[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetIteratorscope__Variable = {
+const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetscope__Variable, /* HashSet[HashSetIterator#0]: HashSet[Variable] */
-&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
+&type_abstract_collection__Containerabstract_compiler__AbstractRuntimeFunction, /* Container[ContainerIterator#0]: Container[AbstractRuntimeFunction] */
 }
 };
-/* runtime type NativeArray[nullable HashSetNode[Variable]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable = {
-1564,
-"NativeArray[nullable HashSetNode[Variable]]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[AbstractRuntimeFunction] */
+const struct type type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AbstractRuntimeFunction]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable,
+&resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-308, /* NativeArray[nullable HashSetNode[Object]] */
-1564, /* NativeArray[nullable HashSetNode[Variable]] */
+321, /* ArrayIterator[Object] */
+1712, /* ArrayIterator[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable = {
+const struct types resolution_table_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashSetNodescope__Variable, /* NativeArray#0: nullable HashSetNode[Variable] */
-&type_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Variable]] */
+&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
+&type_array__AbstractArrayReadabstract_compiler__AbstractRuntimeFunction, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AbstractRuntimeFunction] */
 }
 };
-/* runtime type ArrayIterator[MMethod] */
-const struct type type_array__ArrayIteratormodel__MMethod = {
-2364,
-"ArrayIterator[MMethod]", /* class_name_string */
-6,
+/* runtime type NativeArray[AbstractRuntimeFunction] */
+const struct type type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
+1713,
+"NativeArray[AbstractRuntimeFunction]", /* class_name_string */
+3,
 0,
-&resolution_table_array__ArrayIteratormodel__MMethod,
-7,
+&resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-286, /* ArrayIterator[nullable MProperty] */
-1435, /* ArrayIterator[PropertyLayoutElement] */
-2060, /* ArrayIterator[MProperty] */
-2364, /* ArrayIterator[MMethod] */
+115, /* NativeArray[Object] */
+1713, /* NativeArray[AbstractRuntimeFunction] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MMethod = {
+const struct types resolution_table_array__NativeArrayabstract_compiler__AbstractRuntimeFunction = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MMethod, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MMethod] */
-&type_array__Arraymodel__MMethod, /* Array[Iterator#0]: Array[MMethod] */
+&type_abstract_compiler__AbstractRuntimeFunction, /* NativeArray#0: AbstractRuntimeFunction */
+&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[NativeArray#0]: NativeArray[AbstractRuntimeFunction] */
 }
 };
-/* runtime type NativeArray[MMethod] */
-const struct type type_array__NativeArraymodel__MMethod = {
-2365,
-"NativeArray[MMethod]", /* class_name_string */
-6,
+/* runtime type MapKeysIterator[MType, Array[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Array[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymodel__MMethod,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-287, /* NativeArray[nullable MProperty] */
-1436, /* NativeArray[PropertyLayoutElement] */
-2061, /* NativeArray[MProperty] */
-2365, /* NativeArray[MMethod] */
+492, /* MapKeysIterator[MType, Array[nullable MType]] */
+1714, /* MapKeysIterator[MType, Array[MType]] */
+1974, /* MapKeysIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MMethod = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_model__MMethod, /* NativeArray#0: MMethod */
-&type_array__NativeArraymodel__MMethod, /* NativeArray[NativeArray#0]: NativeArray[MMethod] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MClassType]] */
 }
 };
-/* runtime type ArrayIterator[MParameterType] */
-const struct type type_array__ArrayIteratormodel__MParameterType = {
-2117,
-"ArrayIterator[MParameterType]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MType, Array[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Array[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratormodel__MParameterType,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-337, /* ArrayIterator[nullable MType] */
-1818, /* ArrayIterator[MType] */
-2117, /* ArrayIterator[MParameterType] */
+492, /* MapKeysIterator[MType, Array[nullable MType]] */
+1714, /* MapKeysIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MParameterType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MParameterType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MParameterType] */
-&type_array__Arraymodel__MParameterType, /* Array[Iterator#0]: Array[MParameterType] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MType]] */
 }
 };
-/* runtime type NativeArray[MParameterType] */
-const struct type type_array__NativeArraymodel__MParameterType = {
-2118,
-"NativeArray[MParameterType]", /* class_name_string */
-5,
+/* runtime type MapValuesIterator[MType, Array[MClassType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Array[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymodel__MParameterType,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-338, /* NativeArray[nullable MType] */
-1819, /* NativeArray[MType] */
-2118, /* NativeArray[MParameterType] */
+493, /* MapValuesIterator[MType, Array[nullable MType]] */
+1715, /* MapValuesIterator[MType, Array[MType]] */
+1975, /* MapValuesIterator[MType, Array[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MParameterType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
 0, /* dummy */
 {
-&type_model__MParameterType, /* NativeArray#0: MParameterType */
-&type_array__NativeArraymodel__MParameterType, /* NativeArray[NativeArray#0]: NativeArray[MParameterType] */
+&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Iterator#0]: Array[Array[MClassType]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MClassType]] */
 }
 };
-/* runtime type HashMap[MClass, POSetElement[MClass]] */
-const struct type type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass = {
-379,
-"HashMap[MClass, POSetElement[MClass]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MType, Array[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Array[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass,
-3,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-379, /* HashMap[MClass, POSetElement[MClass]] */
+493, /* MapValuesIterator[MType, Array[nullable MType]] */
+1715, /* MapValuesIterator[MType, Array[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
 0, /* dummy */
 {
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, POSetElement[MClass]] */
-&type_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, POSetElement[MClass]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, POSetElement[MClass]] */
-&type_model__MClass, /* Map#0: MClass */
-&type_poset__POSetElementmodel__MClass, /* Map#1: POSetElement[MClass] */
-&type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, POSetElement[MClass]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, POSetElement[MClass]] not a live type) */
-&type_poset__POSetElementmodel__MClass, /* MapRead#1: POSetElement[MClass] */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* HashCollection#1: HashMapNode[MClass, POSetElement[MClass]] */
+&type_array__Arrayarray__Arraymodel__MType, /* Array[Iterator#0]: Array[Array[MType]] */
+&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MType]] */
 }
 };
-/* runtime type POSetElement[MClass] */
-const struct type type_poset__POSetElementmodel__MClass = {
-380,
-"POSetElement[MClass]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[String, Int] */
+const struct type type_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[String, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_poset__POSetElementmodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-380, /* POSetElement[MClass] */
+505, /* MapKeysIterator[String, Int] */
 },
 };
-const struct types resolution_table_poset__POSetElementmodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetmodel__MClass, /* HashSet[POSetElement#0]: HashSet[MClass] */
-&type_poset__POSetmodel__MClass, /* POSet[POSetElement#0]: POSet[MClass] */
-&type_model__MClass, /* POSetElement#0: MClass */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Int] */
 }
 };
-/* runtime type ArraySetIterator[MType] */
-const struct type type_array__ArraySetIteratormodel__MType = {
-381,
-"ArraySetIterator[MType]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[String, Int] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArraySetIteratormodel__MType,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-381, /* ArraySetIterator[MType] */
+506, /* MapValuesIterator[String, Int] */
 },
 };
-const struct types resolution_table_array__ArraySetIteratormodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
 0, /* dummy */
 {
-&type_array__ArrayIteratormodel__MType, /* ArrayIterator[ArraySetIterator#0]: ArrayIterator[MType] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Int] */
 }
 };
-/* runtime type Array[AExternCodeBlock] */
-const struct type type_array__Arrayparser_nodes__AExternCodeBlock = {
-2616,
-"Array[AExternCodeBlock]", /* class_name_string */
-13,
-0,
-&resolution_table_array__Arrayparser_nodes__AExternCodeBlock,
-15,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1937, /* Collection[AExternCodeBlock] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2565, /* AbstractArrayRead[AExternCodeBlock] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2616, /* Array[AExternCodeBlock] */
-2579, /* Array[Prod] */
-},
-};
-const struct types resolution_table_array__Arrayparser_nodes__AExternCodeBlock = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Array#0]: Array[AExternCodeBlock] */
-&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[Array#0]: NativeArray[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* Sequence#0: AExternCodeBlock */
-&type_parser_nodes__AExternCodeBlock, /* SimpleCollection#0: AExternCodeBlock */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[Array#0]: Collection[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* Array#0: AExternCodeBlock */
-&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[ArrayCapable#0]: NativeArray[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* AbstractArray#0: AExternCodeBlock */
-&type_parser_nodes__AExternCodeBlock, /* RemovableCollection#0: AExternCodeBlock */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[Sequence#0]: Collection[AExternCodeBlock] */
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Sequence#0]: Array[AExternCodeBlock] */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[SimpleCollection#0]: Collection[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* Collection#0: AExternCodeBlock */
-&type_abstract_collection__Collectionparser_nodes__AExternCodeBlock, /* Collection[Collection#0]: Collection[AExternCodeBlock] */
-&type_parser_nodes__AExternCodeBlock, /* SequenceRead#0: AExternCodeBlock */
-&type_parser_nodes__AExternCodeBlock, /* AbstractArrayRead#0: AExternCodeBlock */
-&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[AbstractArrayRead#0]: Array[AExternCodeBlock] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AExternCodeBlock] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AExternCodeBlock, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AExternCodeBlock] */
-}
-};
-/* runtime type AbstractArrayRead[AExternCodeBlock] */
-const struct type type_array__AbstractArrayReadparser_nodes__AExternCodeBlock = {
-2565,
-"AbstractArrayRead[AExternCodeBlock]", /* class_name_string */
-10,
-0,
-NULL,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1937, /* Collection[AExternCodeBlock] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2565, /* AbstractArrayRead[AExternCodeBlock] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
-},
-};
-/* runtime type HashMapKeys[MClass, AClassdef] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassparser_nodes__AClassdef = {
-2119,
-"HashMapKeys[MClass, AClassdef]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, Array[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassparser_nodes__AClassdef,
-6,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2119, /* HashMapKeys[MClass, AClassdef] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
+2149, /* HashMapKeys[MClass, Array[nullable MClass]] */
+2445, /* HashMapKeys[MClass, Array[MClass]] */
+92, /* Collection[Object] */
+99, /* Collection[nullable MClass] */
+1866, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, AClassdef] */
-&type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, AClassdef] */
+&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Array[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Array[MClass]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
@@ -5288,4708 +4906,5090 @@ NULL, /* empty */
 &type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[MClass, AClassdef] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassparser_nodes__AClassdef = {
-2366,
-"HashMapValues[MClass, AClassdef]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, Array[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassparser_nodes__AClassdef,
-8,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-2366, /* HashMapValues[MClass, AClassdef] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
--1, /* empty */
-1926, /* Collection[AClassdef] */
+1528, /* Collection[Array[nullable MClass]] */
+1940, /* HashMapValues[MClass, Array[nullable MClass]] */
+92, /* Collection[Object] */
+1900, /* Collection[Array[MClass]] */
+2446, /* HashMapValues[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, AClassdef] */
-&type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, AClassdef] */
+&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Array[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraymodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Array[MClass]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_parser_nodes__AClassdef, /* RemovableCollection#0: AClassdef */
+&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_parser_nodes__AClassdef, /* Collection#0: AClassdef */
-&type_abstract_collection__Collectionparser_nodes__AClassdef, /* Collection[Collection#0]: Collection[AClassdef] */
+&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MClass, AClassdef]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
-382,
-"NativeArray[nullable HashMapNode[MClass, AClassdef]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef,
+/* runtime type NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+1716,
+"NativeArray[nullable HashMapNode[MClass, Array[MClass]]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-382, /* NativeArray[nullable HashMapNode[MClass, AClassdef]] */
+411, /* NativeArray[nullable HashMapNode[MClass, Array[nullable MClass]]] */
+1716, /* NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* NativeArray#0: nullable HashMapNode[MClass, AClassdef] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, AClassdef]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Array[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Array[MClass]]] */
 }
 };
-/* runtime type HashMapNode[MClass, AClassdef] */
-const struct type type_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
-1565,
-"HashMapNode[MClass, AClassdef]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+2171,
+"HashMapNode[MClass, Array[MClass]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-135, /* nullable HashMapNode[MClass, AClassdef] */
-1565, /* HashMapNode[MClass, AClassdef] */
+52, /* nullable HashMapNode[MClass, Array[nullable MClass]] */
+507, /* nullable HashMapNode[MClass, Array[MClass]] */
+1627, /* HashMapNode[MClass, Array[nullable MClass]] */
+2171, /* HashMapNode[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
 &type_model__MClass, /* HashMapNode#0: MClass */
-&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
-&type_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* N: HashMapNode[MClass, AClassdef] */
+&type_array__Arraymodel__MClass, /* HashMapNode#1: Array[MClass] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass, /* nullable N: nullable HashMapNode[MClass, Array[MClass]] */
 &type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[MClass, AClassdef] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
-135,
-"nullable HashMapNode[MClass, AClassdef]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef,
+/* runtime type nullable HashMapNode[MClass, Array[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassarray__Arraymodel__MClass = {
+507,
+"nullable HashMapNode[MClass, Array[MClass]]", /* class_name_string */
 3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClass, Array[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, Array[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-135, /* nullable HashMapNode[MClass, AClassdef] */
+1, /* Object */
+412, /* MapIterator[MClass, Array[nullable MClass]] */
+1628, /* HashMapIterator[MClass, Array[nullable MClass]] */
+1717, /* MapIterator[MClass, Array[MClass]] */
+2172, /* HashMapIterator[MClass, Array[MClass]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassarray__Arraymodel__MClass = {
 0, /* dummy */
 {
-&type_model__MClass, /* HashMapNode#0: MClass */
-&type_parser_nodes__AClassdef, /* HashMapNode#1: AClassdef */
-&type_hash_collection__HashMapNodemodel__MClassparser_nodes__AClassdef, /* N: HashMapNode[MClass, AClassdef] */
-&type_model__MClass, /* HashNode#0: MClass */
+&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Array[MClass]] */
 }
 };
-/* runtime type HashMapIterator[MClass, AClassdef] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassparser_nodes__AClassdef = {
-1566,
-"HashMapIterator[MClass, AClassdef]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassparser_nodes__AClassdef,
+/* runtime type MapIterator[MClass, Array[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassarray__Arraymodel__MClass = {
+1717,
+"MapIterator[MClass, Array[MClass]]", /* class_name_string */
 4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, HashSet[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-383, /* MapIterator[MClass, AClassdef] */
-1566, /* HashMapIterator[MClass, AClassdef] */
+2173, /* HashMapKeys[MClass, Set[MClass]] */
+2447, /* HashMapKeys[MClass, HashSet[MClass]] */
+92, /* Collection[Object] */
+99, /* Collection[nullable MClass] */
+1866, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassparser_nodes__AClassdef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, AClassdef] */
+&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, HashSet[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, HashSet[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* RemovableCollection#0: MClass */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type MapIterator[MClass, AClassdef] */
-const struct type type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef = {
-383,
-"MapIterator[MClass, AClassdef]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-383, /* MapIterator[MClass, AClassdef] */
-},
-};
-/* runtime type HashMapKeys[MProperty, APropdef] */
-const struct type type_hash_collection__HashMapKeysmodel__MPropertyparser_nodes__APropdef = {
-2367,
-"HashMapKeys[MProperty, APropdef]", /* class_name_string */
-3,
+/* 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__MPropertyparser_nodes__APropdef,
-11,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-172, /* Collection[nullable MProperty] */
-2367, /* HashMapKeys[MProperty, APropdef] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
+2173, /* HashMapKeys[MClass, Set[MClass]] */
 -1, /* empty */
-1914, /* Collection[MProperty] */
+92, /* Collection[Object] */
+99, /* Collection[nullable MClass] */
+1866, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MProperty, APropdef] */
-&type_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MProperty, APropdef] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Set[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Set[MClass]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MProperty, /* RemovableCollection#0: MProperty */
+&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MProperty, /* Collection#0: MProperty */
-&type_abstract_collection__Collectionmodel__MProperty, /* Collection[Collection#0]: Collection[MProperty] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[MProperty, APropdef] */
-const struct type type_hash_collection__HashMapValuesmodel__MPropertyparser_nodes__APropdef = {
-2368,
-"HashMapValues[MProperty, APropdef]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, HashSet[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MPropertyparser_nodes__APropdef,
-8,
+&resolution_table_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-2368, /* HashMapValues[MProperty, APropdef] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
--1, /* empty */
-1927, /* Collection[APropdef] */
+1632, /* Collection[Set[MClass]] */
+1976, /* HashMapValues[MClass, Set[MClass]] */
+92, /* Collection[Object] */
+1977, /* Collection[HashSet[MClass]] */
+2448, /* HashMapValues[MClass, HashSet[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MProperty, APropdef] */
-&type_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MProperty, APropdef] */
+&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, HashSet[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClasshash_collection__HashSetmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, HashSet[MClass]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_parser_nodes__APropdef, /* RemovableCollection#0: APropdef */
+&type_hash_collection__HashSetmodel__MClass, /* RemovableCollection#0: HashSet[MClass] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_parser_nodes__APropdef, /* Collection#0: APropdef */
-&type_abstract_collection__Collectionparser_nodes__APropdef, /* Collection[Collection#0]: Collection[APropdef] */
+&type_hash_collection__HashSetmodel__MClass, /* Collection#0: HashSet[MClass] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass, /* Collection[Collection#0]: Collection[HashSet[MClass]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MProperty, APropdef]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
-384,
-"NativeArray[nullable HashMapNode[MProperty, APropdef]]", /* class_name_string */
-2,
+/* 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_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef,
-3,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-384, /* NativeArray[nullable HashMapNode[MProperty, APropdef]] */
+1632, /* Collection[Set[MClass]] */
+1976, /* HashMapValues[MClass, Set[MClass]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* NativeArray#0: nullable HashMapNode[MProperty, APropdef] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MProperty, APropdef]] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Set[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Set[MClass]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MClass, /* RemovableCollection#0: Set[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Setmodel__MClass, /* Collection#0: Set[MClass] */
+&type_abstract_collection__Collectionabstract_collection__Setmodel__MClass, /* Collection[Collection#0]: Collection[Set[MClass]] */
 }
 };
-/* runtime type HashMapNode[MProperty, APropdef] */
-const struct type type_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
-1567,
-"HashMapNode[MProperty, APropdef]", /* class_name_string */
+/* runtime type Collection[HashSet[MClass]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashSetmodel__MClass = {
+1977,
+"Collection[HashSet[MClass]]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+1718,
+"NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-136, /* nullable HashMapNode[MProperty, APropdef] */
-1567, /* HashMapNode[MProperty, APropdef] */
+508, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+1718, /* NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MProperty, /* HashMapNode#0: MProperty */
-&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
-&type_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* N: HashMapNode[MProperty, APropdef] */
-&type_model__MProperty, /* HashNode#0: MProperty */
+&type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, HashSet[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, HashSet[MClass]]] */
 }
 };
-/* runtime type nullable HashMapNode[MProperty, APropdef] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
-136,
-"nullable HashMapNode[MProperty, APropdef]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+508,
+"NativeArray[nullable HashMapNode[MClass, Set[MClass]]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-136, /* nullable HashMapNode[MProperty, APropdef] */
+1, /* Object */
+508, /* NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MProperty, /* HashMapNode#0: MProperty */
-&type_parser_nodes__APropdef, /* HashMapNode#1: APropdef */
-&type_hash_collection__HashMapNodemodel__MPropertyparser_nodes__APropdef, /* N: HashMapNode[MProperty, APropdef] */
-&type_model__MProperty, /* HashNode#0: MProperty */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, Set[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Set[MClass]]] */
 }
 };
-/* runtime type HashMapIterator[MProperty, APropdef] */
-const struct type type_hash_collection__HashMapIteratormodel__MPropertyparser_nodes__APropdef = {
-1568,
-"HashMapIterator[MProperty, APropdef]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+2174,
+"HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MPropertyparser_nodes__APropdef,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-385, /* MapIterator[MProperty, APropdef] */
-1568, /* HashMapIterator[MProperty, APropdef] */
+72, /* nullable HashMapNode[MClass, Set[MClass]] */
+509, /* nullable HashMapNode[MClass, HashSet[MClass]] */
+1719, /* HashMapNode[MClass, Set[MClass]] */
+2174, /* HashMapNode[MClass, HashSet[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MPropertyparser_nodes__APropdef = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MProperty, APropdef] */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_hash_collection__HashSetmodel__MClass, /* HashMapNode#1: HashSet[MClass] */
+&type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass, /* nullable N: nullable HashMapNode[MClass, HashSet[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type MapIterator[MProperty, APropdef] */
-const struct type type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef = {
-385,
-"MapIterator[MProperty, APropdef]", /* class_name_string */
-2,
+/* runtime type HashMapNode[MClass, Set[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+1719,
+"HashMapNode[MClass, Set[MClass]]", /* class_name_string */
+4,
 0,
-NULL,
-3,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-385, /* MapIterator[MProperty, APropdef] */
+72, /* nullable HashMapNode[MClass, Set[MClass]] */
+-1, /* empty */
+1719, /* HashMapNode[MClass, Set[MClass]] */
 },
 };
-/* runtime type Array[AFormaldef] */
-const struct type type_array__Arrayparser_nodes__AFormaldef = {
-2617,
-"Array[AFormaldef]", /* class_name_string */
-13,
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Setmodel__MClass, /* HashMapNode#1: Set[MClass] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass, /* nullable N: nullable HashMapNode[MClass, Set[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
+}
+};
+/* runtime type nullable HashMapNode[MClass, HashSet[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClasshash_collection__HashSetmodel__MClass = {
+509,
+"nullable HashMapNode[MClass, HashSet[MClass]]", /* class_name_string */
+3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type nullable HashMapNode[MClass, Set[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Setmodel__MClass = {
+72,
+"nullable HashMapNode[MClass, Set[MClass]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClass, HashSet[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, HashSet[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__AFormaldef,
-15,
+&resolution_table_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1943, /* Collection[AFormaldef] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2566, /* AbstractArrayRead[AFormaldef] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2617, /* Array[AFormaldef] */
-2579, /* Array[Prod] */
+510, /* MapIterator[MClass, Set[MClass]] */
+1720, /* HashMapIterator[MClass, Set[MClass]] */
+1721, /* MapIterator[MClass, HashSet[MClass]] */
+2175, /* HashMapIterator[MClass, HashSet[MClass]] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AFormaldef = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AFormaldef, /* Array[Array#0]: Array[AFormaldef] */
-&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[Array#0]: NativeArray[AFormaldef] */
-&type_parser_nodes__AFormaldef, /* Sequence#0: AFormaldef */
-&type_parser_nodes__AFormaldef, /* SimpleCollection#0: AFormaldef */
-&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[Array#0]: Collection[AFormaldef] */
-&type_parser_nodes__AFormaldef, /* Array#0: AFormaldef */
-&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[ArrayCapable#0]: NativeArray[AFormaldef] */
-&type_parser_nodes__AFormaldef, /* AbstractArray#0: AFormaldef */
-&type_parser_nodes__AFormaldef, /* RemovableCollection#0: AFormaldef */
-&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[Sequence#0]: Collection[AFormaldef] */
-&type_array__Arrayparser_nodes__AFormaldef, /* Array[Sequence#0]: Array[AFormaldef] */
-&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[SimpleCollection#0]: Collection[AFormaldef] */
-&type_parser_nodes__AFormaldef, /* Collection#0: AFormaldef */
-&type_abstract_collection__Collectionparser_nodes__AFormaldef, /* Collection[Collection#0]: Collection[AFormaldef] */
-&type_parser_nodes__AFormaldef, /* SequenceRead#0: AFormaldef */
-&type_parser_nodes__AFormaldef, /* AbstractArrayRead#0: AFormaldef */
-&type_array__Arrayparser_nodes__AFormaldef, /* Array[AbstractArrayRead#0]: Array[AFormaldef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AFormaldef] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AFormaldef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AFormaldef] */
+&type_hash_collection__HashMapmodel__MClasshash_collection__HashSetmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, HashSet[MClass]] */
 }
 };
-/* runtime type AbstractArrayRead[AFormaldef] */
-const struct type type_array__AbstractArrayReadparser_nodes__AFormaldef = {
-2566,
-"AbstractArrayRead[AFormaldef]", /* class_name_string */
-10,
+/* 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,
-NULL,
-13,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1943, /* Collection[AFormaldef] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2566, /* AbstractArrayRead[AFormaldef] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
+510, /* MapIterator[MClass, Set[MClass]] */
+1720, /* HashMapIterator[MClass, Set[MClass]] */
 },
 };
-/* runtime type Array[ASuperclass] */
-const struct type type_array__Arrayparser_nodes__ASuperclass = {
-2618,
-"Array[ASuperclass]", /* class_name_string */
-13,
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Set[MClass]] */
+}
+};
+/* runtime type MapIterator[MClass, HashSet[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClasshash_collection__HashSetmodel__MClass = {
+1721,
+"MapIterator[MClass, HashSet[MClass]]", /* class_name_string */
+4,
 0,
-&resolution_table_array__Arrayparser_nodes__ASuperclass,
-15,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapIterator[MClass, Set[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MClass = {
+510,
+"MapIterator[MClass, Set[MClass]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, Map[MClass, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1944, /* Collection[ASuperclass] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2567, /* AbstractArrayRead[ASuperclass] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2618, /* Array[ASuperclass] */
-2579, /* Array[Prod] */
+2176, /* HashMapKeys[MClass, Map[MClass, Int]] */
+-1, /* empty */
+92, /* Collection[Object] */
+99, /* Collection[nullable MClass] */
+1866, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__ASuperclass = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__ASuperclass, /* Array[Array#0]: Array[ASuperclass] */
-&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[Array#0]: NativeArray[ASuperclass] */
-&type_parser_nodes__ASuperclass, /* Sequence#0: ASuperclass */
-&type_parser_nodes__ASuperclass, /* SimpleCollection#0: ASuperclass */
-&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[Array#0]: Collection[ASuperclass] */
-&type_parser_nodes__ASuperclass, /* Array#0: ASuperclass */
-&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[ArrayCapable#0]: NativeArray[ASuperclass] */
-&type_parser_nodes__ASuperclass, /* AbstractArray#0: ASuperclass */
-&type_parser_nodes__ASuperclass, /* RemovableCollection#0: ASuperclass */
-&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[Sequence#0]: Collection[ASuperclass] */
-&type_array__Arrayparser_nodes__ASuperclass, /* Array[Sequence#0]: Array[ASuperclass] */
-&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[SimpleCollection#0]: Collection[ASuperclass] */
-&type_parser_nodes__ASuperclass, /* Collection#0: ASuperclass */
-&type_abstract_collection__Collectionparser_nodes__ASuperclass, /* Collection[Collection#0]: Collection[ASuperclass] */
-&type_parser_nodes__ASuperclass, /* SequenceRead#0: ASuperclass */
-&type_parser_nodes__ASuperclass, /* AbstractArrayRead#0: ASuperclass */
-&type_array__Arrayparser_nodes__ASuperclass, /* Array[AbstractArrayRead#0]: Array[ASuperclass] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[ASuperclass] not a live type) */
-&type_array__ArrayIteratorparser_nodes__ASuperclass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[ASuperclass] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Map[MClass, Int]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Map[MClass, Int]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* RemovableCollection#0: MClass */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type AbstractArrayRead[ASuperclass] */
-const struct type type_array__AbstractArrayReadparser_nodes__ASuperclass = {
-2567,
-"AbstractArrayRead[ASuperclass]", /* class_name_string */
-10,
+/* runtime type HashMapValues[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, Map[MClass, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-13,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1944, /* Collection[ASuperclass] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2567, /* AbstractArrayRead[ASuperclass] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
+1722, /* Collection[Map[MClass, Int]] */
+1978, /* HashMapValues[MClass, Map[MClass, Int]] */
+92, /* Collection[Object] */
 },
 };
-/* runtime type Array[AAnnotation] */
-const struct type type_array__Arrayparser_nodes__AAnnotation = {
-2619,
-"Array[AAnnotation]", /* class_name_string */
-13,
-0,
-&resolution_table_array__Arrayparser_nodes__AAnnotation,
-15,
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+0, /* dummy */
 {
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1946, /* Collection[AAnnotation] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2568, /* AbstractArrayRead[AAnnotation] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2619, /* Array[AAnnotation] */
-2579, /* Array[Prod] */
-},
-};
-const struct types resolution_table_array__Arrayparser_nodes__AAnnotation = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[Array#0]: Array[AAnnotation] */
-&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[Array#0]: NativeArray[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* Sequence#0: AAnnotation */
-&type_parser_nodes__AAnnotation, /* SimpleCollection#0: AAnnotation */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[Array#0]: Collection[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* Array#0: AAnnotation */
-&type_array__NativeArrayparser_nodes__AAnnotation, /* NativeArray[ArrayCapable#0]: NativeArray[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* AbstractArray#0: AAnnotation */
-&type_parser_nodes__AAnnotation, /* RemovableCollection#0: AAnnotation */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[Sequence#0]: Collection[AAnnotation] */
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[Sequence#0]: Array[AAnnotation] */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[SimpleCollection#0]: Collection[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* Collection#0: AAnnotation */
-&type_abstract_collection__Collectionparser_nodes__AAnnotation, /* Collection[Collection#0]: Collection[AAnnotation] */
-&type_parser_nodes__AAnnotation, /* SequenceRead#0: AAnnotation */
-&type_parser_nodes__AAnnotation, /* AbstractArrayRead#0: AAnnotation */
-&type_array__Arrayparser_nodes__AAnnotation, /* Array[AbstractArrayRead#0]: Array[AAnnotation] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AAnnotation] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AAnnotation, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AAnnotation] */
-}
-};
-/* runtime type AbstractArrayRead[AAnnotation] */
-const struct type type_array__AbstractArrayReadparser_nodes__AAnnotation = {
-2568,
-"AbstractArrayRead[AAnnotation]", /* class_name_string */
-10,
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, Map[MClass, Int]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, Map[MClass, Int]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* RemovableCollection#0: Map[MClass, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* Collection#0: Map[MClass, Int] */
+&type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int, /* Collection[Collection#0]: Collection[Map[MClass, Int]] */
+}
+};
+/* runtime type Collection[Map[MClass, Int]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MClasskernel__Int = {
+1722,
+"Collection[Map[MClass, Int]]", /* class_name_string */
+2,
 0,
-NULL,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1946, /* Collection[AAnnotation] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2568, /* AbstractArrayRead[AAnnotation] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type Array[AParam] */
-const struct type type_array__Arrayparser_nodes__AParam = {
-2620,
-"Array[AParam]", /* class_name_string */
-13,
+/* runtime type NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+511,
+"NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arrayparser_nodes__AParam,
-15,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1952, /* Collection[AParam] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2569, /* AbstractArrayRead[AParam] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2620, /* Array[AParam] */
-2579, /* Array[Prod] */
+511, /* NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AParam = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AParam, /* Array[Array#0]: Array[AParam] */
-&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[Array#0]: NativeArray[AParam] */
-&type_parser_nodes__AParam, /* Sequence#0: AParam */
-&type_parser_nodes__AParam, /* SimpleCollection#0: AParam */
-&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[Array#0]: Collection[AParam] */
-&type_parser_nodes__AParam, /* Array#0: AParam */
-&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[ArrayCapable#0]: NativeArray[AParam] */
-&type_parser_nodes__AParam, /* AbstractArray#0: AParam */
-&type_parser_nodes__AParam, /* RemovableCollection#0: AParam */
-&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[Sequence#0]: Collection[AParam] */
-&type_array__Arrayparser_nodes__AParam, /* Array[Sequence#0]: Array[AParam] */
-&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[SimpleCollection#0]: Collection[AParam] */
-&type_parser_nodes__AParam, /* Collection#0: AParam */
-&type_abstract_collection__Collectionparser_nodes__AParam, /* Collection[Collection#0]: Collection[AParam] */
-&type_parser_nodes__AParam, /* SequenceRead#0: AParam */
-&type_parser_nodes__AParam, /* AbstractArrayRead#0: AParam */
-&type_array__Arrayparser_nodes__AParam, /* Array[AbstractArrayRead#0]: Array[AParam] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AParam] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AParam, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AParam] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray#0: nullable HashMapNode[MClass, Map[MClass, Int]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, Map[MClass, Int]]] */
 }
 };
-/* runtime type AbstractArrayRead[AParam] */
-const struct type type_array__AbstractArrayReadparser_nodes__AParam = {
-2569,
-"AbstractArrayRead[AParam]", /* class_name_string */
-10,
+/* runtime type HashMapNode[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+1723,
+"HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
+3,
 0,
-NULL,
-13,
+&resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1952, /* Collection[AParam] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2569, /* AbstractArrayRead[AParam] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
+73, /* nullable HashMapNode[MClass, Map[MClass, Int]] */
+1723, /* HashMapNode[MClass, Map[MClass, Int]] */
 },
 };
-/* runtime type Array[AExternCall] */
-const struct type type_array__Arrayparser_nodes__AExternCall = {
-2621,
-"Array[AExternCall]", /* class_name_string */
-13,
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+0, /* dummy */
+{
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_abstract_collection__Mapmodel__MClasskernel__Int, /* HashMapNode#1: Map[MClass, Int] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* nullable N: nullable HashMapNode[MClass, Map[MClass, Int]] */
+&type_model__MClass, /* HashNode#0: MClass */
+}
+};
+/* runtime type nullable HashMapNode[MClass, Map[MClass, Int]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+73,
+"nullable HashMapNode[MClass, Map[MClass, Int]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClass, Map[MClass, Int]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__AExternCall,
-15,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1955, /* Collection[AExternCall] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2570, /* AbstractArrayRead[AExternCall] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2621, /* Array[AExternCall] */
-2579, /* Array[Prod] */
+512, /* MapIterator[MClass, Map[MClass, Int]] */
+1724, /* HashMapIterator[MClass, Map[MClass, Int]] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AExternCall = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AExternCall, /* Array[Array#0]: Array[AExternCall] */
-&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[Array#0]: NativeArray[AExternCall] */
-&type_parser_nodes__AExternCall, /* Sequence#0: AExternCall */
-&type_parser_nodes__AExternCall, /* SimpleCollection#0: AExternCall */
-&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[Array#0]: Collection[AExternCall] */
-&type_parser_nodes__AExternCall, /* Array#0: AExternCall */
-&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[ArrayCapable#0]: NativeArray[AExternCall] */
-&type_parser_nodes__AExternCall, /* AbstractArray#0: AExternCall */
-&type_parser_nodes__AExternCall, /* RemovableCollection#0: AExternCall */
-&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[Sequence#0]: Collection[AExternCall] */
-&type_array__Arrayparser_nodes__AExternCall, /* Array[Sequence#0]: Array[AExternCall] */
-&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[SimpleCollection#0]: Collection[AExternCall] */
-&type_parser_nodes__AExternCall, /* Collection#0: AExternCall */
-&type_abstract_collection__Collectionparser_nodes__AExternCall, /* Collection[Collection#0]: Collection[AExternCall] */
-&type_parser_nodes__AExternCall, /* SequenceRead#0: AExternCall */
-&type_parser_nodes__AExternCall, /* AbstractArrayRead#0: AExternCall */
-&type_array__Arrayparser_nodes__AExternCall, /* Array[AbstractArrayRead#0]: Array[AExternCall] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AExternCall] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AExternCall, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AExternCall] */
+&type_hash_collection__HashMapmodel__MClassabstract_collection__Mapmodel__MClasskernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, Map[MClass, Int]] */
 }
 };
-/* runtime type AbstractArrayRead[AExternCall] */
-const struct type type_array__AbstractArrayReadparser_nodes__AExternCall = {
-2570,
-"AbstractArrayRead[AExternCall]", /* class_name_string */
-10,
+/* runtime type MapIterator[MClass, Map[MClass, Int]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassabstract_collection__Mapmodel__MClasskernel__Int = {
+512,
+"MapIterator[MClass, Map[MClass, Int]]", /* class_name_string */
+2,
 0,
-NULL,
-13,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1955, /* Collection[AExternCall] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2570, /* AbstractArrayRead[AExternCall] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
+484, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1705, /* MapKeysIterator[MClass, Set[MProperty]] */
+1979, /* MapKeysIterator[MClass, Set[MVirtualTypeProp]] */
 },
 };
-/* runtime type Array[AType] */
-const struct type type_array__Arrayparser_nodes__AType = {
-2622,
-"Array[AType]", /* class_name_string */
-13,
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MVirtualTypeProp]] */
+}
+};
+/* runtime type MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Set[MVirtualTypeProp]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__AType,
-15,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1960, /* Collection[AType] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2571, /* AbstractArrayRead[AType] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2622, /* Array[AType] */
-2579, /* Array[Prod] */
+485, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1706, /* MapValuesIterator[MClass, Set[MProperty]] */
+1980, /* MapValuesIterator[MClass, Set[MVirtualTypeProp]] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AType, /* Array[Array#0]: Array[AType] */
-&type_array__NativeArrayparser_nodes__AType, /* NativeArray[Array#0]: NativeArray[AType] */
-&type_parser_nodes__AType, /* Sequence#0: AType */
-&type_parser_nodes__AType, /* SimpleCollection#0: AType */
-&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Array#0]: Collection[AType] */
-&type_parser_nodes__AType, /* Array#0: AType */
-&type_array__NativeArrayparser_nodes__AType, /* NativeArray[ArrayCapable#0]: NativeArray[AType] */
-&type_parser_nodes__AType, /* AbstractArray#0: AType */
-&type_parser_nodes__AType, /* RemovableCollection#0: AType */
-&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Sequence#0]: Collection[AType] */
-&type_array__Arrayparser_nodes__AType, /* Array[Sequence#0]: Array[AType] */
-&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[SimpleCollection#0]: Collection[AType] */
-&type_parser_nodes__AType, /* Collection#0: AType */
-&type_abstract_collection__Collectionparser_nodes__AType, /* Collection[Collection#0]: Collection[AType] */
-&type_parser_nodes__AType, /* SequenceRead#0: AType */
-&type_parser_nodes__AType, /* AbstractArrayRead#0: AType */
-&type_array__Arrayparser_nodes__AType, /* Array[AbstractArrayRead#0]: Array[AType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AType] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AType] */
+&type_array__Arrayabstract_collection__Setmodel__MVirtualTypeProp, /* Array[Iterator#0]: Array[Set[MVirtualTypeProp]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MVirtualTypeProp, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MVirtualTypeProp]] */
 }
 };
-/* runtime type AbstractArrayRead[AType] */
-const struct type type_array__AbstractArrayReadparser_nodes__AType = {
-2571,
-"AbstractArrayRead[AType]", /* class_name_string */
-10,
+/* runtime type Array[MVirtualTypeProp] */
+const struct type type_array__Arraymodel__MVirtualTypeProp = {
+2872,
+"Array[MVirtualTypeProp]", /* class_name_string */
+17,
 0,
-NULL,
-13,
+&resolution_table_array__Arraymodel__MVirtualTypeProp,
+18,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1960, /* Collection[AType] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2571, /* AbstractArrayRead[AType] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
-},
+100, /* Collection[nullable MProperty] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+1868, /* AbstractArrayRead[nullable MProperty] */
+646, /* Collection[PropertyLayoutElement] */
+1838, /* AbstractArrayRead[Object] */
+2031, /* Array[nullable MProperty] */
+2029, /* Array[Object] */
+2032, /* Collection[MProperty] */
+2239, /* AbstractArrayRead[PropertyLayoutElement] */
+2255, /* Collection[MVirtualTypeProp] */
+2661, /* Array[PropertyLayoutElement] */
+2773, /* AbstractArrayRead[MProperty] */
+2833, /* AbstractArrayRead[MVirtualTypeProp] */
+2837, /* Array[MProperty] */
+2872, /* Array[MVirtualTypeProp] */
+},
+};
+const struct types resolution_table_array__Arraymodel__MVirtualTypeProp = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[Array#0]: Array[MVirtualTypeProp] */
+&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[Array#0]: NativeArray[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Sequence#0: MVirtualTypeProp */
+&type_model__MVirtualTypeProp, /* SimpleCollection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Array#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Array#0: MVirtualTypeProp */
+&type_array__NativeArraymodel__MVirtualTypeProp, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* AbstractArray#0: MVirtualTypeProp */
+&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Sequence#0]: Collection[MVirtualTypeProp] */
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[Sequence#0]: Array[MVirtualTypeProp] */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
+&type_model__MVirtualTypeProp, /* SequenceRead#0: MVirtualTypeProp */
+&type_model__MVirtualTypeProp, /* AbstractArrayRead#0: MVirtualTypeProp */
+&type_array__Arraymodel__MVirtualTypeProp, /* Array[AbstractArrayRead#0]: Array[MVirtualTypeProp] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualTypeProp] not a live type) */
+&type_array__ArrayIteratormodel__MVirtualTypeProp, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualTypeProp] */
+}
+};
+/* runtime type AbstractArrayRead[MVirtualTypeProp] */
+const struct type type_array__AbstractArrayReadmodel__MVirtualTypeProp = {
+2833,
+"AbstractArrayRead[MVirtualTypeProp]", /* class_name_string */
+15,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type Array[TId] */
-const struct type type_array__Arrayparser_nodes__TId = {
-2623,
-"Array[TId]", /* class_name_string */
-14,
+/* runtime type HashMapKeys[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MVirtualTypeProp, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__TId,
-15,
+&resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1760, /* Collection[Token] */
-1728, /* AbstractArrayRead[Object] */
-1962, /* Collection[TId] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2505, /* AbstractArrayRead[Token] */
-2483, /* Array[ANode] */
-2572, /* AbstractArrayRead[TId] */
-2583, /* Array[Token] */
-2623, /* Array[TId] */
+100, /* Collection[nullable MProperty] */
+1981, /* HashMapKeys[PropertyLayoutElement, Int] */
+92, /* Collection[Object] */
+2718, /* HashMapKeys[MVirtualTypeProp, Int] */
+646, /* Collection[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2032, /* Collection[MProperty] */
+-1, /* empty */
+2255, /* Collection[MVirtualTypeProp] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__TId = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MVirtualTypePropkernel__Int = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__TId, /* Array[Array#0]: Array[TId] */
-&type_array__NativeArrayparser_nodes__TId, /* NativeArray[Array#0]: NativeArray[TId] */
-&type_parser_nodes__TId, /* Sequence#0: TId */
-&type_parser_nodes__TId, /* SimpleCollection#0: TId */
-&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Array#0]: Collection[TId] */
-&type_parser_nodes__TId, /* Array#0: TId */
-&type_array__NativeArrayparser_nodes__TId, /* NativeArray[ArrayCapable#0]: NativeArray[TId] */
-&type_parser_nodes__TId, /* AbstractArray#0: TId */
-&type_parser_nodes__TId, /* RemovableCollection#0: TId */
-&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Sequence#0]: Collection[TId] */
-&type_array__Arrayparser_nodes__TId, /* Array[Sequence#0]: Array[TId] */
-&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[SimpleCollection#0]: Collection[TId] */
-&type_parser_nodes__TId, /* Collection#0: TId */
-&type_abstract_collection__Collectionparser_nodes__TId, /* Collection[Collection#0]: Collection[TId] */
-&type_parser_nodes__TId, /* SequenceRead#0: TId */
-&type_parser_nodes__TId, /* AbstractArrayRead#0: TId */
-&type_array__Arrayparser_nodes__TId, /* Array[AbstractArrayRead#0]: Array[TId] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[TId] not a live type) */
-&type_array__ArrayIteratorparser_nodes__TId, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[TId] */
+&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MVirtualTypeProp, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MVirtualTypePropkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MVirtualTypeProp, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MVirtualTypeProp, /* RemovableCollection#0: MVirtualTypeProp */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MVirtualTypeProp, /* Collection#0: MVirtualTypeProp */
+&type_abstract_collection__Collectionmodel__MVirtualTypeProp, /* Collection[Collection#0]: Collection[MVirtualTypeProp] */
 }
 };
-/* runtime type AbstractArrayRead[TId] */
-const struct type type_array__AbstractArrayReadparser_nodes__TId = {
-2572,
-"AbstractArrayRead[TId]", /* class_name_string */
-12,
+/* runtime type HashMapKeys[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[PropertyLayoutElement, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-13,
+&resolution_table_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1760, /* Collection[Token] */
-1728, /* AbstractArrayRead[Object] */
-1962, /* Collection[TId] */
-2196, /* AbstractArrayRead[ANode] */
 -1, /* empty */
-2505, /* AbstractArrayRead[Token] */
+1981, /* HashMapKeys[PropertyLayoutElement, Int] */
+92, /* Collection[Object] */
 -1, /* empty */
-2572, /* AbstractArrayRead[TId] */
-},
-};
-/* runtime type Array[AAtArg] */
-const struct type type_array__Arrayparser_nodes__AAtArg = {
-2624,
-"Array[AAtArg]", /* class_name_string */
-13,
-0,
-&resolution_table_array__Arrayparser_nodes__AAtArg,
-15,
-{
-0, /* nullable Object */
-1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1966, /* Collection[AAtArg] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2573, /* AbstractArrayRead[AAtArg] */
-2483, /* Array[ANode] */
-2484, /* AbstractArrayRead[Prod] */
-2624, /* Array[AAtArg] */
-2579, /* Array[Prod] */
+646, /* Collection[PropertyLayoutElement] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__AAtArg = {
+const struct types resolution_table_hash_collection__HashMapKeyslayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AAtArg, /* Array[Array#0]: Array[AAtArg] */
-&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[Array#0]: NativeArray[AAtArg] */
-&type_parser_nodes__AAtArg, /* Sequence#0: AAtArg */
-&type_parser_nodes__AAtArg, /* SimpleCollection#0: AAtArg */
-&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[Array#0]: Collection[AAtArg] */
-&type_parser_nodes__AAtArg, /* Array#0: AAtArg */
-&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[ArrayCapable#0]: NativeArray[AAtArg] */
-&type_parser_nodes__AAtArg, /* AbstractArray#0: AAtArg */
-&type_parser_nodes__AAtArg, /* RemovableCollection#0: AAtArg */
-&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[Sequence#0]: Collection[AAtArg] */
-&type_array__Arrayparser_nodes__AAtArg, /* Array[Sequence#0]: Array[AAtArg] */
-&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[SimpleCollection#0]: Collection[AAtArg] */
-&type_parser_nodes__AAtArg, /* Collection#0: AAtArg */
-&type_abstract_collection__Collectionparser_nodes__AAtArg, /* Collection[Collection#0]: Collection[AAtArg] */
-&type_parser_nodes__AAtArg, /* SequenceRead#0: AAtArg */
-&type_parser_nodes__AAtArg, /* AbstractArrayRead#0: AAtArg */
-&type_array__Arrayparser_nodes__AAtArg, /* Array[AbstractArrayRead#0]: Array[AAtArg] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AAtArg] not a live type) */
-&type_array__ArrayIteratorparser_nodes__AAtArg, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AAtArg] */
+&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[PropertyLayoutElement, Int] */
+&type_abstract_collection__MapKeysIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[PropertyLayoutElement, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_layout_builders__PropertyLayoutElement, /* RemovableCollection#0: PropertyLayoutElement */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_layout_builders__PropertyLayoutElement, /* Collection#0: PropertyLayoutElement */
+&type_abstract_collection__Collectionlayout_builders__PropertyLayoutElement, /* Collection[Collection#0]: Collection[PropertyLayoutElement] */
 }
 };
-/* runtime type AbstractArrayRead[AAtArg] */
-const struct type type_array__AbstractArrayReadparser_nodes__AAtArg = {
-2573,
-"AbstractArrayRead[AAtArg]", /* class_name_string */
-10,
+/* runtime type HashMapValues[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[MVirtualTypeProp, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-13,
+&resolution_table_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1739, /* Collection[Prod] */
-1728, /* AbstractArrayRead[Object] */
-1966, /* Collection[AAtArg] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2573, /* AbstractArrayRead[AAtArg] */
--1, /* empty */
-2484, /* AbstractArrayRead[Prod] */
+1982, /* HashMapValues[PropertyLayoutElement, Int] */
+2177, /* HashMapValues[MVirtualTypeProp, Int] */
+92, /* Collection[Object] */
+661, /* Collection[Int] */
 },
 };
-/* runtime type Array[TComment] */
-const struct type type_array__Arrayparser_nodes__TComment = {
-2625,
-"Array[TComment]", /* class_name_string */
-14,
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MVirtualTypePropkernel__Int = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MVirtualTypeProp, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MVirtualTypePropkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MVirtualTypeProp, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+}
+};
+/* runtime type HashMapValues[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[PropertyLayoutElement, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arrayparser_nodes__TComment,
-15,
+&resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1760, /* Collection[Token] */
-1728, /* AbstractArrayRead[Object] */
-1974, /* Collection[TComment] */
-2196, /* AbstractArrayRead[ANode] */
-1911, /* Array[Object] */
-2505, /* AbstractArrayRead[Token] */
-2483, /* Array[ANode] */
-2574, /* AbstractArrayRead[TComment] */
-2583, /* Array[Token] */
-2625, /* Array[TComment] */
+1982, /* HashMapValues[PropertyLayoutElement, Int] */
+-1, /* empty */
+92, /* Collection[Object] */
+661, /* Collection[Int] */
 },
 };
-const struct types resolution_table_array__Arrayparser_nodes__TComment = {
+const struct types resolution_table_hash_collection__HashMapValueslayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__TComment, /* Array[Array#0]: Array[TComment] */
-&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[Array#0]: NativeArray[TComment] */
-&type_parser_nodes__TComment, /* Sequence#0: TComment */
-&type_parser_nodes__TComment, /* SimpleCollection#0: TComment */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Array#0]: Collection[TComment] */
-&type_parser_nodes__TComment, /* Array#0: TComment */
-&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[ArrayCapable#0]: NativeArray[TComment] */
-&type_parser_nodes__TComment, /* AbstractArray#0: TComment */
-&type_parser_nodes__TComment, /* RemovableCollection#0: TComment */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Sequence#0]: Collection[TComment] */
-&type_array__Arrayparser_nodes__TComment, /* Array[Sequence#0]: Array[TComment] */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[SimpleCollection#0]: Collection[TComment] */
-&type_parser_nodes__TComment, /* Collection#0: TComment */
-&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Collection#0]: Collection[TComment] */
-&type_parser_nodes__TComment, /* SequenceRead#0: TComment */
-&type_parser_nodes__TComment, /* AbstractArrayRead#0: TComment */
-&type_array__Arrayparser_nodes__TComment, /* Array[AbstractArrayRead#0]: Array[TComment] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[TComment] not a live type) */
-&type_array__ArrayIteratorparser_nodes__TComment, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[TComment] */
+&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[PropertyLayoutElement, Int] */
+&type_abstract_collection__MapValuesIteratorlayout_builders__PropertyLayoutElementkernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[PropertyLayoutElement, Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type AbstractArrayRead[TComment] */
-const struct type type_array__AbstractArrayReadparser_nodes__TComment = {
-2574,
-"AbstractArrayRead[TComment]", /* class_name_string */
-12,
+/* runtime type NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+1725,
+"NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]]", /* class_name_string */
+3,
 0,
-NULL,
-13,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-596, /* Collection[ANode] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-1760, /* Collection[Token] */
-1728, /* AbstractArrayRead[Object] */
-1974, /* Collection[TComment] */
-2196, /* AbstractArrayRead[ANode] */
--1, /* empty */
-2505, /* AbstractArrayRead[Token] */
--1, /* empty */
-2574, /* AbstractArrayRead[TComment] */
+513, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+1725, /* NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
 },
 };
-/* runtime type Array[MMethodDef] */
-const struct type type_array__Arraymodel__MMethodDef = {
-2636,
-"Array[MMethodDef]", /* class_name_string */
-17,
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray#0: nullable HashMapNode[MVirtualTypeProp, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MVirtualTypeProp, Int]] */
+}
+};
+/* runtime type NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+513,
+"NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]]", /* class_name_string */
+2,
 0,
-&resolution_table_array__Arraymodel__MMethodDef,
-18,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1749, /* AbstractArrayRead[nullable MPropDef] */
-1920, /* Collection[MPropDef] */
-1911, /* Array[Object] */
-1930, /* Array[nullable MPropDef] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2202, /* Collection[MMethodDef] */
-2481, /* Array[PropertyLayoutElement] */
-2558, /* AbstractArrayRead[MPropDef] */
-2600, /* AbstractArrayRead[MMethodDef] */
-2611, /* Array[MPropDef] */
-2636, /* Array[MMethodDef] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MMethodDef = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MMethodDef, /* Array[Array#0]: Array[MMethodDef] */
-&type_array__NativeArraymodel__MMethodDef, /* NativeArray[Array#0]: NativeArray[MMethodDef] */
-&type_model__MMethodDef, /* Sequence#0: MMethodDef */
-&type_model__MMethodDef, /* SimpleCollection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Array#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* Array#0: MMethodDef */
-&type_array__NativeArraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[MMethodDef] */
-&type_model__MMethodDef, /* AbstractArray#0: MMethodDef */
-&type_model__MMethodDef, /* RemovableCollection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Sequence#0]: Collection[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* Array[Sequence#0]: Array[MMethodDef] */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[SimpleCollection#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* Collection#0: MMethodDef */
-&type_abstract_collection__Collectionmodel__MMethodDef, /* Collection[Collection#0]: Collection[MMethodDef] */
-&type_model__MMethodDef, /* SequenceRead#0: MMethodDef */
-&type_model__MMethodDef, /* AbstractArrayRead#0: MMethodDef */
-&type_array__Arraymodel__MMethodDef, /* Array[AbstractArrayRead#0]: Array[MMethodDef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MMethodDef] not a live type) */
-&type_array__ArrayIteratormodel__MMethodDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MMethodDef] */
-}
-};
-/* runtime type AbstractArrayRead[MMethodDef] */
-const struct type type_array__AbstractArrayReadmodel__MMethodDef = {
-2600,
-"AbstractArrayRead[MMethodDef]", /* class_name_string */
-15,
+513, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray#0: nullable HashMapNode[PropertyLayoutElement, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+}
+};
+/* runtime type HashMapNode[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+2178,
+"HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
+5,
 0,
-NULL,
-16,
+&resolution_table_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1749, /* AbstractArrayRead[nullable MPropDef] */
-1920, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2202, /* Collection[MMethodDef] */
--1, /* empty */
-2558, /* AbstractArrayRead[MPropDef] */
-2600, /* AbstractArrayRead[MMethodDef] */
+74, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+514, /* nullable HashMapNode[MVirtualTypeProp, Int] */
+1726, /* HashMapNode[PropertyLayoutElement, Int] */
+2178, /* HashMapNode[MVirtualTypeProp, Int] */
 },
 };
-/* runtime type HashMap2[MModule, MType, Array[MMethodDef]] */
-const struct type type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef = {
-386,
-"HashMap2[MModule, MType, Array[MMethodDef]]", /* class_name_string */
-2,
+const struct types resolution_table_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+0, /* dummy */
+{
+&type_model__MVirtualTypeProp, /* HashMapNode#0: MVirtualTypeProp */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int, /* nullable N: nullable HashMapNode[MVirtualTypeProp, Int] */
+&type_model__MVirtualTypeProp, /* HashNode#0: MVirtualTypeProp */
+}
+};
+/* runtime type HashMapNode[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+1726,
+"HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
+4,
 0,
-&resolution_table_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef,
-3,
+&resolution_table_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-386, /* HashMap2[MModule, MType, Array[MMethodDef]] */
+74, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+-1, /* empty */
+1726, /* HashMapNode[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MMethodDef = {
+const struct types resolution_table_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
-&type_model_base__MModule, /* HashMap2#0: MModule */
-&type_model__MType, /* HashMap2#1: MType */
-&type_array__Arraymodel__MMethodDef, /* HashMap2#2: Array[MMethodDef] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MType, Array[MMethodDef]] */
+&type_layout_builders__PropertyLayoutElement, /* HashMapNode#0: PropertyLayoutElement */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int, /* nullable N: nullable HashMapNode[PropertyLayoutElement, Int] */
+&type_layout_builders__PropertyLayoutElement, /* HashNode#0: PropertyLayoutElement */
 }
 };
-/* runtime type ArrayIterator[MParameter] */
-const struct type type_array__ArrayIteratormodel__MParameter = {
-1569,
-"ArrayIterator[MParameter]", /* class_name_string */
+/* runtime type nullable HashMapNode[MVirtualTypeProp, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MVirtualTypePropkernel__Int = {
+514,
+"nullable HashMapNode[MVirtualTypeProp, Int]", /* class_name_string */
 3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type nullable HashMapNode[PropertyLayoutElement, Int] */
+const struct type type_nullable_hash_collection__HashMapNodelayout_builders__PropertyLayoutElementkernel__Int = {
+74,
+"nullable HashMapNode[PropertyLayoutElement, Int]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MVirtualTypeProp, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MVirtualTypeProp, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratormodel__MParameter,
-4,
+&resolution_table_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1569, /* ArrayIterator[MParameter] */
+515, /* MapIterator[PropertyLayoutElement, Int] */
+1727, /* HashMapIterator[PropertyLayoutElement, Int] */
+1728, /* MapIterator[MVirtualTypeProp, Int] */
+2179, /* HashMapIterator[MVirtualTypeProp, Int] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MParameter = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MVirtualTypePropkernel__Int = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MParameter, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MParameter] */
-&type_array__Arraymodel__MParameter, /* Array[Iterator#0]: Array[MParameter] */
+&type_hash_collection__HashMapmodel__MVirtualTypePropkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MVirtualTypeProp, Int] */
 }
 };
-/* runtime type NativeArray[MParameter] */
-const struct type type_array__NativeArraymodel__MParameter = {
-1570,
-"NativeArray[MParameter]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[PropertyLayoutElement, Int] */
+const struct type type_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[PropertyLayoutElement, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymodel__MParameter,
+&resolution_table_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1570, /* NativeArray[MParameter] */
+515, /* MapIterator[PropertyLayoutElement, Int] */
+1727, /* HashMapIterator[PropertyLayoutElement, Int] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MParameter = {
+const struct types resolution_table_hash_collection__HashMapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
 0, /* dummy */
 {
-&type_model__MParameter, /* NativeArray#0: MParameter */
-&type_array__NativeArraymodel__MParameter, /* NativeArray[NativeArray#0]: NativeArray[MParameter] */
+&type_hash_collection__HashMaplayout_builders__PropertyLayoutElementkernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[PropertyLayoutElement, Int] */
 }
 };
-/* runtime type HashMapKeys[String, Variable] */
-const struct type type_hash_collection__HashMapKeysstring__Stringscope__Variable = {
-1846,
-"HashMapKeys[String, Variable]", /* class_name_string */
-3,
+/* runtime type MapIterator[MVirtualTypeProp, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MVirtualTypePropkernel__Int = {
+1728,
+"MapIterator[MVirtualTypeProp, Int]", /* class_name_string */
+4,
 0,
-&resolution_table_hash_collection__HashMapKeysstring__Stringscope__Variable,
-5,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapIterator[PropertyLayoutElement, Int] */
+const struct type type_abstract_collection__MapIteratorlayout_builders__PropertyLayoutElementkernel__Int = {
+515,
+"MapIterator[PropertyLayoutElement, Int]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapKeys[MAttribute, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MAttribute, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int,
+13,
 {
 0, /* nullable Object */
 1, /* Object */
-595, /* Collection[String] */
-1846, /* HashMapKeys[String, Variable] */
-164, /* Collection[Object] */
+100, /* Collection[nullable MProperty] */
+1981, /* HashMapKeys[PropertyLayoutElement, Int] */
+92, /* Collection[Object] */
+2719, /* HashMapKeys[MAttribute, Int] */
+646, /* Collection[PropertyLayoutElement] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2032, /* Collection[MProperty] */
+-1, /* empty */
+2258, /* Collection[MAttribute] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysstring__Stringscope__Variable = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringscope__Variable, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[String, Variable] */
-&type_abstract_collection__MapKeysIteratorstring__Stringscope__Variable, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[String, Variable] */
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MAttribute, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MAttributekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MAttribute, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* RemovableCollection#0: String */
+&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_string__String, /* Collection#0: String */
-&type_abstract_collection__Collectionstring__String, /* Collection[Collection#0]: Collection[String] */
+&type_model__MAttribute, /* Collection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
 }
 };
-/* runtime type HashMapValues[String, Variable] */
-const struct type type_hash_collection__HashMapValuesstring__Stringscope__Variable = {
-1847,
-"HashMapValues[String, Variable]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MAttribute, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[MAttribute, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesstring__Stringscope__Variable,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1422, /* Collection[Variable] */
-1847, /* HashMapValues[String, Variable] */
-164, /* Collection[Object] */
+1982, /* HashMapValues[PropertyLayoutElement, Int] */
+2180, /* HashMapValues[MAttribute, Int] */
+92, /* Collection[Object] */
+661, /* Collection[Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesstring__Stringscope__Variable = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringscope__Variable, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[String, Variable] */
-&type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[String, Variable] */
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MAttribute, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MAttributekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MAttribute, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
+&type_kernel__Int, /* RemovableCollection#0: Int */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[String, Variable]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
-387,
-"NativeArray[nullable HashMapNode[String, Variable]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable,
+/* runtime type NativeArray[nullable HashMapNode[MAttribute, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+1729,
+"NativeArray[nullable HashMapNode[MAttribute, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-387, /* NativeArray[nullable HashMapNode[String, Variable]] */
+513, /* NativeArray[nullable HashMapNode[PropertyLayoutElement, Int]] */
+1729, /* NativeArray[nullable HashMapNode[MAttribute, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray#0: nullable HashMapNode[String, Variable] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[String, Variable]] */
+&type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray#0: nullable HashMapNode[MAttribute, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MAttribute, Int]] */
 }
 };
-/* runtime type HashMapNode[String, Variable] */
-const struct type type_hash_collection__HashMapNodestring__Stringscope__Variable = {
-1571,
-"HashMapNode[String, Variable]", /* class_name_string */
+/* runtime type HashMapNode[MAttribute, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+2181,
+"HashMapNode[MAttribute, Int]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MAttributekernel__Int,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+74, /* nullable HashMapNode[PropertyLayoutElement, Int] */
+516, /* nullable HashMapNode[MAttribute, Int] */
+1726, /* HashMapNode[PropertyLayoutElement, Int] */
+2181, /* HashMapNode[MAttribute, Int] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+0, /* dummy */
+{
+&type_model__MAttribute, /* HashMapNode#0: MAttribute */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int, /* nullable N: nullable HashMapNode[MAttribute, Int] */
+&type_model__MAttribute, /* HashNode#0: MAttribute */
+}
+};
+/* runtime type nullable HashMapNode[MAttribute, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MAttributekernel__Int = {
+516,
+"nullable HashMapNode[MAttribute, Int]", /* class_name_string */
 3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MAttribute, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MAttribute, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodestring__Stringscope__Variable,
+&resolution_table_hash_collection__HashMapIteratormodel__MAttributekernel__Int,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+515, /* MapIterator[PropertyLayoutElement, Int] */
+1727, /* HashMapIterator[PropertyLayoutElement, Int] */
+1730, /* MapIterator[MAttribute, Int] */
+2182, /* HashMapIterator[MAttribute, Int] */
+},
+};
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MAttributekernel__Int = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MAttributekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MAttribute, Int] */
+}
+};
+/* runtime type MapIterator[MAttribute, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MAttributekernel__Int = {
+1730,
+"MapIterator[MAttribute, Int]", /* class_name_string */
 4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MClass, Set[MAttribute]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Set[MAttribute]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-137, /* nullable HashMapNode[String, Variable] */
-1571, /* HashMapNode[String, Variable] */
+484, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+1705, /* MapKeysIterator[MClass, Set[MProperty]] */
+1983, /* MapKeysIterator[MClass, Set[MAttribute]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodestring__Stringscope__Variable = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_scope__Variable, /* HashMapNode#1: Variable */
-&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* N: HashMapNode[String, Variable] */
-&type_string__String, /* HashNode#0: String */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MAttribute]] */
 }
 };
-/* runtime type nullable HashMapNode[String, Variable] */
-const struct type type_nullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
-137,
-"nullable HashMapNode[String, Variable]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodestring__Stringscope__Variable,
+/* runtime type MapValuesIterator[MClass, Set[MAttribute]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, Set[MAttribute]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+485, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+1706, /* MapValuesIterator[MClass, Set[MProperty]] */
+1984, /* MapValuesIterator[MClass, Set[MAttribute]] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MAttribute = {
+0, /* dummy */
+{
+&type_array__Arrayabstract_collection__Setmodel__MAttribute, /* Array[Iterator#0]: Array[Set[MAttribute]] */
+&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MAttribute, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MAttribute]] */
+}
+};
+/* runtime type Array[MAttribute] */
+const struct type type_array__Arraymodel__MAttribute = {
+2873,
+"Array[MAttribute]", /* class_name_string */
+17,
+0,
+&resolution_table_array__Arraymodel__MAttribute,
+18,
+{
+0, /* nullable Object */
+1, /* Object */
+100, /* Collection[nullable MProperty] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+1868, /* AbstractArrayRead[nullable MProperty] */
+646, /* Collection[PropertyLayoutElement] */
+1838, /* AbstractArrayRead[Object] */
+2031, /* Array[nullable MProperty] */
+2029, /* Array[Object] */
+2032, /* Collection[MProperty] */
+2239, /* AbstractArrayRead[PropertyLayoutElement] */
+2258, /* Collection[MAttribute] */
+2661, /* Array[PropertyLayoutElement] */
+2773, /* AbstractArrayRead[MProperty] */
+2834, /* AbstractArrayRead[MAttribute] */
+2837, /* Array[MProperty] */
+2873, /* Array[MAttribute] */
+},
+};
+const struct types resolution_table_array__Arraymodel__MAttribute = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MAttribute, /* Array[Array#0]: Array[MAttribute] */
+&type_array__NativeArraymodel__MAttribute, /* NativeArray[Array#0]: NativeArray[MAttribute] */
+&type_model__MAttribute, /* Sequence#0: MAttribute */
+&type_model__MAttribute, /* SimpleCollection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Array#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* Array#0: MAttribute */
+&type_array__NativeArraymodel__MAttribute, /* NativeArray[ArrayCapable#0]: NativeArray[MAttribute] */
+&type_model__MAttribute, /* AbstractArray#0: MAttribute */
+&type_model__MAttribute, /* RemovableCollection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Sequence#0]: Collection[MAttribute] */
+&type_array__Arraymodel__MAttribute, /* Array[Sequence#0]: Array[MAttribute] */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[SimpleCollection#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* Collection#0: MAttribute */
+&type_abstract_collection__Collectionmodel__MAttribute, /* Collection[Collection#0]: Collection[MAttribute] */
+&type_model__MAttribute, /* SequenceRead#0: MAttribute */
+&type_model__MAttribute, /* AbstractArrayRead#0: MAttribute */
+&type_array__Arraymodel__MAttribute, /* Array[AbstractArrayRead#0]: Array[MAttribute] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MAttribute] not a live type) */
+&type_array__ArrayIteratormodel__MAttribute, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MAttribute] */
+}
+};
+/* runtime type AbstractArrayRead[MAttribute] */
+const struct type type_array__AbstractArrayReadmodel__MAttribute = {
+2834,
+"AbstractArrayRead[MAttribute]", /* class_name_string */
+15,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ContainerIterator[MClassType] */
+const struct type type_abstract_collection__ContainerIteratormodel__MClassType = {
+-1, /*CAST DEAD*/
+"ContainerIterator[MClassType]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__ContainerIteratormodel__MClassType,
 3,
 {
 0, /* nullable Object */
--1, /* empty */
-137, /* nullable HashMapNode[String, Variable] */
+1, /* Object */
+517, /* ContainerIterator[MClassType] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodestring__Stringscope__Variable = {
+const struct types resolution_table_abstract_collection__ContainerIteratormodel__MClassType = {
 0, /* dummy */
 {
-&type_string__String, /* HashMapNode#0: String */
-&type_scope__Variable, /* HashMapNode#1: Variable */
-&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* N: HashMapNode[String, Variable] */
-&type_string__String, /* HashNode#0: String */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__Containermodel__MClassType, /* Container[ContainerIterator#0]: Container[MClassType] */
 }
 };
-/* runtime type HashMapIterator[String, Variable] */
-const struct type type_hash_collection__HashMapIteratorstring__Stringscope__Variable = {
-1572,
-"HashMapIterator[String, Variable]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[String] */
+const struct type type_abstract_collection__ContainerIteratorstring__String = {
+-1, /*CAST DEAD*/
+"ContainerIterator[String]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratorstring__Stringscope__Variable,
-4,
+&resolution_table_abstract_collection__ContainerIteratorstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-388, /* MapIterator[String, Variable] */
-1572, /* HashMapIterator[String, Variable] */
+518, /* ContainerIterator[String] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorstring__Stringscope__Variable = {
+const struct types resolution_table_abstract_collection__ContainerIteratorstring__String = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapstring__Stringscope__Variable, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[String, Variable] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__Containerstring__String, /* Container[ContainerIterator#0]: Container[String] */
 }
 };
-/* runtime type MapIterator[String, Variable] */
-const struct type type_abstract_collection__MapIteratorstring__Stringscope__Variable = {
-388,
-"MapIterator[String, Variable]", /* class_name_string */
-2,
-0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-388, /* MapIterator[String, Variable] */
-},
-};
-/* runtime type HashMapKeys[Variable, nullable MType] */
-const struct type type_hash_collection__HashMapKeysscope__Variablenullable_model__MType = {
-1848,
-"HashMapKeys[Variable, nullable MType]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MType, Map[MType, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysscope__Variablenullable_model__MType,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-1422, /* Collection[Variable] */
-1848, /* HashMapKeys[Variable, nullable MType] */
-164, /* Collection[Object] */
+2449, /* HashMapKeys[MType, Map[MType, Int]] */
+-1, /* empty */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysscope__Variablenullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variablenullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Variable, nullable MType] */
-&type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Variable, nullable MType] */
+&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, Map[MType, Int]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, Map[MType, Int]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
+&type_model__MType, /* RemovableCollection#0: MType */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type HashMapValues[Variable, nullable MType] */
-const struct type type_hash_collection__HashMapValuesscope__Variablenullable_model__MType = {
-1573,
-"HashMapValues[Variable, nullable MType]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[MType, Map[MType, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesscope__Variablenullable_model__MType,
-6,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-1573, /* HashMapValues[Variable, nullable MType] */
--1, /* empty */
--1, /* empty */
-173, /* Collection[nullable MType] */
+1731, /* Collection[Map[MType, Int]] */
+1985, /* HashMapValues[MType, Map[MType, Int]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesscope__Variablenullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variablenullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Variable, nullable MType] */
-&type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Variable, nullable MType] */
+&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, Map[MType, Int]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, Map[MType, Int]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable_model__MType, /* RemovableCollection#0: nullable MType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable_model__MType, /* Collection#0: nullable MType */
-&type_abstract_collection__Collectionnullable_model__MType, /* Collection[Collection#0]: Collection[nullable MType] */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
+&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[Variable, nullable MType]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
-389,
-"NativeArray[nullable HashMapNode[Variable, nullable MType]]", /* class_name_string */
+/* runtime type Collection[Map[MType, Int]] */
+const struct type type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int = {
+1731,
+"Collection[Map[MType, Int]]", /* class_name_string */
 2,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+519,
+"NativeArray[nullable HashMapNode[MType, Map[MType, Int]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-389, /* NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+519, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray#0: nullable HashMapNode[Variable, nullable MType] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MType, Map[MType, Int]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
 }
 };
-/* runtime type HashMapNode[Variable, nullable MType] */
-const struct type type_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
-1574,
-"HashMapNode[Variable, nullable MType]", /* class_name_string */
-3,
-0,
-&resolution_table_hash_collection__HashMapNodescope__Variablenullable_model__MType,
+/* runtime type HashMapNode[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1732,
+"HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
 4,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-138, /* nullable HashMapNode[Variable, nullable MType] */
-1574, /* HashMapNode[Variable, nullable MType] */
+75, /* nullable HashMapNode[MType, Map[MType, Int]] */
+-1, /* empty */
+1732, /* HashMapNode[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_scope__Variable, /* HashMapNode#0: Variable */
-&type_nullable_model__MType, /* HashMapNode#1: nullable MType */
-&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* N: HashMapNode[Variable, nullable MType] */
-&type_scope__Variable, /* HashNode#0: Variable */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* nullable N: nullable HashMapNode[MType, Map[MType, Int]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type nullable HashMapNode[Variable, nullable MType] */
-const struct type type_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
-138,
-"nullable HashMapNode[Variable, nullable MType]", /* class_name_string */
+/* runtime type nullable HashMapNode[MType, Map[MType, Int]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+75,
+"nullable HashMapNode[MType, Map[MType, Int]]", /* class_name_string */
 2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-138, /* nullable HashMapNode[Variable, nullable MType] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodescope__Variablenullable_model__MType = {
-0, /* dummy */
-{
-&type_scope__Variable, /* HashMapNode#0: Variable */
-&type_nullable_model__MType, /* HashMapNode#1: nullable MType */
-&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* N: HashMapNode[Variable, nullable MType] */
-&type_scope__Variable, /* HashNode#0: Variable */
-}
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapIterator[Variable, nullable MType] */
-const struct type type_hash_collection__HashMapIteratorscope__Variablenullable_model__MType = {
-1575,
-"HashMapIterator[Variable, nullable MType]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MType, Map[MType, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_model__MType,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-390, /* MapIterator[Variable, nullable MType] */
-1575, /* HashMapIterator[Variable, nullable MType] */
+520, /* MapIterator[MType, Map[MType, Int]] */
+1733, /* HashMapIterator[MType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variablenullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Variable, nullable MType] */
+&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, Map[MType, Int]] */
 }
 };
-/* runtime type MapIterator[Variable, nullable MType] */
-const struct type type_abstract_collection__MapIteratorscope__Variablenullable_model__MType = {
-390,
-"MapIterator[Variable, nullable MType]", /* class_name_string */
+/* runtime type MapIterator[MType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+520,
+"MapIterator[MType, Map[MType, Int]]", /* class_name_string */
 2,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-390, /* MapIterator[Variable, nullable MType] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapKeys[Variable, nullable Array[nullable MType]] */
-const struct type type_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType = {
-1849,
-"HashMapKeys[Variable, nullable Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MType, HashSet[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-1422, /* Collection[Variable] */
-1849, /* HashMapKeys[Variable, nullable Array[nullable MType]] */
-164, /* Collection[Object] */
+2415, /* HashMapKeys[MType, Set[MType]] */
+2652, /* HashMapKeys[MType, HashSet[MType]] */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Variable, nullable Array[nullable MType]] */
-&type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Variable, nullable Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, HashSet[MType]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, HashSet[MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
+&type_model__MType, /* RemovableCollection#0: MType */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type HashMapValues[Variable, nullable Array[nullable MType]] */
-const struct type type_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType = {
-1576,
-"HashMapValues[Variable, nullable Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
+-1, /*CAST DEAD*/
+"HashMapValues[MType, HashSet[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType,
-4,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-322, /* Collection[nullable Array[nullable MType]] */
-1576, /* HashMapValues[Variable, nullable Array[nullable MType]] */
+1566, /* Collection[Set[NitniCallback]] */
+2154, /* HashMapValues[MType, Set[MType]] */
+92, /* Collection[Object] */
+1913, /* Collection[Set[MType]] */
+2110, /* Collection[HashSet[MType]] */
+2653, /* HashMapValues[MType, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Variable, nullable Array[nullable MType]] */
-&type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Variable, nullable Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, HashSet[MType]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashSetmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, HashSet[MType]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable_array__Arraynullable_model__MType, /* RemovableCollection#0: nullable Array[nullable MType] */
+&type_hash_collection__HashSetmodel__MType, /* RemovableCollection#0: HashSet[MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_nullable_array__Arraynullable_model__MType, /* Collection#0: nullable Array[nullable MType] */
-&type_abstract_collection__Collectionnullable_array__Arraynullable_model__MType, /* Collection[Collection#0]: Collection[nullable Array[nullable MType]] */
+&type_hash_collection__HashSetmodel__MType, /* Collection#0: HashSet[MType] */
+&type_abstract_collection__Collectionhash_collection__HashSetmodel__MType, /* Collection[Collection#0]: Collection[HashSet[MType]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
-391,
-"NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType,
+/* runtime type NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+1734,
+"NativeArray[nullable HashMapNode[MType, HashSet[MType]]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-391, /* NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
+422, /* NativeArray[nullable HashMapNode[MType, Set[MType]]] */
+1734, /* NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray#0: nullable HashMapNode[Variable, nullable Array[nullable MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray#0: nullable HashMapNode[MType, HashSet[MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, HashSet[MType]]] */
 }
 };
-/* runtime type HashMapNode[Variable, nullable Array[nullable MType]] */
-const struct type type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
-1577,
-"HashMapNode[Variable, nullable Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+2183,
+"HashMapNode[MType, HashSet[MType]]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-139, /* nullable HashMapNode[Variable, nullable Array[nullable MType]] */
-1577, /* HashMapNode[Variable, nullable Array[nullable MType]] */
+56, /* nullable HashMapNode[MType, Set[MType]] */
+521, /* nullable HashMapNode[MType, HashSet[MType]] */
+1640, /* HashMapNode[MType, Set[MType]] */
+2183, /* HashMapNode[MType, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_scope__Variable, /* HashMapNode#0: Variable */
-&type_nullable_array__Arraynullable_model__MType, /* HashMapNode#1: nullable Array[nullable MType] */
-&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* N: HashMapNode[Variable, nullable Array[nullable MType]] */
-&type_scope__Variable, /* HashNode#0: Variable */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_hash_collection__HashSetmodel__MType, /* HashMapNode#1: HashSet[MType] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType, /* nullable N: nullable HashMapNode[MType, HashSet[MType]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type nullable HashMapNode[Variable, nullable Array[nullable MType]] */
-const struct type type_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
-139,
-"nullable HashMapNode[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType,
+/* runtime type nullable HashMapNode[MType, HashSet[MType]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashSetmodel__MType = {
+521,
+"nullable HashMapNode[MType, HashSet[MType]]", /* class_name_string */
 3,
-{
-0, /* nullable Object */
--1, /* empty */
-139, /* nullable HashMapNode[Variable, nullable Array[nullable MType]] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType = {
-0, /* dummy */
-{
-&type_scope__Variable, /* HashMapNode#0: Variable */
-&type_nullable_array__Arraynullable_model__MType, /* HashMapNode#1: nullable Array[nullable MType] */
-&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* N: HashMapNode[Variable, nullable Array[nullable MType]] */
-&type_scope__Variable, /* HashNode#0: Variable */
-}
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapIterator[Variable, nullable Array[nullable MType]] */
-const struct type type_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
-1578,
-"HashMapIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MType, HashSet[MType]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MType, HashSet[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType,
-4,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-392, /* MapIterator[Variable, nullable Array[nullable MType]] */
-1578, /* HashMapIterator[Variable, nullable Array[nullable MType]] */
+424, /* MapIterator[MType, Set[MType]] */
+1641, /* HashMapIterator[MType, Set[MType]] */
+1735, /* MapIterator[MType, HashSet[MType]] */
+2184, /* HashMapIterator[MType, HashSet[MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Variable, nullable Array[nullable MType]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashSetmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, HashSet[MType]] */
 }
 };
-/* runtime type MapIterator[Variable, nullable Array[nullable MType]] */
-const struct type type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
-392,
-"MapIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type MapIterator[MType, HashSet[MType]] */
+const struct type type_abstract_collection__MapIteratormodel__MTypehash_collection__HashSetmodel__MType = {
+1735,
+"MapIterator[MType, HashSet[MType]]", /* class_name_string */
+4,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-392, /* MapIterator[Variable, nullable Array[nullable MType]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type Array[MAttributeDef] */
-const struct type type_array__Arraymodel__MAttributeDef = {
-2637,
-"Array[MAttributeDef]", /* class_name_string */
-17,
+/* runtime type MapKeysIterator[EscapeMark, String] */
+const struct type type_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[EscapeMark, String]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__Arraymodel__MAttributeDef,
-18,
+&resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1749, /* AbstractArrayRead[nullable MPropDef] */
-1920, /* Collection[MPropDef] */
-1911, /* Array[Object] */
-1930, /* Array[nullable MPropDef] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2369, /* Collection[MAttributeDef] */
-2481, /* Array[PropertyLayoutElement] */
-2558, /* AbstractArrayRead[MPropDef] */
-2601, /* AbstractArrayRead[MAttributeDef] */
-2611, /* Array[MPropDef] */
-2637, /* Array[MAttributeDef] */
+522, /* MapKeysIterator[EscapeMark, String] */
 },
 };
-const struct types resolution_table_array__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__EscapeMarkstring__String = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MAttributeDef, /* Array[Array#0]: Array[MAttributeDef] */
-&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[Array#0]: NativeArray[MAttributeDef] */
-&type_model__MAttributeDef, /* Sequence#0: MAttributeDef */
-&type_model__MAttributeDef, /* SimpleCollection#0: MAttributeDef */
-&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[Array#0]: Collection[MAttributeDef] */
-&type_model__MAttributeDef, /* Array#0: MAttributeDef */
-&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[MAttributeDef] */
-&type_model__MAttributeDef, /* AbstractArray#0: MAttributeDef */
-&type_model__MAttributeDef, /* RemovableCollection#0: MAttributeDef */
-&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[Sequence#0]: Collection[MAttributeDef] */
-&type_array__Arraymodel__MAttributeDef, /* Array[Sequence#0]: Array[MAttributeDef] */
-&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[SimpleCollection#0]: Collection[MAttributeDef] */
-&type_model__MAttributeDef, /* Collection#0: MAttributeDef */
-&type_abstract_collection__Collectionmodel__MAttributeDef, /* Collection[Collection#0]: Collection[MAttributeDef] */
-&type_model__MAttributeDef, /* SequenceRead#0: MAttributeDef */
-&type_model__MAttributeDef, /* AbstractArrayRead#0: MAttributeDef */
-&type_array__Arraymodel__MAttributeDef, /* Array[AbstractArrayRead#0]: Array[MAttributeDef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MAttributeDef] not a live type) */
-&type_array__ArrayIteratormodel__MAttributeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MAttributeDef] */
+&type_array__Arrayscope__EscapeMark, /* Array[Iterator#0]: Array[EscapeMark] */
+&type_abstract_collection__MapIteratorscope__EscapeMarkstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[EscapeMark, String] */
 }
 };
-/* runtime type Collection[MAttributeDef] */
-const struct type type_abstract_collection__Collectionmodel__MAttributeDef = {
-2369,
-"Collection[MAttributeDef]", /* class_name_string */
-12,
+/* runtime type MapValuesIterator[EscapeMark, String] */
+const struct type type_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[EscapeMark, String]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-13,
-{
-0, /* nullable Object */
-1, /* Object */
-188, /* Collection[nullable MPropDef] */
--1, /* empty */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
-1920, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2369, /* Collection[MAttributeDef] */
+&resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+523, /* MapValuesIterator[EscapeMark, String] */
 },
 };
-/* runtime type AbstractArrayRead[MAttributeDef] */
-const struct type type_array__AbstractArrayReadmodel__MAttributeDef = {
-2601,
-"AbstractArrayRead[MAttributeDef]", /* class_name_string */
-15,
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__EscapeMarkstring__String = {
+0, /* dummy */
+{
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorscope__EscapeMarkstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[EscapeMark, String] */
+}
+};
+/* runtime type MapKeysIterator[Variable, RuntimeVariable] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[Variable, RuntimeVariable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-16,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1749, /* AbstractArrayRead[nullable MPropDef] */
-1920, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2369, /* Collection[MAttributeDef] */
--1, /* empty */
-2558, /* AbstractArrayRead[MPropDef] */
-2601, /* AbstractArrayRead[MAttributeDef] */
+524, /* MapKeysIterator[Variable, RuntimeVariable] */
 },
 };
-/* runtime type HashMap2[MModule, MType, Array[MAttributeDef]] */
-const struct type type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MAttributeDef = {
-393,
-"HashMap2[MModule, MType, Array[MAttributeDef]]", /* class_name_string */
-2,
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+0, /* dummy */
+{
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, RuntimeVariable] */
+}
+};
+/* runtime type MapValuesIterator[Variable, RuntimeVariable] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[Variable, RuntimeVariable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MAttributeDef,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-393, /* HashMap2[MModule, MType, Array[MAttributeDef]] */
+525, /* MapValuesIterator[Variable, RuntimeVariable] */
 },
 };
-const struct types resolution_table_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MAttributeDef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variableabstract_compiler__RuntimeVariable = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
-&type_model_base__MModule, /* HashMap2#0: MModule */
-&type_model__MType, /* HashMap2#1: MType */
-&type_array__Arraymodel__MAttributeDef, /* HashMap2#2: Array[MAttributeDef] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MType, Array[MAttributeDef]] */
+&type_array__Arrayabstract_compiler__RuntimeVariable, /* Array[Iterator#0]: Array[RuntimeVariable] */
+&type_abstract_collection__MapIteratorscope__Variableabstract_compiler__RuntimeVariable, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, RuntimeVariable] */
 }
 };
-/* runtime type ListNode[Int] */
-const struct type type_list__ListNodekernel__Int = {
-2120,
-"ListNode[Int]", /* class_name_string */
-5,
+/* runtime type HashMapKeys[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MGroup, POSetElement[MGroup]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_list__ListNodekernel__Int,
+&resolution_table_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1850, /* Container[Int] */
-164, /* Collection[Object] */
-2120, /* ListNode[Int] */
+150, /* Collection[nullable MGroup] */
+2185, /* HashMapKeys[MGroup, POSetElement[MGroup]] */
+92, /* Collection[Object] */
+1879, /* Collection[MGroup] */
 },
 };
-const struct types resolution_table_list__ListNodekernel__Int = {
+const struct types resolution_table_hash_collection__HashMapKeysmproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_kernel__Int, /* ListNode#0: Int */
-&type_list__ListNodekernel__Int, /* ListNode[ListNode#0]: ListNode[Int] */
-&type_abstract_collection__ContainerIteratorkernel__Int, /* ContainerIterator[Container#0]: ContainerIterator[Int] */
-&type_kernel__Int, /* Container#0: Int */
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MGroup, POSetElement[MGroup]] */
+&type_abstract_collection__MapKeysIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MGroup, POSetElement[MGroup]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
+&type_mproject__MGroup, /* RemovableCollection#0: MGroup */
 NULL, /* empty */
 NULL, /* empty */
-&type_kernel__Int, /* Collection#0: Int */
-&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+NULL, /* empty */
+&type_mproject__MGroup, /* Collection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Collection#0]: Collection[MGroup] */
 }
 };
-/* runtime type Container[Int] */
-const struct type type_abstract_collection__Containerkernel__Int = {
-1850,
-"Container[Int]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup = {
+-1, /*CAST DEAD*/
+"HashMapValues[MGroup, POSetElement[MGroup]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
+&resolution_table_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-612, /* Collection[Int] */
-1850, /* Container[Int] */
-164, /* Collection[Object] */
+1736, /* Collection[POSetElement[MGroup]] */
+1986, /* HashMapValues[MGroup, POSetElement[MGroup]] */
+92, /* Collection[Object] */
 },
 };
-/* runtime type ListIterator[Int] */
-const struct type type_list__ListIteratorkernel__Int = {
-394,
-"ListIterator[Int]", /* class_name_string */
+const struct types resolution_table_hash_collection__HashMapValuesmproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MGroup, POSetElement[MGroup]] */
+&type_abstract_collection__MapValuesIteratormproject__MGroupposet__POSetElementmproject__MGroup, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MGroup, POSetElement[MGroup]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmproject__MGroup, /* RemovableCollection#0: POSetElement[MGroup] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_poset__POSetElementmproject__MGroup, /* Collection#0: POSetElement[MGroup] */
+&type_abstract_collection__Collectionposet__POSetElementmproject__MGroup, /* Collection[Collection#0]: Collection[POSetElement[MGroup]] */
+}
+};
+/* runtime type Collection[POSetElement[MGroup]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmproject__MGroup = {
+1736,
+"Collection[POSetElement[MGroup]]", /* class_name_string */
 2,
 0,
-&resolution_table_list__ListIteratorkernel__Int,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+526,
+"NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]]", /* class_name_string */
+2,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-394, /* ListIterator[Int] */
+526, /* NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
 },
 };
-const struct types resolution_table_list__ListIteratorkernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_kernel__Int, /* ListIterator#0: Int */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
-&type_list__Listkernel__Int, /* List[ListIterator#0]: List[Int] */
+&type_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* NativeArray#0: nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MGroup, POSetElement[MGroup]]] */
 }
 };
-/* runtime type Array[MVirtualTypeDef] */
-const struct type type_array__Arraymodel__MVirtualTypeDef = {
-2638,
-"Array[MVirtualTypeDef]", /* class_name_string */
-17,
+/* runtime type HashMapNode[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+1737,
+"HashMapNode[MGroup, POSetElement[MGroup]]", /* class_name_string */
+3,
 0,
-&resolution_table_array__Arraymodel__MVirtualTypeDef,
-18,
+&resolution_table_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1749, /* AbstractArrayRead[nullable MPropDef] */
-1920, /* Collection[MPropDef] */
-1911, /* Array[Object] */
-1930, /* Array[nullable MPropDef] */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2370, /* Collection[MVirtualTypeDef] */
-2481, /* Array[PropertyLayoutElement] */
-2558, /* AbstractArrayRead[MPropDef] */
-2602, /* AbstractArrayRead[MVirtualTypeDef] */
-2611, /* Array[MPropDef] */
-2638, /* Array[MVirtualTypeDef] */
+76, /* nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+1737, /* HashMapNode[MGroup, POSetElement[MGroup]] */
 },
 };
-const struct types resolution_table_array__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
 0, /* dummy */
 {
-&type_array__Arraymodel__MVirtualTypeDef, /* Array[Array#0]: Array[MVirtualTypeDef] */
-&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[Array#0]: NativeArray[MVirtualTypeDef] */
-&type_model__MVirtualTypeDef, /* Sequence#0: MVirtualTypeDef */
-&type_model__MVirtualTypeDef, /* SimpleCollection#0: MVirtualTypeDef */
-&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[Array#0]: Collection[MVirtualTypeDef] */
-&type_model__MVirtualTypeDef, /* Array#0: MVirtualTypeDef */
-&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[MVirtualTypeDef] */
-&type_model__MVirtualTypeDef, /* AbstractArray#0: MVirtualTypeDef */
-&type_model__MVirtualTypeDef, /* RemovableCollection#0: MVirtualTypeDef */
-&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[Sequence#0]: Collection[MVirtualTypeDef] */
-&type_array__Arraymodel__MVirtualTypeDef, /* Array[Sequence#0]: Array[MVirtualTypeDef] */
-&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[SimpleCollection#0]: Collection[MVirtualTypeDef] */
-&type_model__MVirtualTypeDef, /* Collection#0: MVirtualTypeDef */
-&type_abstract_collection__Collectionmodel__MVirtualTypeDef, /* Collection[Collection#0]: Collection[MVirtualTypeDef] */
-&type_model__MVirtualTypeDef, /* SequenceRead#0: MVirtualTypeDef */
-&type_model__MVirtualTypeDef, /* AbstractArrayRead#0: MVirtualTypeDef */
-&type_array__Arraymodel__MVirtualTypeDef, /* Array[AbstractArrayRead#0]: Array[MVirtualTypeDef] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MVirtualTypeDef] not a live type) */
-&type_array__ArrayIteratormodel__MVirtualTypeDef, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MVirtualTypeDef] */
+&type_mproject__MGroup, /* HashMapNode#0: MGroup */
+&type_poset__POSetElementmproject__MGroup, /* HashMapNode#1: POSetElement[MGroup] */
+&type_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup, /* nullable N: nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+&type_mproject__MGroup, /* HashNode#0: MGroup */
 }
 };
-/* runtime type Collection[MVirtualTypeDef] */
-const struct type type_abstract_collection__Collectionmodel__MVirtualTypeDef = {
-2370,
-"Collection[MVirtualTypeDef]", /* class_name_string */
-12,
+/* runtime type nullable HashMapNode[MGroup, POSetElement[MGroup]] */
+const struct type type_nullable_hash_collection__HashMapNodemproject__MGroupposet__POSetElementmproject__MGroup = {
+76,
+"nullable HashMapNode[MGroup, POSetElement[MGroup]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-13,
+&resolution_table_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
--1, /* empty */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
--1, /* empty */
--1, /* empty */
-1920, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
--1, /* empty */
-2370, /* Collection[MVirtualTypeDef] */
+527, /* MapIterator[MGroup, POSetElement[MGroup]] */
+1738, /* HashMapIterator[MGroup, POSetElement[MGroup]] */
 },
 };
-/* runtime type AbstractArrayRead[MVirtualTypeDef] */
-const struct type type_array__AbstractArrayReadmodel__MVirtualTypeDef = {
-2602,
-"AbstractArrayRead[MVirtualTypeDef]", /* class_name_string */
-15,
+const struct types resolution_table_hash_collection__HashMapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmproject__MGroupposet__POSetElementmproject__MGroup, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MGroup, POSetElement[MGroup]] */
+}
+};
+/* runtime type MapIterator[MGroup, POSetElement[MGroup]] */
+const struct type type_abstract_collection__MapIteratormproject__MGroupposet__POSetElementmproject__MGroup = {
+527,
+"MapIterator[MGroup, POSetElement[MGroup]]", /* class_name_string */
+2,
 0,
-NULL,
-16,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSet[MGroup] */
+const struct type type_hash_collection__HashSetmproject__MGroup = {
+2654,
+"HashSet[MGroup]", /* class_name_string */
+6,
+0,
+&resolution_table_hash_collection__HashSetmproject__MGroup,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-188, /* Collection[nullable MPropDef] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-590, /* Collection[PropertyLayoutElement] */
-1728, /* AbstractArrayRead[Object] */
-1749, /* AbstractArrayRead[nullable MPropDef] */
-1920, /* Collection[MPropDef] */
--1, /* empty */
--1, /* empty */
-2194, /* AbstractArrayRead[PropertyLayoutElement] */
-2370, /* Collection[MVirtualTypeDef] */
--1, /* empty */
-2558, /* AbstractArrayRead[MPropDef] */
-2602, /* AbstractArrayRead[MVirtualTypeDef] */
+150, /* Collection[nullable MGroup] */
+655, /* Set[Object] */
+92, /* Collection[Object] */
+1879, /* Collection[MGroup] */
+2654, /* HashSet[MGroup] */
+1872, /* HashSet[Object] */
 },
 };
-/* runtime type HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
-const struct type type_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
-395,
-"HashMap2[MModule, MType, Array[MVirtualTypeDef]]", /* class_name_string */
-2,
+const struct types resolution_table_hash_collection__HashSetmproject__MGroup = {
+0, /* dummy */
+{
+&type_hash_collection__HashSetNodemproject__MGroup, /* HashSetNode[HashSet#0]: HashSetNode[MGroup] */
+&type_hash_collection__HashSetIteratormproject__MGroup, /* HashSetIterator[HashSet#0]: HashSetIterator[MGroup] */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[HashSet#0]: Collection[MGroup] */
+&type_mproject__MGroup, /* SimpleCollection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Set#0]: Collection[MGroup] */
+NULL, /* empty */
+&type_array__NativeArraynullable_hash_collection__HashSetNodemproject__MGroup, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[MGroup]] */
+NULL, /* empty */
+&type_mproject__MGroup, /* RemovableCollection#0: MGroup */
+NULL, /* empty */
+NULL, /* empty */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[SimpleCollection#0]: Collection[MGroup] */
+&type_mproject__MGroup, /* Collection#0: MGroup */
+&type_abstract_collection__Collectionmproject__MGroup, /* Collection[Collection#0]: Collection[MGroup] */
+&type_mproject__MGroup, /* HashCollection#0: MGroup */
+&type_nullable_hash_collection__HashSetNodemproject__MGroup, /* nullable HashCollection#1: nullable HashSetNode[MGroup] */
+&type_hash_collection__HashSetNodemproject__MGroup, /* HashCollection#1: HashSetNode[MGroup] */
+&type_nullable_mproject__MGroup, /* nullable HashCollection#0: nullable MGroup */
+}
+};
+/* runtime type ArrayIterator[APropdef] */
+const struct type type_array__ArrayIteratorparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__APropdef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-395, /* HashMap2[MModule, MType, Array[MVirtualTypeDef]] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2186, /* ArrayIterator[APropdef] */
 },
 };
-const struct types resolution_table_more_collections__HashMap2model_base__MModulemodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMap2#0, HashMap[HashMap2#1, HashMap2#2]]: HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
-&type_model_base__MModule, /* HashMap2#0: MModule */
-&type_model__MType, /* HashMap2#1: MType */
-&type_array__Arraymodel__MVirtualTypeDef, /* HashMap2#2: Array[MVirtualTypeDef] */
-&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMap[HashMap2#1, HashMap2#2]: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
+&type_array__AbstractArrayReadparser_nodes__APropdef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[APropdef] */
 }
 };
-/* runtime type ArrayIterator[MVirtualType] */
-const struct type type_array__ArrayIteratormodel__MVirtualType = {
-2121,
-"ArrayIterator[MVirtualType]", /* class_name_string */
+/* runtime type NativeArray[APropdef] */
+const struct type type_array__NativeArrayparser_nodes__APropdef = {
+2187,
+"NativeArray[APropdef]", /* class_name_string */
 5,
 0,
-&resolution_table_array__ArrayIteratormodel__MVirtualType,
+&resolution_table_array__NativeArrayparser_nodes__APropdef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-337, /* ArrayIterator[nullable MType] */
-1818, /* ArrayIterator[MType] */
-2121, /* ArrayIterator[MVirtualType] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2187, /* NativeArray[APropdef] */
 },
 };
-const struct types resolution_table_array__ArrayIteratormodel__MVirtualType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadmodel__MVirtualType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualType] */
-&type_array__Arraymodel__MVirtualType, /* Array[Iterator#0]: Array[MVirtualType] */
+&type_parser_nodes__APropdef, /* NativeArray#0: APropdef */
+&type_array__NativeArrayparser_nodes__APropdef, /* NativeArray[NativeArray#0]: NativeArray[APropdef] */
 }
 };
-/* runtime type NativeArray[MVirtualType] */
-const struct type type_array__NativeArraymodel__MVirtualType = {
-2122,
-"NativeArray[MVirtualType]", /* class_name_string */
-5,
+/* runtime type ContainerIterator[ANode] */
+const struct type type_abstract_collection__ContainerIteratorparser_nodes__ANode = {
+-1, /*CAST DEAD*/
+"ContainerIterator[ANode]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraymodel__MVirtualType,
-6,
+&resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-338, /* NativeArray[nullable MType] */
-1819, /* NativeArray[MType] */
-2122, /* NativeArray[MVirtualType] */
+528, /* ContainerIterator[ANode] */
 },
 };
-const struct types resolution_table_array__NativeArraymodel__MVirtualType = {
+const struct types resolution_table_abstract_collection__ContainerIteratorparser_nodes__ANode = {
 0, /* dummy */
 {
-&type_model__MVirtualType, /* NativeArray#0: MVirtualType */
-&type_array__NativeArraymodel__MVirtualType, /* NativeArray[NativeArray#0]: NativeArray[MVirtualType] */
+&type_array__Arrayparser_nodes__ANode, /* Array[Iterator#0]: Array[ANode] */
+&type_abstract_collection__Containerparser_nodes__ANode, /* Container[ContainerIterator#0]: Container[ANode] */
 }
 };
-/* runtime type ArrayIterator[AExpr] */
-const struct type type_array__ArrayIteratorparser_nodes__AExpr = {
-2123,
-"ArrayIterator[AExpr]", /* class_name_string */
-5,
+/* runtime type MapKeysIterator[MClass, Array[nullable MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, Array[nullable MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AExpr,
-6,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2123, /* ArrayIterator[AExpr] */
+529, /* MapKeysIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AExpr = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExpr] */
-&type_array__Arrayparser_nodes__AExpr, /* Array[Iterator#0]: Array[AExpr] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MClass]] */
 }
 };
-/* runtime type NativeArray[AExpr] */
-const struct type type_array__NativeArrayparser_nodes__AExpr = {
-2124,
-"NativeArray[AExpr]", /* class_name_string */
-5,
+/* 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,
-&resolution_table_array__NativeArrayparser_nodes__AExpr,
-6,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2124, /* NativeArray[AExpr] */
+530, /* MapValuesIterator[MClass, Array[nullable MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AExpr = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MClass = {
 0, /* dummy */
 {
-&type_parser_nodes__AExpr, /* NativeArray#0: AExpr */
-&type_array__NativeArrayparser_nodes__AExpr, /* NativeArray[NativeArray#0]: NativeArray[AExpr] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Iterator#0]: Array[Array[nullable MClass]] */
+&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MClass]] */
 }
 };
-/* runtime type ArrayIterator[AIntExpr] */
-const struct type type_array__ArrayIteratorparser_nodes__AIntExpr = {
-2371,
-"ArrayIterator[AIntExpr]", /* class_name_string */
-6,
+/* runtime type MapKeysIterator[MModule, Set[MClassDef]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, Set[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AIntExpr,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2123, /* ArrayIterator[AExpr] */
-2371, /* ArrayIterator[AIntExpr] */
+531, /* MapKeysIterator[MModule, Set[MClassDef]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AIntExpr = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AIntExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AIntExpr] */
-&type_array__Arrayparser_nodes__AIntExpr, /* Array[Iterator#0]: Array[AIntExpr] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClassDef]] */
 }
 };
-/* runtime type NativeArray[AIntExpr] */
-const struct type type_array__NativeArrayparser_nodes__AIntExpr = {
-2372,
-"NativeArray[AIntExpr]", /* class_name_string */
-6,
+/* runtime type MapValuesIterator[MModule, Set[MClassDef]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, Set[MClassDef]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayparser_nodes__AIntExpr,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2124, /* NativeArray[AExpr] */
-2372, /* NativeArray[AIntExpr] */
+532, /* MapValuesIterator[MModule, Set[MClassDef]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AIntExpr = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef = {
 0, /* dummy */
 {
-&type_parser_nodes__AIntExpr, /* NativeArray#0: AIntExpr */
-&type_array__NativeArrayparser_nodes__AIntExpr, /* NativeArray[NativeArray#0]: NativeArray[AIntExpr] */
+&type_array__Arrayabstract_collection__Setmodel__MClassDef, /* Array[Iterator#0]: Array[Set[MClassDef]] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClassDef]] */
 }
 };
-/* runtime type ArrayIterator[Variable] */
-const struct type type_array__ArrayIteratorscope__Variable = {
-1579,
-"ArrayIterator[Variable]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MModule, Set[MClass]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorscope__Variable,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1579, /* ArrayIterator[Variable] */
+533, /* MapKeysIterator[MModule, Set[MClass]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorscope__Variable = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadscope__Variable, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Variable] */
-&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClass]] */
 }
 };
-/* runtime type NativeArray[Variable] */
-const struct type type_array__NativeArrayscope__Variable = {
-1580,
-"NativeArray[Variable]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[MModule, Set[MClass]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, Set[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayscope__Variable,
-4,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1580, /* NativeArray[Variable] */
+534, /* MapValuesIterator[MModule, Set[MClass]] */
 },
 };
-const struct types resolution_table_array__NativeArrayscope__Variable = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClass = {
 0, /* dummy */
 {
-&type_scope__Variable, /* NativeArray#0: Variable */
-&type_array__NativeArrayscope__Variable, /* NativeArray[NativeArray#0]: NativeArray[Variable] */
+&type_array__Arrayabstract_collection__Setmodel__MClass, /* Array[Iterator#0]: Array[Set[MClass]] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClass]] */
 }
 };
-/* runtime type ArrayIterator[Token] */
-const struct type type_array__ArrayIteratorparser_nodes__Token = {
-1851,
-"ArrayIterator[Token]", /* class_name_string */
-4,
+/* runtime type MapKeysIterator[MModule, Set[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, Set[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__Token,
-5,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1851, /* ArrayIterator[Token] */
+535, /* MapKeysIterator[MModule, Set[MClassType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__Token = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__Token, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Token] */
-&type_array__Arrayparser_nodes__Token, /* Array[Iterator#0]: Array[Token] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, Set[MClassType]] */
 }
 };
-/* runtime type NativeArray[Token] */
-const struct type type_array__NativeArrayparser_nodes__Token = {
-1852,
-"NativeArray[Token]", /* class_name_string */
-4,
+/* runtime type MapValuesIterator[MModule, Set[MClassType]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, Set[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayparser_nodes__Token,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1852, /* NativeArray[Token] */
+536, /* MapValuesIterator[MModule, Set[MClassType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__Token = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleabstract_collection__Setmodel__MClassType = {
 0, /* dummy */
 {
-&type_parser_nodes__Token, /* NativeArray#0: Token */
-&type_array__NativeArrayparser_nodes__Token, /* NativeArray[NativeArray#0]: NativeArray[Token] */
+&type_array__Arrayabstract_collection__Setmodel__MClassType, /* Array[Iterator#0]: Array[Set[MClassType]] */
+&type_abstract_collection__MapIteratormmodule__MModuleabstract_collection__Setmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, Set[MClassType]] */
 }
 };
-/* runtime type ArrayIterator[ABreakExpr] */
-const struct type type_array__ArrayIteratorparser_nodes__ABreakExpr = {
-2373,
-"ArrayIterator[ABreakExpr]", /* class_name_string */
-6,
+/* runtime type MapKeysIterator[MClassType, Set[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassType, Set[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__ABreakExpr,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2123, /* ArrayIterator[AExpr] */
-2373, /* ArrayIterator[ABreakExpr] */
+537, /* MapKeysIterator[MType, Set[MType]] */
+1739, /* MapKeysIterator[MClassType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__ABreakExpr = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__ABreakExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ABreakExpr] */
-&type_array__Arrayparser_nodes__ABreakExpr, /* Array[Iterator#0]: Array[ABreakExpr] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Set[MType]] */
 }
 };
-/* runtime type NativeArray[ABreakExpr] */
-const struct type type_array__NativeArrayparser_nodes__ABreakExpr = {
-2374,
-"NativeArray[ABreakExpr]", /* class_name_string */
-6,
+/* runtime type MapKeysIterator[MType, Set[MType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Set[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayparser_nodes__ABreakExpr,
-7,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2124, /* NativeArray[AExpr] */
-2374, /* NativeArray[ABreakExpr] */
+537, /* MapKeysIterator[MType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__ABreakExpr = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__ABreakExpr, /* NativeArray#0: ABreakExpr */
-&type_array__NativeArrayparser_nodes__ABreakExpr, /* NativeArray[NativeArray#0]: NativeArray[ABreakExpr] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Set[MType]] */
 }
 };
-/* runtime type ArrayIterator[AContinueExpr] */
-const struct type type_array__ArrayIteratorparser_nodes__AContinueExpr = {
-2375,
-"ArrayIterator[AContinueExpr]", /* class_name_string */
-6,
+/* runtime type MapValuesIterator[MClassType, Set[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClassType, Set[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__ArrayIteratorparser_nodes__AContinueExpr,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-277, /* ArrayIterator[Object] */
-1448, /* ArrayIterator[ANode] */
-1791, /* ArrayIterator[Prod] */
-2123, /* ArrayIterator[AExpr] */
-2375, /* ArrayIterator[AContinueExpr] */
+538, /* MapValuesIterator[MType, Set[MType]] */
+1740, /* MapValuesIterator[MClassType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__ArrayIteratorparser_nodes__AContinueExpr = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_array__AbstractArrayReadparser_nodes__AContinueExpr, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AContinueExpr] */
-&type_array__Arrayparser_nodes__AContinueExpr, /* Array[Iterator#0]: Array[AContinueExpr] */
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
+&type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Setmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Set[MType]] */
 }
 };
-/* runtime type NativeArray[AContinueExpr] */
-const struct type type_array__NativeArrayparser_nodes__AContinueExpr = {
-2376,
-"NativeArray[AContinueExpr]", /* class_name_string */
-6,
+/* runtime type MapValuesIterator[MType, Set[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, Set[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArrayparser_nodes__AContinueExpr,
-7,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1449, /* NativeArray[ANode] */
-1792, /* NativeArray[Prod] */
-2124, /* NativeArray[AExpr] */
-2376, /* NativeArray[AContinueExpr] */
+538, /* MapValuesIterator[MType, Set[MType]] */
 },
 };
-const struct types resolution_table_array__NativeArrayparser_nodes__AContinueExpr = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeabstract_collection__Setmodel__MType = {
 0, /* dummy */
 {
-&type_parser_nodes__AContinueExpr, /* NativeArray#0: AContinueExpr */
-&type_array__NativeArrayparser_nodes__AContinueExpr, /* NativeArray[NativeArray#0]: NativeArray[AContinueExpr] */
+&type_array__Arrayabstract_collection__Setmodel__MType, /* Array[Iterator#0]: Array[Set[MType]] */
+&type_abstract_collection__MapIteratormodel__MTypeabstract_collection__Setmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Set[MType]] */
 }
 };
-/* runtime type HashMapKeys[Phase, POSetElement[Phase]] */
-const struct type type_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase = {
-1853,
-"HashMapKeys[Phase, POSetElement[Phase]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MClassType, Int] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClassType, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase,
-5,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-575, /* Collection[Phase] */
-1853, /* HashMapKeys[Phase, POSetElement[Phase]] */
-164, /* Collection[Object] */
+2417, /* HashMapKeys[MType, Int] */
+2720, /* HashMapKeys[MClassType, Int] */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
+2240, /* Collection[MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysphase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[Phase, POSetElement[Phase]] */
-&type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[Phase, POSetElement[Phase]] */
+&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Int] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_phase__Phase, /* RemovableCollection#0: Phase */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_phase__Phase, /* Collection#0: Phase */
-&type_abstract_collection__Collectionphase__Phase, /* Collection[Collection#0]: Collection[Phase] */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type HashMapValues[Phase, POSetElement[Phase]] */
-const struct type type_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase = {
-1854,
-"HashMapValues[Phase, POSetElement[Phase]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MClassType, Int] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClassType, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1581, /* Collection[POSetElement[Phase]] */
-1854, /* HashMapValues[Phase, POSetElement[Phase]] */
-164, /* Collection[Object] */
+1946, /* HashMapValues[MType, Int] */
+2188, /* HashMapValues[MClassType, Int] */
+92, /* Collection[Object] */
+661, /* Collection[Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesphase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[Phase, POSetElement[Phase]] */
-&type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[Phase, POSetElement[Phase]] */
+&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Int] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_poset__POSetElementphase__Phase, /* RemovableCollection#0: POSetElement[Phase] */
+&type_kernel__Int, /* RemovableCollection#0: Int */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_poset__POSetElementphase__Phase, /* Collection#0: POSetElement[Phase] */
-&type_abstract_collection__Collectionposet__POSetElementphase__Phase, /* Collection[Collection#0]: Collection[POSetElement[Phase]] */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
 }
 };
-/* runtime type Collection[POSetElement[Phase]] */
-const struct type type_abstract_collection__Collectionposet__POSetElementphase__Phase = {
-1581,
-"Collection[POSetElement[Phase]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1581, /* Collection[POSetElement[Phase]] */
--1, /* empty */
-164, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
-396,
-"NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase,
+/* runtime type NativeArray[nullable HashMapNode[MClassType, Int]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+1741,
+"NativeArray[nullable HashMapNode[MClassType, Int]]", /* class_name_string */
 3,
+0,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-396, /* NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
+425, /* NativeArray[nullable HashMapNode[MType, Int]] */
+1741, /* NativeArray[nullable HashMapNode[MClassType, Int]] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* NativeArray#0: nullable HashMapNode[Phase, POSetElement[Phase]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[Phase, POSetElement[Phase]]] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MClassType, Int] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Int]] */
 }
 };
-/* runtime type HashMapNode[Phase, POSetElement[Phase]] */
-const struct type type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
-1582,
-"HashMapNode[Phase, POSetElement[Phase]]", /* class_name_string */
-3,
+/* runtime type HashMapNode[MClassType, Int] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+2189,
+"HashMapNode[MClassType, Int]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase,
-4,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-140, /* nullable HashMapNode[Phase, POSetElement[Phase]] */
-1582, /* HashMapNode[Phase, POSetElement[Phase]] */
+57, /* nullable HashMapNode[MType, Int] */
+539, /* nullable HashMapNode[MClassType, Int] */
+1645, /* HashMapNode[MType, Int] */
+2189, /* HashMapNode[MClassType, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_phase__Phase, /* HashMapNode#0: Phase */
-&type_poset__POSetElementphase__Phase, /* HashMapNode#1: POSetElement[Phase] */
-&type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* N: HashMapNode[Phase, POSetElement[Phase]] */
-&type_phase__Phase, /* HashNode#0: Phase */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_kernel__Int, /* HashMapNode#1: Int */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int, /* nullable N: nullable HashMapNode[MClassType, Int] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type nullable HashMapNode[Phase, POSetElement[Phase]] */
-const struct type type_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
-140,
-"nullable HashMapNode[Phase, POSetElement[Phase]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase,
+/* runtime type nullable HashMapNode[MClassType, Int] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypekernel__Int = {
+539,
+"nullable HashMapNode[MClassType, Int]", /* class_name_string */
 3,
-{
-0, /* nullable Object */
--1, /* empty */
-140, /* nullable HashMapNode[Phase, POSetElement[Phase]] */
-},
-};
-const struct types resolution_table_nullable_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase = {
-0, /* dummy */
-{
-&type_phase__Phase, /* HashMapNode#0: Phase */
-&type_poset__POSetElementphase__Phase, /* HashMapNode#1: POSetElement[Phase] */
-&type_hash_collection__HashMapNodephase__Phaseposet__POSetElementphase__Phase, /* N: HashMapNode[Phase, POSetElement[Phase]] */
-&type_phase__Phase, /* HashNode#0: Phase */
-}
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapIterator[Phase, POSetElement[Phase]] */
-const struct type type_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase = {
-1583,
-"HashMapIterator[Phase, POSetElement[Phase]]", /* class_name_string */
-3,
+/* runtime type HashMapIterator[MClassType, Int] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClassType, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase,
-4,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-397, /* MapIterator[Phase, POSetElement[Phase]] */
-1583, /* HashMapIterator[Phase, POSetElement[Phase]] */
+426, /* MapIterator[MType, Int] */
+1646, /* HashMapIterator[MType, Int] */
+1742, /* MapIterator[MClassType, Int] */
+2190, /* HashMapIterator[MClassType, Int] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratorphase__Phaseposet__POSetElementphase__Phase = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapphase__Phaseposet__POSetElementphase__Phase, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[Phase, POSetElement[Phase]] */
+&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Int] */
 }
 };
-/* runtime type MapIterator[Phase, POSetElement[Phase]] */
-const struct type type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase = {
-397,
-"MapIterator[Phase, POSetElement[Phase]]", /* class_name_string */
-2,
+/* runtime type MapIterator[MClassType, Int] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypekernel__Int = {
+1742,
+"MapIterator[MClassType, Int]", /* class_name_string */
+4,
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-397, /* MapIterator[Phase, POSetElement[Phase]] */
-},
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashSet[Phase] */
-const struct type type_hash_collection__HashSetphase__Phase = {
-2377,
-"HashSet[Phase]", /* class_name_string */
-5,
+/* runtime type HashMapKeys[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClassType, Map[MType, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashSetphase__Phase,
-7,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-575, /* Collection[Phase] */
-597, /* Set[Object] */
-164, /* Collection[Object] */
-2377, /* HashSet[Phase] */
-1740, /* HashSet[Object] */
+2449, /* HashMapKeys[MType, Map[MType, Int]] */
+2721, /* HashMapKeys[MClassType, Map[MType, Int]] */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
+2240, /* Collection[MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashSetphase__Phase = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodephase__Phase, /* HashSetNode[HashSet#0]: HashSetNode[Phase] */
-&type_hash_collection__HashSetIteratorphase__Phase, /* HashSetIterator[HashSet#0]: HashSetIterator[Phase] */
-&type_abstract_collection__Collectionphase__Phase, /* Collection[HashSet#0]: Collection[Phase] */
-&type_phase__Phase, /* SimpleCollection#0: Phase */
-&type_abstract_collection__Collectionphase__Phase, /* Collection[Set#0]: Collection[Phase] */
+&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, Map[MType, Int]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, Map[MType, Int]] */
 NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Phase]] */
 NULL, /* empty */
-&type_phase__Phase, /* RemovableCollection#0: Phase */
 NULL, /* empty */
 NULL, /* empty */
-&type_abstract_collection__Collectionphase__Phase, /* Collection[SimpleCollection#0]: Collection[Phase] */
-&type_phase__Phase, /* Collection#0: Phase */
-&type_abstract_collection__Collectionphase__Phase, /* Collection[Collection#0]: Collection[Phase] */
-&type_phase__Phase, /* HashCollection#0: Phase */
-&type_hash_collection__HashSetNodephase__Phase, /* HashCollection#1: HashSetNode[Phase] */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* RemovableCollection#0: MClassType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MClassType, /* Collection#0: MClassType */
+&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
 }
 };
-/* runtime type HashMapKeys[MModule, POSetElement[MModule]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-1855,
-"HashMapKeys[MModule, POSetElement[MModule]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClassType, Map[MType, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModuleposet__POSetElementmodel_base__MModule,
-5,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1855, /* HashMapKeys[MModule, POSetElement[MModule]] */
-164, /* Collection[Object] */
+1731, /* Collection[Map[MType, Int]] */
+1985, /* HashMapValues[MType, Map[MType, Int]] */
+92, /* Collection[Object] */
+2191, /* HashMapValues[MClassType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, POSetElement[MModule]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, POSetElement[MModule]] */
+&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, Map[MType, Int]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, Map[MType, Int]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* RemovableCollection#0: Map[MType, Int] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model_base__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Collection#0: Map[MType, Int] */
+&type_abstract_collection__Collectionabstract_collection__Mapmodel__MTypekernel__Int, /* Collection[Collection#0]: Collection[Map[MType, Int]] */
 }
 };
-/* runtime type HashMapValues[MModule, POSetElement[MModule]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-1856,
-"HashMapValues[MModule, POSetElement[MModule]]", /* class_name_string */
+/* runtime type NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1743,
+"NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModuleposet__POSetElementmodel_base__MModule,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+519, /* NativeArray[nullable HashMapNode[MType, Map[MType, Int]]] */
+1743, /* NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+},
+};
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+0, /* dummy */
+{
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray#0: nullable HashMapNode[MClassType, Map[MType, Int]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, Map[MType, Int]]] */
+}
+};
+/* runtime type HashMapNode[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+2192,
+"HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
 5,
+0,
+&resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1584, /* Collection[POSetElement[MModule]] */
-1856, /* HashMapValues[MModule, POSetElement[MModule]] */
-164, /* Collection[Object] */
+75, /* nullable HashMapNode[MType, Map[MType, Int]] */
+540, /* nullable HashMapNode[MClassType, Map[MType, Int]] */
+1732, /* HashMapNode[MType, Map[MType, Int]] */
+2192, /* HashMapNode[MClassType, Map[MType, Int]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, POSetElement[MModule]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, POSetElement[MModule]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_poset__POSetElementmodel_base__MModule, /* RemovableCollection#0: POSetElement[MModule] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_poset__POSetElementmodel_base__MModule, /* Collection#0: POSetElement[MModule] */
-&type_abstract_collection__Collectionposet__POSetElementmodel_base__MModule, /* Collection[Collection#0]: Collection[POSetElement[MModule]] */
+&type_model__MClassType, /* HashMapNode#0: MClassType */
+&type_abstract_collection__Mapmodel__MTypekernel__Int, /* HashMapNode#1: Map[MType, Int] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* nullable N: nullable HashMapNode[MClassType, Map[MType, Int]] */
+&type_model__MClassType, /* HashNode#0: MClassType */
 }
 };
-/* runtime type Collection[POSetElement[MModule]] */
-const struct type type_abstract_collection__Collectionposet__POSetElementmodel_base__MModule = {
-1584,
-"Collection[POSetElement[MModule]]", /* class_name_string */
-2,
+/* runtime type nullable HashMapNode[MClassType, Map[MType, Int]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+540,
+"nullable HashMapNode[MClassType, Map[MType, Int]]", /* class_name_string */
+3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClassType, Map[MType, Int]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-5,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1584, /* Collection[POSetElement[MModule]] */
--1, /* empty */
-164, /* Collection[Object] */
+520, /* MapIterator[MType, Map[MType, Int]] */
+1733, /* HashMapIterator[MType, Map[MType, Int]] */
+1744, /* MapIterator[MClassType, Map[MType, Int]] */
+2193, /* HashMapIterator[MClassType, Map[MType, Int]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-398,
-"NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]]", /* class_name_string */
-2,
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+0, /* dummy */
+{
+&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, Map[MType, Int]] */
+}
+};
+/* runtime type MapIterator[MClassType, Map[MType, Int]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int = {
+1744,
+"MapIterator[MClassType, Map[MType, Int]]", /* class_name_string */
+4,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MType, Int] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MType, Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-398, /* NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
+541, /* MapKeysIterator[MType, Int] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypekernel__Int = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* NativeArray#0: nullable HashMapNode[MModule, POSetElement[MModule]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, POSetElement[MModule]]] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Int] */
 }
 };
-/* runtime type HashMapNode[MModule, POSetElement[MModule]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-1585,
-"HashMapNode[MModule, POSetElement[MModule]]", /* class_name_string */
+/* 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_abstract_collection__MapValuesIteratormodel__MTypekernel__Int,
 3,
+{
+0, /* nullable Object */
+1, /* Object */
+542, /* MapValuesIterator[MType, Int] */
+},
+};
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypekernel__Int = {
+0, /* dummy */
+{
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_abstract_collection__MapIteratormodel__MTypekernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Int] */
+}
+};
+/* runtime type ArrayIterator[AImport] */
+const struct type type_array__ArrayIteratorparser_nodes__AImport = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AImport]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__AImport,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-141, /* nullable HashMapNode[MModule, POSetElement[MModule]] */
-1585, /* HashMapNode[MModule, POSetElement[MModule]] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2194, /* ArrayIterator[AImport] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AImport = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_poset__POSetElementmodel_base__MModule, /* HashMapNode#1: POSetElement[MModule] */
-&type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* N: HashMapNode[MModule, POSetElement[MModule]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_array__Arrayparser_nodes__AImport, /* Array[Iterator#0]: Array[AImport] */
+&type_array__AbstractArrayReadparser_nodes__AImport, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AImport] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, POSetElement[MModule]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-141,
-"nullable HashMapNode[MModule, POSetElement[MModule]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule,
-3,
+/* runtime type NativeArray[AImport] */
+const struct type type_array__NativeArrayparser_nodes__AImport = {
+2195,
+"NativeArray[AImport]", /* class_name_string */
+5,
+0,
+&resolution_table_array__NativeArrayparser_nodes__AImport,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-141, /* nullable HashMapNode[MModule, POSetElement[MModule]] */
+1, /* Object */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2195, /* NativeArray[AImport] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AImport = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_poset__POSetElementmodel_base__MModule, /* HashMapNode#1: POSetElement[MModule] */
-&type_hash_collection__HashMapNodemodel_base__MModuleposet__POSetElementmodel_base__MModule, /* N: HashMapNode[MModule, POSetElement[MModule]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_parser_nodes__AImport, /* NativeArray#0: AImport */
+&type_array__NativeArrayparser_nodes__AImport, /* NativeArray[NativeArray#0]: NativeArray[AImport] */
 }
 };
-/* runtime type HashMapIterator[MModule, POSetElement[MModule]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-1586,
-"HashMapIterator[MModule, POSetElement[MModule]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[MClass, MClassType] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, MClassType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule,
-4,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-399, /* MapIterator[MModule, POSetElement[MModule]] */
-1586, /* HashMapIterator[MModule, POSetElement[MModule]] */
+543, /* MapKeysIterator[MClass, MClassType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassmodel__MClassType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModuleposet__POSetElementmodel_base__MModule, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, POSetElement[MModule]] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, MClassType] */
 }
 };
-/* runtime type MapIterator[MModule, POSetElement[MModule]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModuleposet__POSetElementmodel_base__MModule = {
-399,
-"MapIterator[MModule, POSetElement[MModule]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MClass, MClassType] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, MClassType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-399, /* MapIterator[MModule, POSetElement[MModule]] */
+544, /* MapValuesIterator[MClass, MClassType] */
 },
 };
-/* runtime type MapKeysIterator[String, Array[MModule]] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel_base__MModule = {
-400,
-"MapKeysIterator[String, Array[MModule]]", /* class_name_string */
-2,
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassmodel__MClassType = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, MClassType] */
+}
+};
+/* runtime type MapKeysIterator[MClass, AType] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClass, AType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-400, /* MapKeysIterator[String, Array[MModule]] */
+545, /* MapKeysIterator[MClass, AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel_base__MModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MModule]] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, AType] */
 }
 };
-/* runtime type MapValuesIterator[String, Array[MModule]] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel_base__MModule = {
-401,
-"MapValuesIterator[String, Array[MModule]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MClass, AType] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, AType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel_base__MModule,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-401, /* MapValuesIterator[String, Array[MModule]] */
+546, /* MapValuesIterator[MClass, AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel_base__MModule = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel_base__MModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MModule]] */
-&type_array__Arrayarray__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[Array[MModule]] */
+&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, AType] */
 }
 };
-/* runtime type HashMapKeys[MClassDef, POSetElement[MClassDef]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef = {
-1857,
-"HashMapKeys[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[Couple[MClass, AType]] */
+const struct type type_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Couple[MClass, AType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef,
+&resolution_table_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-591, /* Collection[MClassDef] */
-1857, /* HashMapKeys[MClassDef, POSetElement[MClassDef]] */
-164, /* Collection[Object] */
+321, /* ArrayIterator[Object] */
+547, /* Iterator[Couple[MClass, AType]] */
+1987, /* ArrayIterator[Couple[MClass, AType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__ArrayIteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassDef, POSetElement[MClassDef]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassDef, /* RemovableCollection#0: MClassDef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassDef, /* Collection#0: MClassDef */
-&type_abstract_collection__Collectionmodel__MClassDef, /* Collection[Collection#0]: Collection[MClassDef] */
+&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Iterator#0]: Array[Couple[MClass, AType]] */
+&type_array__AbstractArrayReadabstract_collection__Couplemodel__MClassparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Couple[MClass, AType]] */
 }
 };
-/* runtime type HashMapValues[MClassDef, POSetElement[MClassDef]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef = {
-1858,
-"HashMapValues[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+/* runtime type Iterator[Couple[MClass, AType]] */
+const struct type type_abstract_collection__Iteratorabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+547,
+"Iterator[Couple[MClass, AType]]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef,
-5,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type NativeArray[Couple[MClass, AType]] */
+const struct type type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
+1745,
+"NativeArray[Couple[MClass, AType]]", /* class_name_string */
+3,
+0,
+&resolution_table_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1587, /* Collection[POSetElement[MClassDef]] */
-1858, /* HashMapValues[MClassDef, POSetElement[MClassDef]] */
-164, /* Collection[Object] */
+115, /* NativeArray[Object] */
+1745, /* NativeArray[Couple[MClass, AType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassDef, POSetElement[MClassDef]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_poset__POSetElementmodel__MClassDef, /* RemovableCollection#0: POSetElement[MClassDef] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_poset__POSetElementmodel__MClassDef, /* Collection#0: POSetElement[MClassDef] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef, /* Collection[Collection#0]: Collection[POSetElement[MClassDef]] */
+&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray#0: Couple[MClass, AType] */
+&type_array__NativeArrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[Couple[MClass, AType]] */
 }
 };
-/* runtime type Collection[POSetElement[MClassDef]] */
-const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClassDef = {
-1587,
-"Collection[POSetElement[MClassDef]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AExternCodeBlock] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AExternCodeBlock]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-5,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1587, /* Collection[POSetElement[MClassDef]] */
--1, /* empty */
-164, /* Collection[Object] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2196, /* ArrayIterator[AExternCodeBlock] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
-402,
-"NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]]", /* class_name_string */
-2,
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCodeBlock = {
+0, /* dummy */
+{
+&type_array__Arrayparser_nodes__AExternCodeBlock, /* Array[Iterator#0]: Array[AExternCodeBlock] */
+&type_array__AbstractArrayReadparser_nodes__AExternCodeBlock, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCodeBlock] */
+}
+};
+/* runtime type NativeArray[AExternCodeBlock] */
+const struct type type_array__NativeArrayparser_nodes__AExternCodeBlock = {
+2197,
+"NativeArray[AExternCodeBlock]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-402, /* NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2197, /* NativeArray[AExternCodeBlock] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCodeBlock = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* NativeArray#0: nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassDef, POSetElement[MClassDef]]] */
+&type_parser_nodes__AExternCodeBlock, /* NativeArray#0: AExternCodeBlock */
+&type_array__NativeArrayparser_nodes__AExternCodeBlock, /* NativeArray[NativeArray#0]: NativeArray[AExternCodeBlock] */
 }
 };
-/* runtime type HashMapNode[MClassDef, POSetElement[MClassDef]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
-1588,
-"HashMapNode[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
-3,
+/* runtime type ContainerIterator[Scope] */
+const struct type type_abstract_collection__ContainerIteratorscope__Scope = {
+-1, /*CAST DEAD*/
+"ContainerIterator[Scope]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef,
-4,
+&resolution_table_abstract_collection__ContainerIteratorscope__Scope,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-142, /* nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
-1588, /* HashMapNode[MClassDef, POSetElement[MClassDef]] */
+548, /* ContainerIterator[Scope] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_abstract_collection__ContainerIteratorscope__Scope = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashMapNode#0: MClassDef */
-&type_poset__POSetElementmodel__MClassDef, /* HashMapNode#1: POSetElement[MClassDef] */
-&type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* N: HashMapNode[MClassDef, POSetElement[MClassDef]] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
+&type_abstract_collection__Containerscope__Scope, /* Container[ContainerIterator#0]: Container[Scope] */
 }
 };
-/* runtime type nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
-142,
-"nullable HashMapNode[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef,
-3,
+/* runtime type ArrayIterator[Scope] */
+const struct type type_array__ArrayIteratorscope__Scope = {
+-1, /*CAST DEAD*/
+"ArrayIterator[Scope]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorscope__Scope,
+4,
 {
 0, /* nullable Object */
--1, /* empty */
-142, /* nullable HashMapNode[MClassDef, POSetElement[MClassDef]] */
+1, /* Object */
+321, /* ArrayIterator[Object] */
+1746, /* ArrayIterator[Scope] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__ArrayIteratorscope__Scope = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* HashMapNode#0: MClassDef */
-&type_poset__POSetElementmodel__MClassDef, /* HashMapNode#1: POSetElement[MClassDef] */
-&type_hash_collection__HashMapNodemodel__MClassDefposet__POSetElementmodel__MClassDef, /* N: HashMapNode[MClassDef, POSetElement[MClassDef]] */
-&type_model__MClassDef, /* HashNode#0: MClassDef */
+&type_array__Arrayscope__Scope, /* Array[Iterator#0]: Array[Scope] */
+&type_array__AbstractArrayReadscope__Scope, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[Scope] */
 }
 };
-/* runtime type HashMapIterator[MClassDef, POSetElement[MClassDef]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-1589,
-"HashMapIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
+/* runtime type NativeArray[Scope] */
+const struct type type_array__NativeArrayscope__Scope = {
+1747,
+"NativeArray[Scope]", /* class_name_string */
 3,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+&resolution_table_array__NativeArrayscope__Scope,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-403, /* MapIterator[MClassDef, POSetElement[MClassDef]] */
-1589, /* HashMapIterator[MClassDef, POSetElement[MClassDef]] */
+115, /* NativeArray[Object] */
+1747, /* NativeArray[Scope] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+const struct types resolution_table_array__NativeArrayscope__Scope = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassDefposet__POSetElementmodel__MClassDef, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassDef, POSetElement[MClassDef]] */
+&type_scope__Scope, /* NativeArray#0: Scope */
+&type_array__NativeArrayscope__Scope, /* NativeArray[NativeArray#0]: NativeArray[Scope] */
 }
 };
-/* runtime type MapIterator[MClassDef, POSetElement[MClassDef]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
-403,
-"MapIterator[MClassDef, POSetElement[MClassDef]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[FFILanguage, Set[NitniCallback]] */
+const struct type type_abstract_collection__MapKeysIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[FFILanguage, Set[NitniCallback]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-403, /* MapIterator[MClassDef, POSetElement[MClassDef]] */
-},
-};
-/* runtime type HashMapKeys[MClassType, POSetElement[MClassType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType = {
-2474,
-"HashMapKeys[MClassType, POSetElement[MClassType]]", /* class_name_string */
+&resolution_table_abstract_collection__MapKeysIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback,
 3,
-0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType,
-11,
 {
 0, /* nullable Object */
 1, /* Object */
-2125, /* HashMapKeys[MType, POSetElement[MType]] */
-2474, /* HashMapKeys[MClassType, POSetElement[MClassType]] */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1916, /* Collection[MClassType] */
+549, /* MapKeysIterator[FFILanguage, Set[NitniCallback]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClassType, POSetElement[MClassType]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClassType, POSetElement[MClassType]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* RemovableCollection#0: MClassType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClassType, /* Collection#0: MClassType */
-&type_abstract_collection__Collectionmodel__MClassType, /* Collection[Collection#0]: Collection[MClassType] */
+&type_array__Arrayffi_base__FFILanguage, /* Array[Iterator#0]: Array[FFILanguage] */
+&type_abstract_collection__MapIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[FFILanguage, Set[NitniCallback]] */
 }
 };
-/* runtime type HashMapKeys[MType, POSetElement[MType]] */
-const struct type type_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType = {
-2125,
-"HashMapKeys[MType, POSetElement[MType]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[FFILanguage, Set[NitniCallback]] */
+const struct type type_abstract_collection__MapValuesIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[FFILanguage, Set[NitniCallback]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType,
-8,
+&resolution_table_abstract_collection__MapValuesIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2125, /* HashMapKeys[MType, POSetElement[MType]] */
--1, /* empty */
-164, /* Collection[Object] */
-173, /* Collection[nullable MType] */
--1, /* empty */
-1737, /* Collection[MType] */
+550, /* MapValuesIterator[FFILanguage, Set[NitniCallback]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, POSetElement[MType]] */
-&type_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, POSetElement[MType]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_array__Arrayabstract_collection__Setnitni_callbacks__NitniCallback, /* Array[Iterator#0]: Array[Set[NitniCallback]] */
+&type_abstract_collection__MapIteratorffi_base__FFILanguageabstract_collection__Setnitni_callbacks__NitniCallback, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[FFILanguage, Set[NitniCallback]] */
 }
 };
-/* runtime type HashMapValues[MClassType, POSetElement[MClassType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType = {
-2378,
-"HashMapValues[MClassType, POSetElement[MClassType]]", /* class_name_string */
-6,
+/* runtime type HashMapKeys[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MClass, POSetElement[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType,
+&resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass,
 7,
 {
 0, /* nullable Object */
 1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
-1859, /* HashMapValues[MType, POSetElement[MType]] */
-164, /* Collection[Object] */
-1860, /* Collection[POSetElement[MClassType]] */
-2378, /* HashMapValues[MClassType, POSetElement[MClassType]] */
+2198, /* HashMapKeys[MClass, POSetElement[MClass]] */
+-1, /* empty */
+92, /* Collection[Object] */
+99, /* Collection[nullable MClass] */
+1866, /* Collection[MClass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClassType, POSetElement[MClassType]] */
-&type_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClassType, POSetElement[MClassType]] */
+&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, POSetElement[MClass]] */
+&type_abstract_collection__MapKeysIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, POSetElement[MClass]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_poset__POSetElementmodel__MClassType, /* RemovableCollection#0: POSetElement[MClassType] */
+&type_model__MClass, /* RemovableCollection#0: MClass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_poset__POSetElementmodel__MClassType, /* Collection#0: POSetElement[MClassType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MClassType, /* Collection[Collection#0]: Collection[POSetElement[MClassType]] */
+&type_model__MClass, /* Collection#0: MClass */
+&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type HashMapValues[MType, POSetElement[MType]] */
-const struct type type_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType = {
-1859,
-"HashMapValues[MType, POSetElement[MType]]", /* class_name_string */
-3,
+/* runtime type HashMapValues[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapValues[MClass, POSetElement[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType,
+&resolution_table_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
-1859, /* HashMapValues[MType, POSetElement[MType]] */
-164, /* Collection[Object] */
+1748, /* Collection[POSetElement[MClass]] */
+1988, /* HashMapValues[MClass, POSetElement[MClass]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, POSetElement[MType]] */
-&type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, POSetElement[MType]] */
+&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MClass, POSetElement[MClass]] */
+&type_abstract_collection__MapValuesIteratormodel__MClassposet__POSetElementmodel__MClass, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MClass, POSetElement[MClass]] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_poset__POSetElementmodel__MType, /* RemovableCollection#0: POSetElement[MType] */
+&type_poset__POSetElementmodel__MClass, /* RemovableCollection#0: POSetElement[MClass] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_poset__POSetElementmodel__MType, /* Collection#0: POSetElement[MType] */
-&type_abstract_collection__Collectionposet__POSetElementmodel__MType, /* Collection[Collection#0]: Collection[POSetElement[MType]] */
-}
-};
-/* runtime type Collection[POSetElement[MClassType]] */
-const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClassType = {
-1860,
-"Collection[POSetElement[MClassType]]", /* class_name_string */
-5,
-0,
-NULL,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
--1, /* empty */
-164, /* Collection[Object] */
-1860, /* Collection[POSetElement[MClassType]] */
-},
-};
-/* runtime type Collection[POSetElement[MType]] */
-const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MType = {
-1590,
-"Collection[POSetElement[MType]]", /* class_name_string */
-2,
-0,
-NULL,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1590, /* Collection[POSetElement[MType]] */
--1, /* empty */
-164, /* Collection[Object] */
-},
-};
-/* runtime type NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1591,
-"NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]]", /* class_name_string */
-3,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType,
-4,
-{
-0, /* nullable Object */
-1, /* Object */
-404, /* NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
-1591, /* NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
-},
-};
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
-0, /* dummy */
-{
-&type_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* NativeArray#0: nullable HashMapNode[MClassType, POSetElement[MClassType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClassType, POSetElement[MClassType]]] */
+&type_poset__POSetElementmodel__MClass, /* Collection#0: POSetElement[MClass] */
+&type_abstract_collection__Collectionposet__POSetElementmodel__MClass, /* Collection[Collection#0]: Collection[POSetElement[MClass]] */
 }
 };
-/* runtime type NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
-404,
-"NativeArray[nullable HashMapNode[MType, POSetElement[MType]]]", /* class_name_string */
-2,
-0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-404, /* NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
-},
-};
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
-0, /* dummy */
-{
-&type_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* NativeArray#0: nullable HashMapNode[MType, POSetElement[MType]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, POSetElement[MType]]] */
-}
+/* runtime type Collection[POSetElement[MClass]] */
+const struct type type_abstract_collection__Collectionposet__POSetElementmodel__MClass = {
+1748,
+"Collection[POSetElement[MClass]]", /* class_name_string */
+2,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
 };
-/* runtime type HashMapNode[MClassType, POSetElement[MClassType]] */
-const struct type type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
-2126,
-"HashMapNode[MClassType, POSetElement[MClassType]]", /* class_name_string */
-5,
+/* runtime type NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+551,
+"NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]]", /* class_name_string */
+2,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType,
-6,
+&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-143, /* nullable HashMapNode[MType, POSetElement[MType]] */
-405, /* nullable HashMapNode[MClassType, POSetElement[MClassType]] */
-1592, /* HashMapNode[MType, POSetElement[MType]] */
-2126, /* HashMapNode[MClassType, POSetElement[MClassType]] */
+551, /* NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_poset__POSetElementmodel__MClassType, /* HashMapNode#1: POSetElement[MClassType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* N: HashMapNode[MClassType, POSetElement[MClassType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray#0: nullable HashMapNode[MClass, POSetElement[MClass]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MClass, POSetElement[MClass]]] */
 }
 };
-/* runtime type HashMapNode[MType, POSetElement[MType]] */
-const struct type type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
-1592,
-"HashMapNode[MType, POSetElement[MType]]", /* class_name_string */
-4,
+/* runtime type HashMapNode[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+1749,
+"HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
+3,
 0,
-&resolution_table_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType,
-5,
+&resolution_table_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-143, /* nullable HashMapNode[MType, POSetElement[MType]] */
--1, /* empty */
-1592, /* HashMapNode[MType, POSetElement[MType]] */
+77, /* nullable HashMapNode[MClass, POSetElement[MClass]] */
+1749, /* HashMapNode[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_poset__POSetElementmodel__MType, /* HashMapNode#1: POSetElement[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* N: HashMapNode[MType, POSetElement[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_model__MClass, /* HashMapNode#0: MClass */
+&type_poset__POSetElementmodel__MClass, /* HashMapNode#1: POSetElement[MClass] */
+&type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass, /* nullable N: nullable HashMapNode[MClass, POSetElement[MClass]] */
+&type_model__MClass, /* HashNode#0: MClass */
 }
 };
-/* runtime type nullable HashMapNode[MClassType, POSetElement[MClassType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
-405,
-"nullable HashMapNode[MClassType, POSetElement[MClassType]]", /* class_name_string */
-3,
+/* runtime type nullable HashMapNode[MClass, POSetElement[MClass]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MClassposet__POSetElementmodel__MClass = {
+77,
+"nullable HashMapNode[MClass, POSetElement[MClass]]", /* class_name_string */
+2,
 1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MClass, POSetElement[MClass]] */
+const struct type type_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass,
 4,
 {
 0, /* nullable Object */
--1, /* empty */
-143, /* nullable HashMapNode[MType, POSetElement[MType]] */
-405, /* nullable HashMapNode[MClassType, POSetElement[MClassType]] */
+1, /* Object */
+552, /* MapIterator[MClass, POSetElement[MClass]] */
+1750, /* HashMapIterator[MClass, POSetElement[MClass]] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassposet__POSetElementmodel__MClass = {
 0, /* dummy */
 {
-&type_model__MClassType, /* HashMapNode#0: MClassType */
-&type_poset__POSetElementmodel__MClassType, /* HashMapNode#1: POSetElement[MClassType] */
-&type_hash_collection__HashMapNodemodel__MClassTypeposet__POSetElementmodel__MClassType, /* N: HashMapNode[MClassType, POSetElement[MClassType]] */
-&type_model__MClassType, /* HashNode#0: MClassType */
+&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClass, POSetElement[MClass]] */
 }
 };
-/* runtime type nullable HashMapNode[MType, POSetElement[MType]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
-143,
-"nullable HashMapNode[MType, POSetElement[MType]]", /* class_name_string */
+/* runtime type MapIterator[MClass, POSetElement[MClass]] */
+const struct type type_abstract_collection__MapIteratormodel__MClassposet__POSetElementmodel__MClass = {
+552,
+"MapIterator[MClass, POSetElement[MClass]]", /* class_name_string */
 2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType,
-3,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type ArrayIterator[AFormaldef] */
+const struct type type_array__ArrayIteratorparser_nodes__AFormaldef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AFormaldef]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_array__ArrayIteratorparser_nodes__AFormaldef,
+6,
 {
 0, /* nullable Object */
--1, /* empty */
-143, /* nullable HashMapNode[MType, POSetElement[MType]] */
+1, /* Object */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2199, /* ArrayIterator[AFormaldef] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AFormaldef = {
 0, /* dummy */
 {
-&type_model__MType, /* HashMapNode#0: MType */
-&type_poset__POSetElementmodel__MType, /* HashMapNode#1: POSetElement[MType] */
-&type_hash_collection__HashMapNodemodel__MTypeposet__POSetElementmodel__MType, /* N: HashMapNode[MType, POSetElement[MType]] */
-&type_model__MType, /* HashNode#0: MType */
+&type_array__Arrayparser_nodes__AFormaldef, /* Array[Iterator#0]: Array[AFormaldef] */
+&type_array__AbstractArrayReadparser_nodes__AFormaldef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AFormaldef] */
 }
 };
-/* runtime type HashMapIterator[MClassType, POSetElement[MClassType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-2127,
-"HashMapIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+/* runtime type NativeArray[AFormaldef] */
+const struct type type_array__NativeArrayparser_nodes__AFormaldef = {
+2200,
+"NativeArray[AFormaldef]", /* class_name_string */
 5,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
+&resolution_table_array__NativeArrayparser_nodes__AFormaldef,
 6,
 {
 0, /* nullable Object */
 1, /* Object */
-406, /* MapIterator[MType, POSetElement[MType]] */
-1593, /* HashMapIterator[MType, POSetElement[MType]] */
-1594, /* MapIterator[MClassType, POSetElement[MClassType]] */
-2127, /* HashMapIterator[MClassType, POSetElement[MClassType]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2200, /* NativeArray[AFormaldef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AFormaldef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassTypeposet__POSetElementmodel__MClassType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MClassType, POSetElement[MClassType]] */
+&type_parser_nodes__AFormaldef, /* NativeArray#0: AFormaldef */
+&type_array__NativeArrayparser_nodes__AFormaldef, /* NativeArray[NativeArray#0]: NativeArray[AFormaldef] */
 }
 };
-/* runtime type HashMapIterator[MType, POSetElement[MType]] */
-const struct type type_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType = {
-1593,
-"HashMapIterator[MType, POSetElement[MType]]", /* class_name_string */
-3,
+/* runtime type ArrayIterator[ASuperclass] */
+const struct type type_array__ArrayIteratorparser_nodes__ASuperclass = {
+-1, /*CAST DEAD*/
+"ArrayIterator[ASuperclass]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType,
-4,
+&resolution_table_array__ArrayIteratorparser_nodes__ASuperclass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-406, /* MapIterator[MType, POSetElement[MType]] */
-1593, /* HashMapIterator[MType, POSetElement[MType]] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2201, /* ArrayIterator[ASuperclass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypeposet__POSetElementmodel__MType = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__ASuperclass = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypeposet__POSetElementmodel__MType, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, POSetElement[MType]] */
+&type_array__Arrayparser_nodes__ASuperclass, /* Array[Iterator#0]: Array[ASuperclass] */
+&type_array__AbstractArrayReadparser_nodes__ASuperclass, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[ASuperclass] */
 }
 };
-/* runtime type MapIterator[MClassType, POSetElement[MClassType]] */
-const struct type type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
-1594,
-"MapIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
-4,
-0,
-NULL,
+/* runtime type NativeArray[ASuperclass] */
+const struct type type_array__NativeArrayparser_nodes__ASuperclass = {
+2202,
+"NativeArray[ASuperclass]", /* class_name_string */
 5,
+0,
+&resolution_table_array__NativeArrayparser_nodes__ASuperclass,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-406, /* MapIterator[MType, POSetElement[MType]] */
--1, /* empty */
-1594, /* MapIterator[MClassType, POSetElement[MClassType]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2202, /* NativeArray[ASuperclass] */
 },
 };
-/* runtime type MapIterator[MType, POSetElement[MType]] */
-const struct type type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType = {
-406,
-"MapIterator[MType, POSetElement[MType]]", /* class_name_string */
+const struct types resolution_table_array__NativeArrayparser_nodes__ASuperclass = {
+0, /* dummy */
+{
+&type_parser_nodes__ASuperclass, /* NativeArray#0: ASuperclass */
+&type_array__NativeArrayparser_nodes__ASuperclass, /* NativeArray[NativeArray#0]: NativeArray[ASuperclass] */
+}
+};
+/* runtime type HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+553,
+"HashMap[MModule, HashMap[MType, Array[MMethodDef]]]", /* class_name_string */
 2,
 0,
-NULL,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-406, /* MapIterator[MType, POSetElement[MType]] */
+553, /* HashMap[MModule, HashMap[MType, Array[MMethodDef]]] */
 },
 };
-/* runtime type MapKeysIterator[String, Array[MClass]] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass = {
-407,
-"MapKeysIterator[String, Array[MClass]]", /* class_name_string */
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_mmodule__MModule, /* Map#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* Map#1: HashMap[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MMethodDef]]] not a live type) */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* MapRead#1: HashMap[MType, Array[MMethodDef]] */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* nullable HashCollection#1: nullable HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MMethodDef]]] */
+&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
+}
+};
+/* runtime type HashMap[MType, Array[MMethodDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
+554,
+"HashMap[MType, Array[MMethodDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-407, /* MapKeysIterator[String, Array[MClass]] */
+554, /* HashMap[MType, Array[MMethodDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MMethodDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MClass]] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MMethodDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MMethodDef]]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MMethodDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MMethodDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MMethodDef]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraymodel__MMethodDef, /* Map#1: Array[MMethodDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MMethodDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MMethodDef]] not a live type) */
+&type_array__Arraymodel__MMethodDef, /* MapRead#1: Array[MMethodDef] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[MMethodDef]] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MMethodDef, /* HashCollection#1: HashMapNode[MType, Array[MMethodDef]] */
+&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
 }
 };
-/* runtime type MapValuesIterator[String, Array[MClass]] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass = {
-408,
-"MapValuesIterator[String, Array[MClass]]", /* class_name_string */
-2,
+/* 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_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass,
+&resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-408, /* MapValuesIterator[String, Array[MClass]] */
+555, /* MapKeysIterator[String, Variable] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MClass = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MClass, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MClass]] */
-&type_array__Arrayarray__Arraymodel__MClass, /* Array[Iterator#0]: Array[Array[MClass]] */
+&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Variable] */
 }
 };
-/* runtime type MapKeysIterator[String, Array[MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty = {
-409,
-"MapKeysIterator[String, Array[MProperty]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[String, Variable] */
+const struct type type_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[String, Variable]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty,
+&resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-409, /* MapKeysIterator[String, Array[MProperty]] */
+556, /* MapValuesIterator[String, Variable] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringscope__Variable = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Array[MProperty]] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_abstract_collection__MapIteratorstring__Stringscope__Variable, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Variable] */
 }
 };
-/* runtime type MapValuesIterator[String, Array[MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty = {
-410,
-"MapValuesIterator[String, Array[MProperty]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-410, /* MapValuesIterator[String, Array[MProperty]] */
+557, /* MapKeysIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringarray__Arraymodel__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringarray__Arraymodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Array[MProperty]] */
-&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Iterator#0]: Array[Array[MProperty]] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, nullable MType] */
 }
 };
-/* runtime type HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1861,
-"HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-3,
+/* runtime type MapValuesIterator[Variable, nullable MType] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[Variable, nullable MType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-5,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-588, /* Collection[MModule] */
-1861, /* HashMapKeys[MModule, HashMap2[MType, String, nullable MProperty]] */
-164, /* Collection[Object] */
+558, /* MapValuesIterator[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_abstract_collection__MapKeysIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model_base__MModule, /* RemovableCollection#0: MModule */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model_base__MModule, /* Collection#0: MModule */
-&type_abstract_collection__Collectionmodel_base__MModule, /* Collection[Collection#0]: Collection[MModule] */
+&type_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable MType] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, nullable MType] */
 }
 };
-/* runtime type HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1862,
-"HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-3,
+/* runtime type MapKeysIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-5,
+&resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1595, /* Collection[HashMap2[MType, String, nullable MProperty]] */
-1862, /* HashMapValues[MModule, HashMap2[MType, String, nullable MProperty]] */
-164, /* Collection[Object] */
+559, /* MapKeysIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapValuesmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_abstract_collection__MapValuesIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap2[MType, String, nullable MProperty] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection#0: HashMap2[MType, String, nullable MProperty] */
-&type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Collection[Collection#0]: Collection[HashMap2[MType, String, nullable MProperty]] */
+&type_array__Arrayscope__Variable, /* Array[Iterator#0]: Array[Variable] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Variable, nullable Array[nullable MType]] */
 }
 };
-/* runtime type Collection[HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__Collectionmore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1595,
-"Collection[HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[Variable, nullable Array[nullable MType]] */
+const struct type type_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[Variable, nullable Array[nullable MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-NULL,
-5,
+&resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-1595, /* Collection[HashMap2[MType, String, nullable MProperty]] */
--1, /* empty */
-164, /* Collection[Object] */
+560, /* MapValuesIterator[Variable, nullable Array[nullable MType]] */
 },
 };
-/* runtime type NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
-const struct type type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-411,
-"NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]]", /* class_name_string */
-2,
+const struct types resolution_table_abstract_collection__MapValuesIteratorscope__Variablenullable_array__Arraynullable_model__MType = {
+0, /* dummy */
+{
+&type_array__Arraynullable_array__Arraynullable_model__MType, /* Array[Iterator#0]: Array[nullable Array[nullable MType]] */
+&type_abstract_collection__MapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Variable, nullable Array[nullable MType]] */
+}
+};
+/* runtime type Array[MExplicitCall] */
+const struct type type_array__Arraynitni_callbacks__MExplicitCall = {
+2808,
+"Array[MExplicitCall]", /* class_name_string */
+8,
 0,
-&resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-3,
+&resolution_table_array__Arraynitni_callbacks__MExplicitCall,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-411, /* NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
+1888, /* Collection[MExplicitCall] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+2722, /* AbstractArrayRead[MExplicitCall] */
+648, /* Collection[NitniCallback] */
+1838, /* AbstractArrayRead[Object] */
+2808, /* Array[MExplicitCall] */
+2029, /* Array[Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2261, /* AbstractArrayRead[NitniCallback] */
+-1, /* empty */
+2675, /* Array[NitniCallback] */
 },
 };
-const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__Arraynitni_callbacks__MExplicitCall = {
 0, /* dummy */
 {
-&type_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]] */
+&type_array__Arraynitni_callbacks__MExplicitCall, /* Array[Array#0]: Array[MExplicitCall] */
+&type_array__NativeArraynitni_callbacks__MExplicitCall, /* NativeArray[Array#0]: NativeArray[MExplicitCall] */
+&type_nitni_callbacks__MExplicitCall, /* Sequence#0: MExplicitCall */
+&type_nitni_callbacks__MExplicitCall, /* SimpleCollection#0: MExplicitCall */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCall, /* Collection[Array#0]: Collection[MExplicitCall] */
+&type_nitni_callbacks__MExplicitCall, /* Array#0: MExplicitCall */
+&type_array__NativeArraynitni_callbacks__MExplicitCall, /* NativeArray[ArrayCapable#0]: NativeArray[MExplicitCall] */
+&type_nitni_callbacks__MExplicitCall, /* AbstractArray#0: MExplicitCall */
+&type_nitni_callbacks__MExplicitCall, /* RemovableCollection#0: MExplicitCall */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCall, /* Collection[Sequence#0]: Collection[MExplicitCall] */
+&type_array__Arraynitni_callbacks__MExplicitCall, /* Array[Sequence#0]: Array[MExplicitCall] */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCall, /* Collection[SimpleCollection#0]: Collection[MExplicitCall] */
+&type_nitni_callbacks__MExplicitCall, /* Collection#0: MExplicitCall */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCall, /* Collection[Collection#0]: Collection[MExplicitCall] */
+&type_nitni_callbacks__MExplicitCall, /* SequenceRead#0: MExplicitCall */
+&type_nitni_callbacks__MExplicitCall, /* AbstractArrayRead#0: MExplicitCall */
+&type_array__Arraynitni_callbacks__MExplicitCall, /* Array[AbstractArrayRead#0]: Array[MExplicitCall] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MExplicitCall] not a live type) */
+&type_array__ArrayIteratornitni_callbacks__MExplicitCall, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MExplicitCall] */
 }
 };
-/* runtime type HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1596,
-"HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[MExplicitCall] */
+const struct type type_array__AbstractArrayReadnitni_callbacks__MExplicitCall = {
+2722,
+"AbstractArrayRead[MExplicitCall]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[MExplicitSuper] */
+const struct type type_array__Arraynitni_callbacks__MExplicitSuper = {
+2809,
+"Array[MExplicitSuper]", /* class_name_string */
+8,
+0,
+&resolution_table_array__Arraynitni_callbacks__MExplicitSuper,
+16,
 {
 0, /* nullable Object */
 1, /* Object */
-144, /* nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-1596, /* HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+1889, /* Collection[MExplicitSuper] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+2723, /* AbstractArrayRead[MExplicitSuper] */
+648, /* Collection[NitniCallback] */
+1838, /* AbstractArrayRead[Object] */
+2809, /* Array[MExplicitSuper] */
+2029, /* Array[Object] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2261, /* AbstractArrayRead[NitniCallback] */
+-1, /* empty */
+2675, /* Array[NitniCallback] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__Arraynitni_callbacks__MExplicitSuper = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap2[MType, String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* N: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_array__Arraynitni_callbacks__MExplicitSuper, /* Array[Array#0]: Array[MExplicitSuper] */
+&type_array__NativeArraynitni_callbacks__MExplicitSuper, /* NativeArray[Array#0]: NativeArray[MExplicitSuper] */
+&type_nitni_callbacks__MExplicitSuper, /* Sequence#0: MExplicitSuper */
+&type_nitni_callbacks__MExplicitSuper, /* SimpleCollection#0: MExplicitSuper */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitSuper, /* Collection[Array#0]: Collection[MExplicitSuper] */
+&type_nitni_callbacks__MExplicitSuper, /* Array#0: MExplicitSuper */
+&type_array__NativeArraynitni_callbacks__MExplicitSuper, /* NativeArray[ArrayCapable#0]: NativeArray[MExplicitSuper] */
+&type_nitni_callbacks__MExplicitSuper, /* AbstractArray#0: MExplicitSuper */
+&type_nitni_callbacks__MExplicitSuper, /* RemovableCollection#0: MExplicitSuper */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitSuper, /* Collection[Sequence#0]: Collection[MExplicitSuper] */
+&type_array__Arraynitni_callbacks__MExplicitSuper, /* Array[Sequence#0]: Array[MExplicitSuper] */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitSuper, /* Collection[SimpleCollection#0]: Collection[MExplicitSuper] */
+&type_nitni_callbacks__MExplicitSuper, /* Collection#0: MExplicitSuper */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitSuper, /* Collection[Collection#0]: Collection[MExplicitSuper] */
+&type_nitni_callbacks__MExplicitSuper, /* SequenceRead#0: MExplicitSuper */
+&type_nitni_callbacks__MExplicitSuper, /* AbstractArrayRead#0: MExplicitSuper */
+&type_array__Arraynitni_callbacks__MExplicitSuper, /* Array[AbstractArrayRead#0]: Array[MExplicitSuper] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MExplicitSuper] not a live type) */
+&type_array__ArrayIteratornitni_callbacks__MExplicitSuper, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MExplicitSuper] */
 }
 };
-/* runtime type nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-144,
-"nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-2,
-1,
-&resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-3,
+/* runtime type AbstractArrayRead[MExplicitSuper] */
+const struct type type_array__AbstractArrayReadnitni_callbacks__MExplicitSuper = {
+2723,
+"AbstractArrayRead[MExplicitSuper]", /* class_name_string */
+5,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[MExplicitCast] */
+const struct type type_array__Arraynitni_callbacks__MExplicitCast = {
+2810,
+"Array[MExplicitCast]", /* class_name_string */
+8,
+0,
+&resolution_table_array__Arraynitni_callbacks__MExplicitCast,
+16,
 {
 0, /* nullable Object */
+1, /* Object */
+1890, /* Collection[MExplicitCast] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+2724, /* AbstractArrayRead[MExplicitCast] */
+648, /* Collection[NitniCallback] */
+1838, /* AbstractArrayRead[Object] */
+2810, /* Array[MExplicitCast] */
+2029, /* Array[Object] */
+-1, /* empty */
+-1, /* empty */
 -1, /* empty */
-144, /* nullable HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
+2261, /* AbstractArrayRead[NitniCallback] */
+-1, /* empty */
+2675, /* Array[NitniCallback] */
 },
 };
-const struct types resolution_table_nullable_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__Arraynitni_callbacks__MExplicitCast = {
 0, /* dummy */
 {
-&type_model_base__MModule, /* HashMapNode#0: MModule */
-&type_more_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap2[MType, String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* N: HashMapNode[MModule, HashMap2[MType, String, nullable MProperty]] */
-&type_model_base__MModule, /* HashNode#0: MModule */
+&type_array__Arraynitni_callbacks__MExplicitCast, /* Array[Array#0]: Array[MExplicitCast] */
+&type_array__NativeArraynitni_callbacks__MExplicitCast, /* NativeArray[Array#0]: NativeArray[MExplicitCast] */
+&type_nitni_callbacks__MExplicitCast, /* Sequence#0: MExplicitCast */
+&type_nitni_callbacks__MExplicitCast, /* SimpleCollection#0: MExplicitCast */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCast, /* Collection[Array#0]: Collection[MExplicitCast] */
+&type_nitni_callbacks__MExplicitCast, /* Array#0: MExplicitCast */
+&type_array__NativeArraynitni_callbacks__MExplicitCast, /* NativeArray[ArrayCapable#0]: NativeArray[MExplicitCast] */
+&type_nitni_callbacks__MExplicitCast, /* AbstractArray#0: MExplicitCast */
+&type_nitni_callbacks__MExplicitCast, /* RemovableCollection#0: MExplicitCast */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCast, /* Collection[Sequence#0]: Collection[MExplicitCast] */
+&type_array__Arraynitni_callbacks__MExplicitCast, /* Array[Sequence#0]: Array[MExplicitCast] */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCast, /* Collection[SimpleCollection#0]: Collection[MExplicitCast] */
+&type_nitni_callbacks__MExplicitCast, /* Collection#0: MExplicitCast */
+&type_abstract_collection__Collectionnitni_callbacks__MExplicitCast, /* Collection[Collection#0]: Collection[MExplicitCast] */
+&type_nitni_callbacks__MExplicitCast, /* SequenceRead#0: MExplicitCast */
+&type_nitni_callbacks__MExplicitCast, /* AbstractArrayRead#0: MExplicitCast */
+&type_array__Arraynitni_callbacks__MExplicitCast, /* Array[AbstractArrayRead#0]: Array[MExplicitCast] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MExplicitCast] not a live type) */
+&type_array__ArrayIteratornitni_callbacks__MExplicitCast, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MExplicitCast] */
 }
 };
-/* runtime type HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-1597,
-"HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[MExplicitCast] */
+const struct type type_array__AbstractArrayReadnitni_callbacks__MExplicitCast = {
+2724,
+"AbstractArrayRead[MExplicitCast]", /* class_name_string */
+5,
 0,
-&resolution_table_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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__ArrayIteratormodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-412, /* MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-1597, /* HashMapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+321, /* ArrayIterator[Object] */
+413, /* ArrayIterator[nullable MPropDef] */
+1524, /* ArrayIterator[PropertyLayoutElement] */
+2150, /* ArrayIterator[MPropDef] */
+2450, /* ArrayIterator[MAttributeDef] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
+const struct types resolution_table_array__ArrayIteratormodel__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MModule, HashMap2[MType, String, nullable MProperty]] */
+&type_array__Arraymodel__MAttributeDef, /* Array[Iterator#0]: Array[MAttributeDef] */
+&type_array__AbstractArrayReadmodel__MAttributeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MAttributeDef] */
 }
 };
-/* runtime type MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
-const struct type type_abstract_collection__MapIteratormodel_base__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
-412,
-"MapIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
-2,
+/* runtime type NativeArray[MAttributeDef] */
+const struct type type_array__NativeArraymodel__MAttributeDef = {
+2451,
+"NativeArray[MAttributeDef]", /* class_name_string */
+6,
 0,
-NULL,
-3,
+&resolution_table_array__NativeArraymodel__MAttributeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-412, /* MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
+115, /* NativeArray[Object] */
+414, /* NativeArray[nullable MPropDef] */
+1525, /* NativeArray[PropertyLayoutElement] */
+2151, /* NativeArray[MPropDef] */
+2451, /* NativeArray[MAttributeDef] */
 },
 };
-/* runtime type HashMap[MType, HashMap[String, nullable MProperty]] */
-const struct type type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
-413,
-"HashMap[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+const struct types resolution_table_array__NativeArraymodel__MAttributeDef = {
+0, /* dummy */
+{
+&type_model__MAttributeDef, /* NativeArray#0: MAttributeDef */
+&type_array__NativeArraymodel__MAttributeDef, /* NativeArray[NativeArray#0]: NativeArray[MAttributeDef] */
+}
+};
+/* runtime type HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+561,
+"HashMap[MModule, HashMap[MType, Array[MAttributeDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-413, /* HashMap[MType, HashMap[String, nullable MProperty]] */
+561, /* HashMap[MModule, HashMap[MType, Array[MAttributeDef]]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, HashMap[String, nullable MProperty]] */
-&type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, HashMap[String, nullable MProperty]] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
-&type_model__MType, /* MapRead#0: MType */
-&type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, HashMap[String, nullable MProperty]] */
-&type_model__MType, /* Map#0: MType */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Map#1: HashMap[String, nullable MProperty] */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, HashMap[String, nullable MProperty]] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MType, HashMap[String, nullable MProperty]] not a live type) */
-&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapRead#1: HashMap[String, nullable MProperty] */
-&type_model__MType, /* HashCollection#0: MType */
-&type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_mmodule__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_mmodule__MModule, /* Map#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* Map#1: HashMap[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MAttributeDef]]] not a live type) */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* MapRead#1: HashMap[MType, Array[MAttributeDef]] */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* nullable HashCollection#1: nullable HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MAttributeDef]]] */
+&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
 }
 };
-/* runtime type HashMap[String, nullable MProperty] */
-const struct type type_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
-414,
-"HashMap[String, nullable MProperty]", /* class_name_string */
+/* runtime type HashMap[MType, Array[MAttributeDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
+562,
+"HashMap[MType, Array[MAttributeDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-414, /* HashMap[String, nullable MProperty] */
+562, /* HashMap[MType, Array[MAttributeDef]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapstring__Stringnullable_model__MProperty = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MAttributeDef = {
 0, /* dummy */
 {
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysstring__Stringnullable_model__MProperty, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, nullable MProperty] */
-&type_hash_collection__HashMapValuesstring__Stringnullable_model__MProperty, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, nullable MProperty] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, nullable MProperty]] */
-&type_string__String, /* MapRead#0: String */
-&type_hash_collection__HashMapIteratorstring__Stringnullable_model__MProperty, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, nullable MProperty] */
-&type_string__String, /* Map#0: String */
-&type_nullable_model__MProperty, /* Map#1: nullable MProperty */
-&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, nullable MProperty] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[String, nullable MProperty] not a live type) */
-&type_nullable_model__MProperty, /* MapRead#1: nullable MProperty */
-&type_string__String, /* HashCollection#0: String */
-&type_hash_collection__HashMapNodestring__Stringnullable_model__MProperty, /* HashCollection#1: HashMapNode[String, nullable MProperty] */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MAttributeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MAttributeDef]]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MAttributeDef]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraymodel__MAttributeDef, /* Map#1: Array[MAttributeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MAttributeDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MAttributeDef]] not a live type) */
+&type_array__Arraymodel__MAttributeDef, /* MapRead#1: Array[MAttributeDef] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[MAttributeDef]] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MAttributeDef, /* HashCollection#1: HashMapNode[MType, Array[MAttributeDef]] */
+&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
 }
 };
-/* runtime type MapKeysIterator[String, AModule] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule = {
-415,
-"MapKeysIterator[String, AModule]", /* class_name_string */
-2,
+/* runtime type ContainerIterator[Int] */
+const struct type type_abstract_collection__ContainerIteratorkernel__Int = {
+-1, /*CAST DEAD*/
+"ContainerIterator[Int]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule,
+&resolution_table_abstract_collection__ContainerIteratorkernel__Int,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-415, /* MapKeysIterator[String, AModule] */
+563, /* ContainerIterator[Int] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__ContainerIteratorkernel__Int = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringparser_nodes__AModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, AModule] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_abstract_collection__Containerkernel__Int, /* Container[ContainerIterator#0]: Container[Int] */
 }
 };
-/* runtime type MapValuesIterator[String, AModule] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule = {
-416,
-"MapValuesIterator[String, AModule]", /* 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_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-416, /* MapValuesIterator[String, AModule] */
+564, /* MapKeysIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringparser_nodes__AModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, AModule] */
-&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
+&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, AClassdef] */
 }
 };
-/* runtime type MapKeysIterator[MModule, AModule] */
-const struct type type_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule = {
-417,
-"MapKeysIterator[MModule, AModule]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MClass, AClassdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MClass, AClassdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-417, /* MapKeysIterator[MModule, AModule] */
+565, /* MapValuesIterator[MClass, AClassdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassparser_nodes__AClassdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleparser_nodes__AModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, AModule] */
-&type_array__Arraymodel_base__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
+&type_abstract_collection__MapIteratormodel__MClassparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, AClassdef] */
 }
 };
-/* runtime type MapValuesIterator[MModule, AModule] */
-const struct type type_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule = {
-418,
-"MapValuesIterator[MModule, AModule]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MProperty, APropdef] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MProperty, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-418, /* MapValuesIterator[MModule, AModule] */
+566, /* MapKeysIterator[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel_base__MModuleparser_nodes__AModule = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel_base__MModuleparser_nodes__AModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, AModule] */
-&type_array__Arrayparser_nodes__AModule, /* Array[Iterator#0]: Array[AModule] */
+&type_array__Arraymodel__MProperty, /* Array[Iterator#0]: Array[MProperty] */
+&type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MProperty, APropdef] */
 }
 };
-/* runtime type MapKeysIterator[MClassDef, AClassdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
-419,
-"MapKeysIterator[MClassDef, AClassdef]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MProperty, APropdef] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MProperty, APropdef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-419, /* MapKeysIterator[MClassDef, AClassdef] */
+567, /* MapValuesIterator[MProperty, APropdef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropertyparser_nodes__APropdef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, AClassdef] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
+&type_abstract_collection__MapIteratormodel__MPropertyparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MProperty, APropdef] */
 }
 };
-/* runtime type MapValuesIterator[MClassDef, AClassdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
-420,
-"MapValuesIterator[MClassDef, AClassdef]", /* class_name_string */
-2,
+/* 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_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-420, /* MapValuesIterator[MClassDef, AClassdef] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2203, /* ArrayIterator[AParam] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefparser_nodes__AClassdef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AParam = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefparser_nodes__AClassdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, AClassdef] */
-&type_array__Arrayparser_nodes__AClassdef, /* Array[Iterator#0]: Array[AClassdef] */
+&type_array__Arrayparser_nodes__AParam, /* Array[Iterator#0]: Array[AParam] */
+&type_array__AbstractArrayReadparser_nodes__AParam, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AParam] */
 }
 };
-/* runtime type MapKeysIterator[MPropDef, APropdef] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
-421,
-"MapKeysIterator[MPropDef, APropdef]", /* class_name_string */
-2,
+/* runtime type NativeArray[AParam] */
+const struct type type_array__NativeArrayparser_nodes__AParam = {
+2204,
+"NativeArray[AParam]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef,
-3,
+&resolution_table_array__NativeArrayparser_nodes__AParam,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-421, /* MapKeysIterator[MPropDef, APropdef] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2204, /* NativeArray[AParam] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AParam = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MPropDef, APropdef] */
-&type_array__Arraymodel__MPropDef, /* Array[Iterator#0]: Array[MPropDef] */
+&type_parser_nodes__AParam, /* NativeArray#0: AParam */
+&type_array__NativeArrayparser_nodes__AParam, /* NativeArray[NativeArray#0]: NativeArray[AParam] */
 }
 };
-/* runtime type MapValuesIterator[MPropDef, APropdef] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
-422,
-"MapValuesIterator[MPropDef, APropdef]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AExternCall] */
+const struct type type_array__ArrayIteratorparser_nodes__AExternCall = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AExternCall]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-422, /* MapValuesIterator[MPropDef, APropdef] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2205, /* ArrayIterator[AExternCall] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MPropDefparser_nodes__APropdef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MPropDefparser_nodes__APropdef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MPropDef, APropdef] */
-&type_array__Arrayparser_nodes__APropdef, /* Array[Iterator#0]: Array[APropdef] */
+&type_array__Arrayparser_nodes__AExternCall, /* Array[Iterator#0]: Array[AExternCall] */
+&type_array__AbstractArrayReadparser_nodes__AExternCall, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AExternCall] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Set[MProperty]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
-1598,
-"MapKeysIterator[MClass, Set[MProperty]]", /* class_name_string */
-3,
+/* runtime type NativeArray[AExternCall] */
+const struct type type_array__NativeArrayparser_nodes__AExternCall = {
+2206,
+"NativeArray[AExternCall]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AExternCall,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-423, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-1598, /* MapKeysIterator[MClass, Set[MProperty]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2206, /* NativeArray[AExternCall] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AExternCall = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[MProperty]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_parser_nodes__AExternCall, /* NativeArray#0: AExternCall */
+&type_array__NativeArrayparser_nodes__AExternCall, /* NativeArray[NativeArray#0]: NativeArray[AExternCall] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-423,
-"MapKeysIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AType] */
+const struct type type_array__ArrayIteratorparser_nodes__AType = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AType]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-423, /* MapKeysIterator[MClass, Set[PropertyLayoutElement]] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2207, /* ArrayIterator[AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_array__Arrayparser_nodes__AType, /* Array[Iterator#0]: Array[AType] */
+&type_array__AbstractArrayReadparser_nodes__AType, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AType] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Set[MProperty]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
-1599,
-"MapValuesIterator[MClass, Set[MProperty]]", /* class_name_string */
-3,
+/* runtime type NativeArray[AType] */
+const struct type type_array__NativeArrayparser_nodes__AType = {
+2208,
+"NativeArray[AType]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AType,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-424, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-1599, /* MapValuesIterator[MClass, Set[MProperty]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2208, /* NativeArray[AType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setmodel__MProperty = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setmodel__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[MProperty]] */
-&type_array__Arrayabstract_collection__Setmodel__MProperty, /* Array[Iterator#0]: Array[Set[MProperty]] */
+&type_parser_nodes__AType, /* NativeArray#0: AType */
+&type_array__NativeArrayparser_nodes__AType, /* NativeArray[NativeArray#0]: NativeArray[AType] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
-424,
-"MapValuesIterator[MClass, Set[PropertyLayoutElement]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[TId] */
+const struct type type_array__ArrayIteratorparser_nodes__TId = {
+-1, /*CAST DEAD*/
+"ArrayIterator[TId]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__TId,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-424, /* MapValuesIterator[MClass, Set[PropertyLayoutElement]] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1962, /* ArrayIterator[Token] */
+2209, /* ArrayIterator[TId] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__TId = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutElement, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Set[PropertyLayoutElement]] */
-&type_array__Arrayabstract_collection__Setlayout_builders__PropertyLayoutElement, /* Array[Iterator#0]: Array[Set[PropertyLayoutElement]] */
+&type_array__Arrayparser_nodes__TId, /* Array[Iterator#0]: Array[TId] */
+&type_array__AbstractArrayReadparser_nodes__TId, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TId] */
 }
 };
-/* runtime type MapKeysIterator[String, Option] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
-425,
-"MapKeysIterator[String, Option]", /* class_name_string */
-2,
+/* runtime type NativeArray[TId] */
+const struct type type_array__NativeArrayparser_nodes__TId = {
+2210,
+"NativeArray[TId]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option,
-3,
+&resolution_table_array__NativeArrayparser_nodes__TId,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-425, /* MapKeysIterator[String, Option] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1963, /* NativeArray[Token] */
+2210, /* NativeArray[TId] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringopts__Option = {
+const struct types resolution_table_array__NativeArrayparser_nodes__TId = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Option] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_parser_nodes__TId, /* NativeArray#0: TId */
+&type_array__NativeArrayparser_nodes__TId, /* NativeArray[NativeArray#0]: NativeArray[TId] */
 }
 };
-/* runtime type MapValuesIterator[String, Option] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
-426,
-"MapValuesIterator[String, Option]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[AAtArg] */
+const struct type type_array__ArrayIteratorparser_nodes__AAtArg = {
+-1, /*CAST DEAD*/
+"ArrayIterator[AAtArg]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__AAtArg,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-426, /* MapValuesIterator[String, Option] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1903, /* ArrayIterator[Prod] */
+2211, /* ArrayIterator[AAtArg] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringopts__Option = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__AAtArg = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringopts__Option, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Option] */
-&type_array__Arrayopts__Option, /* Array[Iterator#0]: Array[Option] */
+&type_array__Arrayparser_nodes__AAtArg, /* Array[Iterator#0]: Array[AAtArg] */
+&type_array__AbstractArrayReadparser_nodes__AAtArg, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[AAtArg] */
 }
 };
-/* runtime type NativeArray[Char] */
-const struct type type_array__NativeArraykernel__Char = {
-1600,
-"NativeArray[Char]", /* class_name_string */
-3,
+/* runtime type NativeArray[AAtArg] */
+const struct type type_array__NativeArrayparser_nodes__AAtArg = {
+2212,
+"NativeArray[AAtArg]", /* class_name_string */
+5,
 0,
-&resolution_table_array__NativeArraykernel__Char,
-4,
+&resolution_table_array__NativeArrayparser_nodes__AAtArg,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-185, /* NativeArray[Object] */
-1600, /* NativeArray[Char] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1904, /* NativeArray[Prod] */
+2212, /* NativeArray[AAtArg] */
 },
 };
-const struct types resolution_table_array__NativeArraykernel__Char = {
+const struct types resolution_table_array__NativeArrayparser_nodes__AAtArg = {
 0, /* dummy */
 {
-&type_kernel__Char, /* NativeArray#0: Char */
-&type_array__NativeArraykernel__Char, /* NativeArray[NativeArray#0]: NativeArray[Char] */
+&type_parser_nodes__AAtArg, /* NativeArray#0: AAtArg */
+&type_array__NativeArrayparser_nodes__AAtArg, /* NativeArray[NativeArray#0]: NativeArray[AAtArg] */
 }
 };
-/* runtime type ContainerIterator[MMethodDef] */
-const struct type type_abstract_collection__ContainerIteratormodel__MMethodDef = {
-427,
-"ContainerIterator[MMethodDef]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[TComment] */
+const struct type type_array__ArrayIteratorparser_nodes__TComment = {
+-1, /*CAST DEAD*/
+"ArrayIterator[TComment]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef,
-3,
+&resolution_table_array__ArrayIteratorparser_nodes__TComment,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-427, /* ContainerIterator[MMethodDef] */
+321, /* ArrayIterator[Object] */
+1541, /* ArrayIterator[ANode] */
+1962, /* ArrayIterator[Token] */
+2213, /* ArrayIterator[TComment] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratormodel__MMethodDef = {
+const struct types resolution_table_array__ArrayIteratorparser_nodes__TComment = {
 0, /* dummy */
 {
-&type_abstract_collection__Containermodel__MMethodDef, /* Container[ContainerIterator#0]: Container[MMethodDef] */
-&type_array__Arraymodel__MMethodDef, /* Array[Iterator#0]: Array[MMethodDef] */
+&type_array__Arrayparser_nodes__TComment, /* Array[Iterator#0]: Array[TComment] */
+&type_array__AbstractArrayReadparser_nodes__TComment, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[TComment] */
 }
 };
-/* runtime type MapKeysIterator[MClassDef, HashSet[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
-428,
-"MapKeysIterator[MClassDef, HashSet[MType]]", /* class_name_string */
-2,
+/* runtime type NativeArray[TComment] */
+const struct type type_array__NativeArrayparser_nodes__TComment = {
+2214,
+"NativeArray[TComment]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
-3,
+&resolution_table_array__NativeArrayparser_nodes__TComment,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-428, /* MapKeysIterator[MClassDef, HashSet[MType]] */
+115, /* NativeArray[Object] */
+1542, /* NativeArray[ANode] */
+1963, /* NativeArray[Token] */
+2214, /* NativeArray[TComment] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_array__NativeArrayparser_nodes__TComment = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
-&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_parser_nodes__TComment, /* NativeArray#0: TComment */
+&type_array__NativeArrayparser_nodes__TComment, /* NativeArray[NativeArray#0]: NativeArray[TComment] */
 }
 };
-/* runtime type MapValuesIterator[MClassDef, HashSet[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
-429,
-"MapValuesIterator[MClassDef, HashSet[MType]]", /* class_name_string */
-2,
+/* runtime type ArrayIterator[MVirtualTypeDef] */
+const struct type type_array__ArrayIteratormodel__MVirtualTypeDef = {
+-1, /*CAST DEAD*/
+"ArrayIterator[MVirtualTypeDef]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType,
-3,
+&resolution_table_array__ArrayIteratormodel__MVirtualTypeDef,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-429, /* MapValuesIterator[MClassDef, HashSet[MType]] */
+321, /* ArrayIterator[Object] */
+413, /* ArrayIterator[nullable MPropDef] */
+1524, /* ArrayIterator[PropertyLayoutElement] */
+2150, /* ArrayIterator[MPropDef] */
+2452, /* ArrayIterator[MVirtualTypeDef] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefhash_collection__HashSetmodel__MType = {
+const struct types resolution_table_array__ArrayIteratormodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassDefhash_collection__HashSetmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, HashSet[MType]] */
-&type_array__Arrayhash_collection__HashSetmodel__MType, /* Array[Iterator#0]: Array[HashSet[MType]] */
+&type_array__Arraymodel__MVirtualTypeDef, /* Array[Iterator#0]: Array[MVirtualTypeDef] */
+&type_array__AbstractArrayReadmodel__MVirtualTypeDef, /* AbstractArrayRead[ArrayIterator#0]: AbstractArrayRead[MVirtualTypeDef] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Int] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
-430,
-"MapKeysIterator[MClass, Int]", /* class_name_string */
+/* runtime type NativeArray[MVirtualTypeDef] */
+const struct type type_array__NativeArraymodel__MVirtualTypeDef = {
+2453,
+"NativeArray[MVirtualTypeDef]", /* class_name_string */
+6,
+0,
+&resolution_table_array__NativeArraymodel__MVirtualTypeDef,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+115, /* NativeArray[Object] */
+414, /* NativeArray[nullable MPropDef] */
+1525, /* NativeArray[PropertyLayoutElement] */
+2151, /* NativeArray[MPropDef] */
+2453, /* NativeArray[MVirtualTypeDef] */
+},
+};
+const struct types resolution_table_array__NativeArraymodel__MVirtualTypeDef = {
+0, /* dummy */
+{
+&type_model__MVirtualTypeDef, /* NativeArray#0: MVirtualTypeDef */
+&type_array__NativeArraymodel__MVirtualTypeDef, /* NativeArray[NativeArray#0]: NativeArray[MVirtualTypeDef] */
+}
+};
+/* runtime type HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+const struct type type_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+568,
+"HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int,
+&resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-430, /* MapKeysIterator[MClass, Int] */
+568, /* HashMap[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClasskernel__Int = {
+const struct types resolution_table_hash_collection__HashMapmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Int] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_mmodule__MModule, /* MapRead#0: MModule */
+&type_hash_collection__HashMapKeysmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]]] */
+&type_hash_collection__HashMapValuesmmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapIteratormmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_mmodule__MModule, /* Map#0: MModule */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* Map#1: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MModule, HashMap[MType, Array[MVirtualTypeDef]]] not a live type) */
+&type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* MapRead#1: HashMap[MType, Array[MVirtualTypeDef]] */
+&type_mmodule__MModule, /* HashCollection#0: MModule */
+&type_nullable_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* nullable HashCollection#1: nullable HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapNodemmodule__MModulehash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashCollection#1: HashMapNode[MModule, HashMap[MType, Array[MVirtualTypeDef]]] */
+&type_nullable_mmodule__MModule, /* nullable HashCollection#0: nullable MModule */
 }
 };
-/* runtime type MapValuesIterator[MClass, Int] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
-431,
-"MapValuesIterator[MClass, Int]", /* class_name_string */
+/* runtime type HashMap[MType, Array[MVirtualTypeDef]] */
+const struct type type_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
+569,
+"HashMap[MType, Array[MVirtualTypeDef]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int,
+&resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-431, /* MapValuesIterator[MClass, Int] */
+569, /* HashMap[MType, Array[MVirtualTypeDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClasskernel__Int = {
+const struct types resolution_table_hash_collection__HashMapmodel__MTypearray__Arraymodel__MVirtualTypeDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClasskernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* MapRead#0: MType */
+&type_hash_collection__HashMapKeysmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MType, Array[MVirtualTypeDef]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MType, Array[MVirtualTypeDef]]] */
+&type_hash_collection__HashMapValuesmodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapIteratormodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MType, Array[MVirtualTypeDef]] */
+&type_model__MType, /* Map#0: MType */
+&type_array__Arraymodel__MVirtualTypeDef, /* Map#1: Array[MVirtualTypeDef] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MType, Array[MVirtualTypeDef]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[MType, Array[MVirtualTypeDef]] not a live type) */
+&type_array__Arraymodel__MVirtualTypeDef, /* MapRead#1: Array[MVirtualTypeDef] */
+&type_model__MType, /* HashCollection#0: MType */
+&type_nullable_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* nullable HashCollection#1: nullable HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_hash_collection__HashMapNodemodel__MTypearray__Arraymodel__MVirtualTypeDef, /* HashCollection#1: HashMapNode[MType, Array[MVirtualTypeDef]] */
+&type_nullable_model__MType, /* nullable HashCollection#0: nullable MType */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
-432,
-"MapKeysIterator[MType, Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType,
+&resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-432, /* MapKeysIterator[MType, Array[nullable MType]] */
+570, /* MapKeysIterator[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratorphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[nullable MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
+&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[Phase, POSetElement[Phase]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
-433,
-"MapValuesIterator[MType, Array[nullable MType]]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[Phase, POSetElement[Phase]] */
+const struct type type_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[Phase, POSetElement[Phase]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType,
+&resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-433, /* MapValuesIterator[MType, Array[nullable MType]] */
+571, /* MapValuesIterator[Phase, POSetElement[Phase]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratorphase__Phaseposet__POSetElementphase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[nullable MType]] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_array__Arrayposet__POSetElementphase__Phase, /* Array[Iterator#0]: Array[POSetElement[Phase]] */
+&type_abstract_collection__MapIteratorphase__Phaseposet__POSetElementphase__Phase, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[Phase, POSetElement[Phase]] */
 }
 };
-/* runtime type MapKeysIterator[MClassType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
-1601,
-"MapKeysIterator[MClassType, Array[nullable MType]]", /* class_name_string */
+/* runtime type HashSetNode[Phase] */
+const struct type type_hash_collection__HashSetNodephase__Phase = {
+2215,
+"HashSetNode[Phase]", /* class_name_string */
+5,
+0,
+&resolution_table_hash_collection__HashSetNodephase__Phase,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+32, /* nullable HashSetNode[Object] */
+572, /* nullable HashSetNode[Phase] */
+1549, /* HashSetNode[Object] */
+2215, /* HashSetNode[Phase] */
+},
+};
+const struct types resolution_table_hash_collection__HashSetNodephase__Phase = {
+0, /* dummy */
+{
+&type_phase__Phase, /* HashSetNode#0: Phase */
+NULL, /* empty */
+&type_nullable_hash_collection__HashSetNodephase__Phase, /* nullable N: nullable HashSetNode[Phase] */
+&type_phase__Phase, /* HashNode#0: Phase */
+}
+};
+/* runtime type nullable HashSetNode[Phase] */
+const struct type type_nullable_hash_collection__HashSetNodephase__Phase = {
+572,
+"nullable HashSetNode[Phase]", /* class_name_string */
 3,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashSetIterator[Phase] */
+const struct type type_hash_collection__HashSetIteratorphase__Phase = {
+-1, /*CAST DEAD*/
+"HashSetIterator[Phase]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType,
+&resolution_table_hash_collection__HashSetIteratorphase__Phase,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-432, /* MapKeysIterator[MType, Array[nullable MType]] */
-1601, /* MapKeysIterator[MClassType, Array[nullable MType]] */
+356, /* HashSetIterator[Object] */
+1751, /* HashSetIterator[Phase] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_hash_collection__HashSetIteratorphase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_array__Arrayphase__Phase, /* Array[Iterator#0]: Array[Phase] */
+&type_hash_collection__HashSetphase__Phase, /* HashSet[HashSetIterator#0]: HashSet[Phase] */
 }
-};
-/* runtime type MapValuesIterator[MClassType, Array[nullable MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
-1602,
-"MapValuesIterator[MClassType, Array[nullable MType]]", /* class_name_string */
+};
+/* runtime type NativeArray[nullable HashSetNode[Phase]] */
+const struct type type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
+1752,
+"NativeArray[nullable HashSetNode[Phase]]", /* class_name_string */
 3,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType,
+&resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-433, /* MapValuesIterator[MType, Array[nullable MType]] */
-1602, /* MapValuesIterator[MClassType, Array[nullable MType]] */
+357, /* NativeArray[nullable HashSetNode[Object]] */
+1752, /* NativeArray[nullable HashSetNode[Phase]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypearray__Arraynullable_model__MType = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypearray__Arraynullable_model__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, Array[nullable MType]] */
-&type_array__Arrayarray__Arraynullable_model__MType, /* Array[Iterator#0]: Array[Array[nullable MType]] */
+&type_nullable_hash_collection__HashSetNodephase__Phase, /* NativeArray#0: nullable HashSetNode[Phase] */
+&type_array__NativeArraynullable_hash_collection__HashSetNodephase__Phase, /* NativeArray[NativeArray#0]: NativeArray[nullable HashSetNode[Phase]] */
 }
 };
-/* runtime type MapKeysIterator[MClass, Array[nullable MPropDef]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
-434,
-"MapKeysIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
-2,
+/* runtime type Array[Array[MProject]] */
+const struct type type_array__Arrayarray__Arraymproject__MProject = {
+2725,
+"Array[Array[MProject]]", /* class_name_string */
+6,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef,
-3,
+&resolution_table_array__Arrayarray__Arraymproject__MProject,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-434, /* MapKeysIterator[MClass, Array[nullable MPropDef]] */
+1516, /* Collection[Array[MProject]] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+2454, /* AbstractArrayRead[Array[MProject]] */
+2725, /* Array[Array[MProject]] */
+1838, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2029, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_array__Arrayarray__Arraymproject__MProject = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
-&type_array__Arraymodel__MClass, /* Array[Iterator#0]: Array[MClass] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Array#0]: Array[Array[MProject]] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[Array#0]: NativeArray[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* Sequence#0: Array[MProject] */
+&type_array__Arraymproject__MProject, /* SimpleCollection#0: Array[MProject] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[Array#0]: Collection[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* Array#0: Array[MProject] */
+&type_array__NativeArrayarray__Arraymproject__MProject, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* AbstractArray#0: Array[MProject] */
+&type_array__Arraymproject__MProject, /* RemovableCollection#0: Array[MProject] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[Sequence#0]: Collection[Array[MProject]] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[Sequence#0]: Array[Array[MProject]] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[SimpleCollection#0]: Collection[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* Collection#0: Array[MProject] */
+&type_abstract_collection__Collectionarray__Arraymproject__MProject, /* Collection[Collection#0]: Collection[Array[MProject]] */
+&type_array__Arraymproject__MProject, /* SequenceRead#0: Array[MProject] */
+&type_array__Arraymproject__MProject, /* AbstractArrayRead#0: Array[MProject] */
+&type_array__Arrayarray__Arraymproject__MProject, /* Array[AbstractArrayRead#0]: Array[Array[MProject]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MProject]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymproject__MProject, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MProject]] */
 }
 };
-/* runtime type MapValuesIterator[MClass, Array[nullable MPropDef]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
-435,
-"MapValuesIterator[MClass, Array[nullable MPropDef]]", /* class_name_string */
-2,
+/* runtime type AbstractArrayRead[Array[MProject]] */
+const struct type type_array__AbstractArrayReadarray__Arraymproject__MProject = {
+2454,
+"AbstractArrayRead[Array[MProject]]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type MapKeysIterator[MModule, POSetElement[MModule]] */
+const struct type type_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MModule, POSetElement[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-435, /* MapValuesIterator[MClass, Array[nullable MPropDef]] */
+573, /* MapKeysIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassarray__Arraynullable_model__MPropDef = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassarray__Arraynullable_model__MPropDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClass, Array[nullable MPropDef]] */
-&type_array__Arrayarray__Arraynullable_model__MPropDef, /* Array[Iterator#0]: Array[Array[nullable MPropDef]] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, POSetElement[MModule]] */
 }
 };
-/* runtime type ContainerIterator[CodeFile] */
-const struct type type_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
-436,
-"ContainerIterator[CodeFile]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MModule, POSetElement[MModule]] */
+const struct type type_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MModule, POSetElement[MModule]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-436, /* ContainerIterator[CodeFile] */
+574, /* MapValuesIterator[MModule, POSetElement[MModule]] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__CodeFile = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModuleposet__POSetElementmmodule__MModule = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerabstract_compiler__CodeFile, /* Container[ContainerIterator#0]: Container[CodeFile] */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Iterator#0]: Array[CodeFile] */
+&type_array__Arrayposet__POSetElementmmodule__MModule, /* Array[Iterator#0]: Array[POSetElement[MModule]] */
+&type_abstract_collection__MapIteratormmodule__MModuleposet__POSetElementmmodule__MModule, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, POSetElement[MModule]] */
 }
 };
-/* runtime type Array[CodeFile] */
-const struct type type_array__Arrayabstract_compiler__CodeFile = {
-2510,
-"Array[CodeFile]", /* class_name_string */
-7,
+/* runtime type Array[Array[MModule]] */
+const struct type type_array__Arrayarray__Arraymmodule__MModule = {
+2726,
+"Array[Array[MModule]]", /* class_name_string */
+6,
 0,
-&resolution_table_array__Arrayabstract_compiler__CodeFile,
+&resolution_table_array__Arrayarray__Arraymmodule__MModule,
 10,
 {
 0, /* nullable Object */
 1, /* Object */
-606, /* Collection[CodeFile] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2379, /* AbstractArrayRead[CodeFile] */
-1728, /* AbstractArrayRead[Object] */
-2510, /* Array[CodeFile] */
+1521, /* Collection[Array[MModule]] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+2455, /* AbstractArrayRead[Array[MModule]] */
+2726, /* Array[Array[MModule]] */
+1838, /* AbstractArrayRead[Object] */
 -1, /* empty */
-1911, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayabstract_compiler__CodeFile = {
-0, /* dummy */
-{
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Array#0]: Array[CodeFile] */
-&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[Array#0]: NativeArray[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Sequence#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* SimpleCollection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Array#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Array#0: CodeFile */
-&type_array__NativeArrayabstract_compiler__CodeFile, /* NativeArray[ArrayCapable#0]: NativeArray[CodeFile] */
-&type_abstract_compiler__CodeFile, /* AbstractArray#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* RemovableCollection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Sequence#0]: Collection[CodeFile] */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[Sequence#0]: Array[CodeFile] */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[SimpleCollection#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* Collection#0: CodeFile */
-&type_abstract_collection__Collectionabstract_compiler__CodeFile, /* Collection[Collection#0]: Collection[CodeFile] */
-&type_abstract_compiler__CodeFile, /* SequenceRead#0: CodeFile */
-&type_abstract_compiler__CodeFile, /* AbstractArrayRead#0: CodeFile */
-&type_array__Arrayabstract_compiler__CodeFile, /* Array[AbstractArrayRead#0]: Array[CodeFile] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[CodeFile] not a live type) */
-&type_array__ArrayIteratorabstract_compiler__CodeFile, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[CodeFile] */
-}
-};
-/* runtime type AbstractArrayRead[CodeFile] */
-const struct type type_array__AbstractArrayReadabstract_compiler__CodeFile = {
-2379,
-"AbstractArrayRead[CodeFile]", /* class_name_string */
+2029, /* Array[Object] */
+},
+};
+const struct types resolution_table_array__Arrayarray__Arraymmodule__MModule = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[Array#0]: Array[Array[MModule]] */
+&type_array__NativeArrayarray__Arraymmodule__MModule, /* NativeArray[Array#0]: NativeArray[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* Sequence#0: Array[MModule] */
+&type_array__Arraymmodule__MModule, /* SimpleCollection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[Array#0]: Collection[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* Array#0: Array[MModule] */
+&type_array__NativeArrayarray__Arraymmodule__MModule, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* AbstractArray#0: Array[MModule] */
+&type_array__Arraymmodule__MModule, /* RemovableCollection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[Sequence#0]: Collection[Array[MModule]] */
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[Sequence#0]: Array[Array[MModule]] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[SimpleCollection#0]: Collection[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* Collection#0: Array[MModule] */
+&type_abstract_collection__Collectionarray__Arraymmodule__MModule, /* Collection[Collection#0]: Collection[Array[MModule]] */
+&type_array__Arraymmodule__MModule, /* SequenceRead#0: Array[MModule] */
+&type_array__Arraymmodule__MModule, /* AbstractArrayRead#0: Array[MModule] */
+&type_array__Arrayarray__Arraymmodule__MModule, /* Array[AbstractArrayRead#0]: Array[Array[MModule]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MModule]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymmodule__MModule, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MModule]] */
+}
+};
+/* runtime type AbstractArrayRead[Array[MModule]] */
+const struct type type_array__AbstractArrayReadarray__Arraymmodule__MModule = {
+2455,
+"AbstractArrayRead[Array[MModule]]", /* class_name_string */
 5,
 0,
-NULL,
-7,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-606, /* Collection[CodeFile] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2379, /* AbstractArrayRead[CodeFile] */
-1728, /* AbstractArrayRead[Object] */
+575, /* MapKeysIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-/* runtime type MapKeysIterator[String, String] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
-437,
-"MapKeysIterator[String, String]", /* class_name_string */
-2,
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MClassDef, /* Array[Iterator#0]: Array[MClassDef] */
+&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassDef, POSetElement[MClassDef]] */
+}
+};
+/* 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_abstract_collection__MapKeysIteratorstring__Stringstring__String,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-437, /* MapKeysIterator[String, String] */
+576, /* MapValuesIterator[MClassDef, POSetElement[MClassDef]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringstring__String = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassDefposet__POSetElementmodel__MClassDef = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arrayposet__POSetElementmodel__MClassDef, /* Array[Iterator#0]: Array[POSetElement[MClassDef]] */
+&type_abstract_collection__MapIteratormodel__MClassDefposet__POSetElementmodel__MClassDef, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassDef, POSetElement[MClassDef]] */
 }
 };
-/* runtime type MapValuesIterator[String, String] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
-438,
-"MapValuesIterator[String, String]", /* class_name_string */
-2,
+/* runtime type MapKeysIterator[MClassType, POSetElement[MClassType]] */
+const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
+-1, /*CAST DEAD*/
+"MapKeysIterator[MClassType, POSetElement[MClassType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String,
-3,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-438, /* MapValuesIterator[String, String] */
+577, /* MapKeysIterator[MType, POSetElement[MType]] */
+1753, /* MapKeysIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringstring__String = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringstring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, POSetElement[MClassType]] */
 }
 };
-/* runtime type MapKeysIterator[MClassType, String] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
-439,
-"MapKeysIterator[MClassType, String]", /* class_name_string */
-2,
+/* 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_abstract_collection__MapKeysIteratormodel__MClassTypestring__String,
+&resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-439, /* MapKeysIterator[MClassType, String] */
+577, /* MapKeysIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MClassTypestring__String = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MClassType, String] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, POSetElement[MType]] */
 }
 };
-/* runtime type MapValuesIterator[MClassType, String] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
-440,
-"MapValuesIterator[MClassType, String]", /* class_name_string */
-2,
+/* 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_abstract_collection__MapValuesIteratormodel__MClassTypestring__String,
-3,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-440, /* MapValuesIterator[MClassType, String] */
+578, /* MapValuesIterator[MType, POSetElement[MType]] */
+1754, /* MapValuesIterator[MClassType, POSetElement[MClassType]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypestring__String = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MClassTypeposet__POSetElementmodel__MClassType = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MClassTypestring__String, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, String] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_array__Arrayposet__POSetElementmodel__MClassType, /* Array[Iterator#0]: Array[POSetElement[MClassType]] */
+&type_abstract_collection__MapIteratormodel__MClassTypeposet__POSetElementmodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MClassType, POSetElement[MClassType]] */
 }
 };
-/* runtime type ContainerIterator[AbstractRuntimeFunction] */
-const struct type type_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
-441,
-"ContainerIterator[AbstractRuntimeFunction]", /* class_name_string */
-2,
+/* runtime type MapValuesIterator[MType, POSetElement[MType]] */
+const struct type type_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
+-1, /*CAST DEAD*/
+"MapValuesIterator[MType, POSetElement[MType]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction,
+&resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-441, /* ContainerIterator[AbstractRuntimeFunction] */
+578, /* MapValuesIterator[MType, POSetElement[MType]] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratorabstract_compiler__AbstractRuntimeFunction = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypeposet__POSetElementmodel__MType = {
 0, /* dummy */
 {
-&type_abstract_collection__Containerabstract_compiler__AbstractRuntimeFunction, /* Container[ContainerIterator#0]: Container[AbstractRuntimeFunction] */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Iterator#0]: Array[AbstractRuntimeFunction] */
+&type_array__Arrayposet__POSetElementmodel__MType, /* Array[Iterator#0]: Array[POSetElement[MType]] */
+&type_abstract_collection__MapIteratormodel__MTypeposet__POSetElementmodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, POSetElement[MType]] */
 }
 };
-/* runtime type Array[AbstractRuntimeFunction] */
-const struct type type_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
-2511,
-"Array[AbstractRuntimeFunction]", /* class_name_string */
-7,
+/* runtime type Array[Array[MClass]] */
+const struct type type_array__Arrayarray__Arraymodel__MClass = {
+2811,
+"Array[Array[MClass]]", /* class_name_string */
+11,
 0,
-&resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction,
-10,
+&resolution_table_array__Arrayarray__Arraymodel__MClass,
+12,
 {
 0, /* nullable Object */
 1, /* Object */
-609, /* Collection[AbstractRuntimeFunction] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2380, /* AbstractArrayRead[AbstractRuntimeFunction] */
-1728, /* AbstractArrayRead[Object] */
-2511, /* Array[AbstractRuntimeFunction] */
--1, /* empty */
-1911, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayabstract_compiler__AbstractRuntimeFunction = {
-0, /* dummy */
-{
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Array#0]: Array[AbstractRuntimeFunction] */
-&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[Array#0]: NativeArray[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Sequence#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SimpleCollection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Array#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Array#0: AbstractRuntimeFunction */
-&type_array__NativeArrayabstract_compiler__AbstractRuntimeFunction, /* NativeArray[ArrayCapable#0]: NativeArray[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* AbstractArray#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* RemovableCollection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Sequence#0]: Collection[AbstractRuntimeFunction] */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[Sequence#0]: Array[AbstractRuntimeFunction] */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[SimpleCollection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* Collection#0: AbstractRuntimeFunction */
-&type_abstract_collection__Collectionabstract_compiler__AbstractRuntimeFunction, /* Collection[Collection#0]: Collection[AbstractRuntimeFunction] */
-&type_abstract_compiler__AbstractRuntimeFunction, /* SequenceRead#0: AbstractRuntimeFunction */
-&type_abstract_compiler__AbstractRuntimeFunction, /* AbstractArrayRead#0: AbstractRuntimeFunction */
-&type_array__Arrayabstract_compiler__AbstractRuntimeFunction, /* Array[AbstractArrayRead#0]: Array[AbstractRuntimeFunction] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[AbstractRuntimeFunction] not a live type) */
-&type_array__ArrayIteratorabstract_compiler__AbstractRuntimeFunction, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[AbstractRuntimeFunction] */
-}
-};
-/* runtime type AbstractArrayRead[AbstractRuntimeFunction] */
-const struct type type_array__AbstractArrayReadabstract_compiler__AbstractRuntimeFunction = {
-2380,
-"AbstractArrayRead[AbstractRuntimeFunction]", /* class_name_string */
-5,
+1528, /* Collection[Array[nullable MClass]] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+1900, /* Collection[Array[MClass]] */
+2456, /* AbstractArrayRead[Array[nullable MClass]] */
+1838, /* AbstractArrayRead[Object] */
+2727, /* Array[Array[nullable MClass]] */
+2029, /* Array[Object] */
+2728, /* AbstractArrayRead[Array[MClass]] */
+2811, /* Array[Array[MClass]] */
+},
+};
+const struct types resolution_table_array__Arrayarray__Arraymodel__MClass = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[Array#0]: Array[Array[MClass]] */
+&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[Array#0]: NativeArray[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Sequence#0: Array[MClass] */
+&type_array__Arraymodel__MClass, /* SimpleCollection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Array#0]: Collection[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Array#0: Array[MClass] */
+&type_array__NativeArrayarray__Arraymodel__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* AbstractArray#0: Array[MClass] */
+&type_array__Arraymodel__MClass, /* RemovableCollection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Sequence#0]: Collection[Array[MClass]] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[Sequence#0]: Array[Array[MClass]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[SimpleCollection#0]: Collection[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* Collection#0: Array[MClass] */
+&type_abstract_collection__Collectionarray__Arraymodel__MClass, /* Collection[Collection#0]: Collection[Array[MClass]] */
+&type_array__Arraymodel__MClass, /* SequenceRead#0: Array[MClass] */
+&type_array__Arraymodel__MClass, /* AbstractArrayRead#0: Array[MClass] */
+&type_array__Arrayarray__Arraymodel__MClass, /* Array[AbstractArrayRead#0]: Array[Array[MClass]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MClass]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymodel__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MClass]] */
+}
+};
+/* runtime type Array[Array[nullable MClass]] */
+const struct type type_array__Arrayarray__Arraynullable_model__MClass = {
+2727,
+"Array[Array[nullable MClass]]", /* class_name_string */
+8,
 0,
-NULL,
-7,
+&resolution_table_array__Arrayarray__Arraynullable_model__MClass,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-609, /* Collection[AbstractRuntimeFunction] */
-163, /* SequenceRead[nullable Object] */
-164, /* Collection[Object] */
-2380, /* AbstractArrayRead[AbstractRuntimeFunction] */
-1728, /* AbstractArrayRead[Object] */
+1528, /* Collection[Array[nullable MClass]] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+-1, /* empty */
+2456, /* AbstractArrayRead[Array[nullable MClass]] */
+1838, /* AbstractArrayRead[Object] */
+2727, /* Array[Array[nullable MClass]] */
+2029, /* Array[Object] */
 },
 };
-/* runtime type MapKeysIterator[MType, Array[MClassType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
-1863,
-"MapKeysIterator[MType, Array[MClassType]]", /* class_name_string */
-4,
+const struct types resolution_table_array__Arrayarray__Arraynullable_model__MClass = {
+0, /* dummy */
+{
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Array#0]: Array[Array[nullable MClass]] */
+&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[Array#0]: NativeArray[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* Sequence#0: Array[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* SimpleCollection#0: Array[nullable MClass] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Array#0]: Collection[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* Array#0: Array[nullable MClass] */
+&type_array__NativeArrayarray__Arraynullable_model__MClass, /* NativeArray[ArrayCapable#0]: NativeArray[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* AbstractArray#0: Array[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* RemovableCollection#0: Array[nullable MClass] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Sequence#0]: Collection[Array[nullable MClass]] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[Sequence#0]: Array[Array[nullable MClass]] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[SimpleCollection#0]: Collection[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* Collection#0: Array[nullable MClass] */
+&type_abstract_collection__Collectionarray__Arraynullable_model__MClass, /* Collection[Collection#0]: Collection[Array[nullable MClass]] */
+&type_array__Arraynullable_model__MClass, /* SequenceRead#0: Array[nullable MClass] */
+&type_array__Arraynullable_model__MClass, /* AbstractArrayRead#0: Array[nullable MClass] */
+&type_array__Arrayarray__Arraynullable_model__MClass, /* Array[AbstractArrayRead#0]: Array[Array[nullable MClass]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[nullable MClass]] not a live type) */
+&type_array__ArrayIteratorarray__Arraynullable_model__MClass, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[nullable MClass]] */
+}
+};
+/* runtime type AbstractArrayRead[Array[MClass]] */
+const struct type type_array__AbstractArrayReadarray__Arraymodel__MClass = {
+2728,
+"AbstractArrayRead[Array[MClass]]", /* class_name_string */
+10,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType,
-5,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type AbstractArrayRead[Array[nullable MClass]] */
+const struct type type_array__AbstractArrayReadarray__Arraynullable_model__MClass = {
+2456,
+"AbstractArrayRead[Array[nullable MClass]]", /* class_name_string */
+6,
+0,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type Array[Array[MProperty]] */
+const struct type type_array__Arrayarray__Arraymodel__MProperty = {
+2729,
+"Array[Array[MProperty]]", /* class_name_string */
+6,
+0,
+&resolution_table_array__Arrayarray__Arraymodel__MProperty,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-432, /* MapKeysIterator[MType, Array[nullable MType]] */
-1603, /* MapKeysIterator[MType, Array[MType]] */
-1863, /* MapKeysIterator[MType, Array[MClassType]] */
+1531, /* Collection[Array[MProperty]] */
+91, /* SequenceRead[nullable Object] */
+92, /* Collection[Object] */
+2457, /* AbstractArrayRead[Array[MProperty]] */
+2729, /* Array[Array[MProperty]] */
+1838, /* AbstractArrayRead[Object] */
+-1, /* empty */
+2029, /* Array[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MClassType = {
+const struct types resolution_table_array__Arrayarray__Arraymodel__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MClassType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Array#0]: Array[Array[MProperty]] */
+&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[Array#0]: NativeArray[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* Sequence#0: Array[MProperty] */
+&type_array__Arraymodel__MProperty, /* SimpleCollection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Array#0]: Collection[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* Array#0: Array[MProperty] */
+&type_array__NativeArrayarray__Arraymodel__MProperty, /* NativeArray[ArrayCapable#0]: NativeArray[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* AbstractArray#0: Array[MProperty] */
+&type_array__Arraymodel__MProperty, /* RemovableCollection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Sequence#0]: Collection[Array[MProperty]] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[Sequence#0]: Array[Array[MProperty]] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[SimpleCollection#0]: Collection[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* Collection#0: Array[MProperty] */
+&type_abstract_collection__Collectionarray__Arraymodel__MProperty, /* Collection[Collection#0]: Collection[Array[MProperty]] */
+&type_array__Arraymodel__MProperty, /* SequenceRead#0: Array[MProperty] */
+&type_array__Arraymodel__MProperty, /* AbstractArrayRead#0: Array[MProperty] */
+&type_array__Arrayarray__Arraymodel__MProperty, /* Array[AbstractArrayRead#0]: Array[Array[MProperty]] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[Array[MProperty]] not a live type) */
+&type_array__ArrayIteratorarray__Arraymodel__MProperty, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[Array[MProperty]] */
 }
 };
-/* runtime type MapKeysIterator[MType, Array[MType]] */
-const struct type type_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
-1603,
-"MapKeysIterator[MType, Array[MType]]", /* class_name_string */
-3,
+/* runtime type AbstractArrayRead[Array[MProperty]] */
+const struct type type_array__AbstractArrayReadarray__Arraymodel__MProperty = {
+2457,
+"AbstractArrayRead[Array[MProperty]]", /* class_name_string */
+5,
 0,
-&resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType,
-4,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* 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*/
+"MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
+0,
+&resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-432, /* MapKeysIterator[MType, Array[nullable MType]] */
-1603, /* MapKeysIterator[MType, Array[MType]] */
+579, /* MapKeysIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratormodel__MTypearray__Arraymodel__MType = {
+const struct types resolution_table_abstract_collection__MapKeysIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MType, Array[MType]] */
-&type_array__Arraymodel__MType, /* Array[Iterator#0]: Array[MType] */
+&type_array__Arraymmodule__MModule, /* Array[Iterator#0]: Array[MModule] */
+&type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MClassType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
-1864,
-"MapValuesIterator[MType, Array[MClassType]]", /* class_name_string */
-4,
+/* 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_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType,
-5,
+&resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-433, /* MapValuesIterator[MType, Array[nullable MType]] */
-1604, /* MapValuesIterator[MType, Array[MType]] */
-1864, /* MapValuesIterator[MType, Array[MClassType]] */
+580, /* MapValuesIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MClassType = {
+const struct types resolution_table_abstract_collection__MapValuesIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MClassType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MClassType]] */
-&type_array__Arrayarray__Arraymodel__MClassType, /* Array[Iterator#0]: Array[Array[MClassType]] */
+&type_array__Arraymore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* Array[Iterator#0]: Array[HashMap2[MType, String, nullable MProperty]] */
+&type_abstract_collection__MapIteratormmodule__MModulemore_collections__HashMap2model__MTypestring__Stringnullable_model__MProperty, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MModule, HashMap2[MType, String, nullable MProperty]] */
 }
 };
-/* runtime type MapValuesIterator[MType, Array[MType]] */
-const struct type type_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
-1604,
-"MapValuesIterator[MType, Array[MType]]", /* class_name_string */
-3,
+/* runtime type HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapKeys[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType,
-4,
+&resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+11,
 {
 0, /* nullable Object */
 1, /* Object */
-433, /* MapValuesIterator[MType, Array[nullable MType]] */
-1604, /* MapValuesIterator[MType, Array[MType]] */
+2458, /* HashMapKeys[MType, HashMap[String, nullable MProperty]] */
+-1, /* empty */
+92, /* Collection[Object] */
+101, /* Collection[nullable MType] */
+648, /* Collection[NitniCallback] */
+-1, /* empty */
+-1, /* empty */
+-1, /* empty */
+2033, /* Collection[MType] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratormodel__MTypearray__Arraymodel__MType = {
+const struct types resolution_table_hash_collection__HashMapKeysmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratormodel__MTypearray__Arraymodel__MType, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[MType, Array[MType]] */
-&type_array__Arrayarray__Arraymodel__MType, /* Array[Iterator#0]: Array[Array[MType]] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapKeysIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MType, HashMap[String, nullable MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* RemovableCollection#0: MType */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_model__MType, /* Collection#0: MType */
+&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
 }
 };
-/* runtime type ContainerIterator[MClassType] */
-const struct type type_abstract_collection__ContainerIteratormodel__MClassType = {
-442,
-"ContainerIterator[MClassType]", /* class_name_string */
-2,
+/* runtime type HashMapValues[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapValues[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_abstract_collection__ContainerIteratormodel__MClassType,
-3,
+&resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-442, /* ContainerIterator[MClassType] */
+1755, /* Collection[HashMap[String, nullable MProperty]] */
+1989, /* HashMapValues[MType, HashMap[String, nullable MProperty]] */
+92, /* Collection[Object] */
 },
 };
-const struct types resolution_table_abstract_collection__ContainerIteratormodel__MClassType = {
+const struct types resolution_table_hash_collection__HashMapValuesmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__Containermodel__MClassType, /* Container[ContainerIterator#0]: Container[MClassType] */
-&type_array__Arraymodel__MClassType, /* Array[Iterator#0]: Array[MClassType] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapValues#0, HashMapValues#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
+&type_abstract_collection__MapValuesIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* MapValuesIterator[HashMapValues#0, HashMapValues#1]: MapValuesIterator[MType, HashMap[String, nullable MProperty]] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* RemovableCollection#0: HashMap[String, nullable MProperty] */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection#0: HashMap[String, nullable MProperty] */
+&type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty, /* Collection[Collection#0]: Collection[HashMap[String, nullable MProperty]] */
 }
 };
-/* runtime type MapKeysIterator[String, Int] */
-const struct type type_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
-443,
-"MapKeysIterator[String, Int]", /* class_name_string */
+/* runtime type Collection[HashMap[String, nullable MProperty]] */
+const struct type type_abstract_collection__Collectionhash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1755,
+"Collection[HashMap[String, nullable MProperty]]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int,
+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 = {
+581,
+"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 */
-443, /* MapKeysIterator[String, Int] */
+581, /* NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapKeysIteratorstring__Stringkernel__Int = {
+const struct types resolution_table_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapKeysIterator#0, MapKeysIterator#1]: MapIterator[String, Int] */
-&type_array__Arraystring__String, /* Array[Iterator#0]: Array[String] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray#0: nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* NativeArray[NativeArray#0]: NativeArray[nullable HashMapNode[MType, HashMap[String, nullable MProperty]]] */
 }
 };
-/* runtime type MapValuesIterator[String, Int] */
-const struct type type_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
-444,
-"MapValuesIterator[String, Int]", /* class_name_string */
-2,
-0,
-&resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int,
+/* runtime type HashMapNode[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+1756,
+"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 */
-444, /* MapValuesIterator[String, Int] */
+78, /* nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+1756, /* HashMapNode[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_abstract_collection__MapValuesIteratorstring__Stringkernel__Int = {
+const struct types resolution_table_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_abstract_collection__MapIteratorstring__Stringkernel__Int, /* MapIterator[MapValuesIterator#0, MapValuesIterator#1]: MapIterator[String, Int] */
-&type_array__Arraykernel__Int, /* Array[Iterator#0]: Array[Int] */
+&type_model__MType, /* HashMapNode#0: MType */
+&type_hash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMapNode#1: HashMap[String, nullable MProperty] */
+&type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* nullable N: nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+&type_model__MType, /* HashNode#0: MType */
 }
 };
-/* runtime type HashMapKeys[MClass, Array[MClass]] */
-const struct type type_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
-2381,
-"HashMapKeys[MClass, Array[MClass]]", /* class_name_string */
-6,
+/* runtime type nullable HashMapNode[MType, HashMap[String, nullable MProperty]] */
+const struct type type_nullable_hash_collection__HashMapNodemodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+78,
+"nullable HashMapNode[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+2,
+1,
+NULL, /*DEAD*/
+0, {}, /*DEAD TYPE*/
+};
+/* runtime type HashMapIterator[MType, HashMap[String, nullable MProperty]] */
+const struct type type_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
+-1, /*CAST DEAD*/
+"HashMapIterator[MType, HashMap[String, nullable MProperty]]", /* class_name_string */
+-1, /*CAST DEAD*/
 0,
-&resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass,
-7,
+&resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-171, /* Collection[nullable MClass] */
-2104, /* HashMapKeys[MClass, Array[nullable MClass]] */
-164, /* Collection[Object] */
-1733, /* Collection[MClass] */
-2381, /* HashMapKeys[MClass, Array[MClass]] */
+582, /* MapIterator[MType, HashMap[String, nullable MProperty]] */
+1757, /* HashMapIterator[MType, HashMap[String, nullable MProperty]] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapKeysmodel__MClassarray__Arraymodel__MClass = {
+const struct types resolution_table_hash_collection__HashMapIteratormodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MClassarray__Arraymodel__MClass, /* HashMap[HashMapKeys#0, HashMapKeys#1]: HashMap[MClass, Array[MClass]] */
-&type_abstract_collection__MapKeysIteratormodel__MClassarray__Arraymodel__MClass, /* MapKeysIterator[HashMapKeys#0, HashMapKeys#1]: MapKeysIterator[MClass, Array[MClass]] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* RemovableCollection#0: MClass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
+&type_hash_collection__HashMapmodel__MTypehash_collection__HashMapstring__Stringnullable_model__MProperty, /* HashMap[HashMapIterator#0, HashMapIterator#1]: HashMap[MType, HashMap[String, nullable MProperty]] */
 }
 };