stdlib/strings: Generalized to_cstring to all Text representations.
[nit.git] / c_src / nitg.types.3.c
index 2e77e02..25d98d7 100644 (file)
 #include "nitg.types.0.h"
-const struct types resolution_table_parser__ReduceAction695 = {
-0, /* dummy */
-{
-}
-};
-/* runtime type ReduceAction696 */
-const struct type type_parser__ReduceAction696 = {
-1251,
-"ReduceAction696", /* class_name_string */
+/* runtime type ReduceAction625 */
+const struct type type_parser__ReduceAction625 = {
+1226,
+"ReduceAction625", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction696,
+&resolution_table_parser__ReduceAction625,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1251, /* ReduceAction696 */
+270, /* ReduceAction */
+1226, /* ReduceAction625 */
 },
 };
-const struct types resolution_table_parser__ReduceAction696 = {
+const struct types resolution_table_parser__ReduceAction625 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction697 */
-const struct type type_parser__ReduceAction697 = {
-1252,
-"ReduceAction697", /* class_name_string */
+/* runtime type ReduceAction626 */
+const struct type type_parser__ReduceAction626 = {
+1227,
+"ReduceAction626", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction697,
+&resolution_table_parser__ReduceAction626,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1252, /* ReduceAction697 */
+270, /* ReduceAction */
+1227, /* ReduceAction626 */
 },
 };
-const struct types resolution_table_parser__ReduceAction697 = {
+const struct types resolution_table_parser__ReduceAction626 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction698 */
-const struct type type_parser__ReduceAction698 = {
-1253,
-"ReduceAction698", /* class_name_string */
+/* runtime type ReduceAction628 */
+const struct type type_parser__ReduceAction628 = {
+1228,
+"ReduceAction628", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction698,
+&resolution_table_parser__ReduceAction628,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1253, /* ReduceAction698 */
+270, /* ReduceAction */
+1228, /* ReduceAction628 */
 },
 };
-const struct types resolution_table_parser__ReduceAction698 = {
+const struct types resolution_table_parser__ReduceAction628 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction699 */
-const struct type type_parser__ReduceAction699 = {
-1254,
-"ReduceAction699", /* class_name_string */
+/* runtime type ReduceAction629 */
+const struct type type_parser__ReduceAction629 = {
+1229,
+"ReduceAction629", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction699,
+&resolution_table_parser__ReduceAction629,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1254, /* ReduceAction699 */
+270, /* ReduceAction */
+1229, /* ReduceAction629 */
 },
 };
-const struct types resolution_table_parser__ReduceAction699 = {
+const struct types resolution_table_parser__ReduceAction629 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction701 */
-const struct type type_parser__ReduceAction701 = {
-1255,
-"ReduceAction701", /* class_name_string */
+/* runtime type ReduceAction631 */
+const struct type type_parser__ReduceAction631 = {
+1230,
+"ReduceAction631", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction701,
+&resolution_table_parser__ReduceAction631,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1255, /* ReduceAction701 */
+270, /* ReduceAction */
+1230, /* ReduceAction631 */
 },
 };
-const struct types resolution_table_parser__ReduceAction701 = {
+const struct types resolution_table_parser__ReduceAction631 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction702 */
-const struct type type_parser__ReduceAction702 = {
-1256,
-"ReduceAction702", /* class_name_string */
+/* runtime type ReduceAction632 */
+const struct type type_parser__ReduceAction632 = {
+1231,
+"ReduceAction632", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction702,
+&resolution_table_parser__ReduceAction632,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1256, /* ReduceAction702 */
+270, /* ReduceAction */
+1231, /* ReduceAction632 */
 },
 };
-const struct types resolution_table_parser__ReduceAction702 = {
+const struct types resolution_table_parser__ReduceAction632 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction704 */
-const struct type type_parser__ReduceAction704 = {
-1257,
-"ReduceAction704", /* class_name_string */
+/* runtime type ReduceAction633 */
+const struct type type_parser__ReduceAction633 = {
+1232,
+"ReduceAction633", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction704,
+&resolution_table_parser__ReduceAction633,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1257, /* ReduceAction704 */
+270, /* ReduceAction */
+1232, /* ReduceAction633 */
 },
 };
-const struct types resolution_table_parser__ReduceAction704 = {
+const struct types resolution_table_parser__ReduceAction633 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction705 */
-const struct type type_parser__ReduceAction705 = {
-1258,
-"ReduceAction705", /* class_name_string */
+/* runtime type ReduceAction634 */
+const struct type type_parser__ReduceAction634 = {
+1233,
+"ReduceAction634", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction705,
+&resolution_table_parser__ReduceAction634,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1258, /* ReduceAction705 */
+270, /* ReduceAction */
+1233, /* ReduceAction634 */
 },
 };
-const struct types resolution_table_parser__ReduceAction705 = {
+const struct types resolution_table_parser__ReduceAction634 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction706 */
-const struct type type_parser__ReduceAction706 = {
-1259,
-"ReduceAction706", /* class_name_string */
+/* runtime type ReduceAction635 */
+const struct type type_parser__ReduceAction635 = {
+1234,
+"ReduceAction635", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction706,
+&resolution_table_parser__ReduceAction635,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1259, /* ReduceAction706 */
+270, /* ReduceAction */
+1234, /* ReduceAction635 */
 },
 };
-const struct types resolution_table_parser__ReduceAction706 = {
+const struct types resolution_table_parser__ReduceAction635 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction707 */
-const struct type type_parser__ReduceAction707 = {
-1260,
-"ReduceAction707", /* class_name_string */
+/* runtime type ReduceAction636 */
+const struct type type_parser__ReduceAction636 = {
+1235,
+"ReduceAction636", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction707,
+&resolution_table_parser__ReduceAction636,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1260, /* ReduceAction707 */
+270, /* ReduceAction */
+1235, /* ReduceAction636 */
 },
 };
-const struct types resolution_table_parser__ReduceAction707 = {
+const struct types resolution_table_parser__ReduceAction636 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction709 */
-const struct type type_parser__ReduceAction709 = {
-1261,
-"ReduceAction709", /* class_name_string */
+/* runtime type ReduceAction637 */
+const struct type type_parser__ReduceAction637 = {
+1236,
+"ReduceAction637", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction709,
+&resolution_table_parser__ReduceAction637,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1261, /* ReduceAction709 */
+270, /* ReduceAction */
+1236, /* ReduceAction637 */
 },
 };
-const struct types resolution_table_parser__ReduceAction709 = {
+const struct types resolution_table_parser__ReduceAction637 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction710 */
-const struct type type_parser__ReduceAction710 = {
-1262,
-"ReduceAction710", /* class_name_string */
+/* runtime type ReduceAction638 */
+const struct type type_parser__ReduceAction638 = {
+1237,
+"ReduceAction638", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction710,
+&resolution_table_parser__ReduceAction638,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1262, /* ReduceAction710 */
+270, /* ReduceAction */
+1237, /* ReduceAction638 */
 },
 };
-const struct types resolution_table_parser__ReduceAction710 = {
+const struct types resolution_table_parser__ReduceAction638 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction712 */
-const struct type type_parser__ReduceAction712 = {
-1263,
-"ReduceAction712", /* class_name_string */
+/* runtime type ReduceAction640 */
+const struct type type_parser__ReduceAction640 = {
+1238,
+"ReduceAction640", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction712,
+&resolution_table_parser__ReduceAction640,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1263, /* ReduceAction712 */
+270, /* ReduceAction */
+1238, /* ReduceAction640 */
 },
 };
-const struct types resolution_table_parser__ReduceAction712 = {
+const struct types resolution_table_parser__ReduceAction640 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction713 */
-const struct type type_parser__ReduceAction713 = {
-1264,
-"ReduceAction713", /* class_name_string */
+/* runtime type ReduceAction641 */
+const struct type type_parser__ReduceAction641 = {
+1239,
+"ReduceAction641", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction713,
+&resolution_table_parser__ReduceAction641,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1264, /* ReduceAction713 */
+270, /* ReduceAction */
+1239, /* ReduceAction641 */
 },
 };
-const struct types resolution_table_parser__ReduceAction713 = {
+const struct types resolution_table_parser__ReduceAction641 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction714 */
-const struct type type_parser__ReduceAction714 = {
-1265,
-"ReduceAction714", /* class_name_string */
+/* runtime type ReduceAction643 */
+const struct type type_parser__ReduceAction643 = {
+1240,
+"ReduceAction643", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction714,
+&resolution_table_parser__ReduceAction643,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1265, /* ReduceAction714 */
+270, /* ReduceAction */
+1240, /* ReduceAction643 */
 },
 };
-const struct types resolution_table_parser__ReduceAction714 = {
+const struct types resolution_table_parser__ReduceAction643 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction715 */
-const struct type type_parser__ReduceAction715 = {
-1266,
-"ReduceAction715", /* class_name_string */
+/* runtime type ReduceAction644 */
+const struct type type_parser__ReduceAction644 = {
+1241,
+"ReduceAction644", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction715,
+&resolution_table_parser__ReduceAction644,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1266, /* ReduceAction715 */
+270, /* ReduceAction */
+1241, /* ReduceAction644 */
 },
 };
-const struct types resolution_table_parser__ReduceAction715 = {
+const struct types resolution_table_parser__ReduceAction644 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction716 */
-const struct type type_parser__ReduceAction716 = {
-1267,
-"ReduceAction716", /* class_name_string */
+/* runtime type ReduceAction645 */
+const struct type type_parser__ReduceAction645 = {
+1242,
+"ReduceAction645", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction716,
+&resolution_table_parser__ReduceAction645,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1267, /* ReduceAction716 */
+270, /* ReduceAction */
+1242, /* ReduceAction645 */
 },
 };
-const struct types resolution_table_parser__ReduceAction716 = {
+const struct types resolution_table_parser__ReduceAction645 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction718 */
-const struct type type_parser__ReduceAction718 = {
-1268,
-"ReduceAction718", /* class_name_string */
+/* runtime type ReduceAction646 */
+const struct type type_parser__ReduceAction646 = {
+1243,
+"ReduceAction646", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction718,
+&resolution_table_parser__ReduceAction646,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1268, /* ReduceAction718 */
+270, /* ReduceAction */
+1243, /* ReduceAction646 */
 },
 };
-const struct types resolution_table_parser__ReduceAction718 = {
+const struct types resolution_table_parser__ReduceAction646 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction719 */
-const struct type type_parser__ReduceAction719 = {
-1269,
-"ReduceAction719", /* class_name_string */
+/* runtime type ReduceAction647 */
+const struct type type_parser__ReduceAction647 = {
+1244,
+"ReduceAction647", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction719,
+&resolution_table_parser__ReduceAction647,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1269, /* ReduceAction719 */
+270, /* ReduceAction */
+1244, /* ReduceAction647 */
 },
 };
-const struct types resolution_table_parser__ReduceAction719 = {
+const struct types resolution_table_parser__ReduceAction647 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction721 */
-const struct type type_parser__ReduceAction721 = {
-1270,
-"ReduceAction721", /* class_name_string */
+/* runtime type ReduceAction648 */
+const struct type type_parser__ReduceAction648 = {
+1245,
+"ReduceAction648", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction721,
+&resolution_table_parser__ReduceAction648,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1270, /* ReduceAction721 */
+270, /* ReduceAction */
+1245, /* ReduceAction648 */
 },
 };
-const struct types resolution_table_parser__ReduceAction721 = {
+const struct types resolution_table_parser__ReduceAction648 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction722 */
-const struct type type_parser__ReduceAction722 = {
-1271,
-"ReduceAction722", /* class_name_string */
+/* runtime type ReduceAction649 */
+const struct type type_parser__ReduceAction649 = {
+1246,
+"ReduceAction649", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction722,
+&resolution_table_parser__ReduceAction649,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1271, /* ReduceAction722 */
+270, /* ReduceAction */
+1246, /* ReduceAction649 */
 },
 };
-const struct types resolution_table_parser__ReduceAction722 = {
+const struct types resolution_table_parser__ReduceAction649 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction723 */
-const struct type type_parser__ReduceAction723 = {
-1272,
-"ReduceAction723", /* class_name_string */
+/* runtime type ReduceAction650 */
+const struct type type_parser__ReduceAction650 = {
+1247,
+"ReduceAction650", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction723,
+&resolution_table_parser__ReduceAction650,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1272, /* ReduceAction723 */
+270, /* ReduceAction */
+1247, /* ReduceAction650 */
 },
 };
-const struct types resolution_table_parser__ReduceAction723 = {
+const struct types resolution_table_parser__ReduceAction650 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction724 */
-const struct type type_parser__ReduceAction724 = {
-1273,
-"ReduceAction724", /* class_name_string */
+/* runtime type ReduceAction651 */
+const struct type type_parser__ReduceAction651 = {
+1248,
+"ReduceAction651", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction724,
+&resolution_table_parser__ReduceAction651,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1273, /* ReduceAction724 */
+270, /* ReduceAction */
+1248, /* ReduceAction651 */
 },
 };
-const struct types resolution_table_parser__ReduceAction724 = {
+const struct types resolution_table_parser__ReduceAction651 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction726 */
-const struct type type_parser__ReduceAction726 = {
-1274,
-"ReduceAction726", /* class_name_string */
+/* runtime type ReduceAction652 */
+const struct type type_parser__ReduceAction652 = {
+1249,
+"ReduceAction652", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction726,
+&resolution_table_parser__ReduceAction652,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1274, /* ReduceAction726 */
+270, /* ReduceAction */
+1249, /* ReduceAction652 */
 },
 };
-const struct types resolution_table_parser__ReduceAction726 = {
+const struct types resolution_table_parser__ReduceAction652 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction727 */
-const struct type type_parser__ReduceAction727 = {
-1275,
-"ReduceAction727", /* class_name_string */
+/* runtime type ReduceAction653 */
+const struct type type_parser__ReduceAction653 = {
+1250,
+"ReduceAction653", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction727,
+&resolution_table_parser__ReduceAction653,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1275, /* ReduceAction727 */
+270, /* ReduceAction */
+1250, /* ReduceAction653 */
 },
 };
-const struct types resolution_table_parser__ReduceAction727 = {
+const struct types resolution_table_parser__ReduceAction653 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction729 */
-const struct type type_parser__ReduceAction729 = {
-1276,
-"ReduceAction729", /* class_name_string */
+/* runtime type ReduceAction654 */
+const struct type type_parser__ReduceAction654 = {
+1251,
+"ReduceAction654", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction729,
+&resolution_table_parser__ReduceAction654,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1276, /* ReduceAction729 */
+270, /* ReduceAction */
+1251, /* ReduceAction654 */
 },
 };
-const struct types resolution_table_parser__ReduceAction729 = {
+const struct types resolution_table_parser__ReduceAction654 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction730 */
-const struct type type_parser__ReduceAction730 = {
-1277,
-"ReduceAction730", /* class_name_string */
+/* runtime type ReduceAction655 */
+const struct type type_parser__ReduceAction655 = {
+1252,
+"ReduceAction655", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction730,
+&resolution_table_parser__ReduceAction655,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1277, /* ReduceAction730 */
+270, /* ReduceAction */
+1252, /* ReduceAction655 */
 },
 };
-const struct types resolution_table_parser__ReduceAction730 = {
+const struct types resolution_table_parser__ReduceAction655 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction731 */
-const struct type type_parser__ReduceAction731 = {
-1278,
-"ReduceAction731", /* class_name_string */
+/* runtime type ReduceAction656 */
+const struct type type_parser__ReduceAction656 = {
+1253,
+"ReduceAction656", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction731,
+&resolution_table_parser__ReduceAction656,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1278, /* ReduceAction731 */
+270, /* ReduceAction */
+1253, /* ReduceAction656 */
 },
 };
-const struct types resolution_table_parser__ReduceAction731 = {
+const struct types resolution_table_parser__ReduceAction656 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction732 */
-const struct type type_parser__ReduceAction732 = {
-1279,
-"ReduceAction732", /* class_name_string */
+/* runtime type ReduceAction657 */
+const struct type type_parser__ReduceAction657 = {
+1254,
+"ReduceAction657", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction732,
+&resolution_table_parser__ReduceAction657,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1279, /* ReduceAction732 */
+270, /* ReduceAction */
+1254, /* ReduceAction657 */
 },
 };
-const struct types resolution_table_parser__ReduceAction732 = {
+const struct types resolution_table_parser__ReduceAction657 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction733 */
-const struct type type_parser__ReduceAction733 = {
-1280,
-"ReduceAction733", /* class_name_string */
+/* runtime type ReduceAction659 */
+const struct type type_parser__ReduceAction659 = {
+1255,
+"ReduceAction659", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction733,
+&resolution_table_parser__ReduceAction659,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1280, /* ReduceAction733 */
+270, /* ReduceAction */
+1255, /* ReduceAction659 */
 },
 };
-const struct types resolution_table_parser__ReduceAction733 = {
+const struct types resolution_table_parser__ReduceAction659 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction734 */
-const struct type type_parser__ReduceAction734 = {
-1281,
-"ReduceAction734", /* class_name_string */
+/* runtime type ReduceAction660 */
+const struct type type_parser__ReduceAction660 = {
+1256,
+"ReduceAction660", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction734,
+&resolution_table_parser__ReduceAction660,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1281, /* ReduceAction734 */
+270, /* ReduceAction */
+1256, /* ReduceAction660 */
 },
 };
-const struct types resolution_table_parser__ReduceAction734 = {
+const struct types resolution_table_parser__ReduceAction660 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction735 */
-const struct type type_parser__ReduceAction735 = {
-1282,
-"ReduceAction735", /* class_name_string */
+/* runtime type ReduceAction662 */
+const struct type type_parser__ReduceAction662 = {
+1257,
+"ReduceAction662", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction735,
+&resolution_table_parser__ReduceAction662,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1282, /* ReduceAction735 */
+270, /* ReduceAction */
+1257, /* ReduceAction662 */
 },
 };
-const struct types resolution_table_parser__ReduceAction735 = {
+const struct types resolution_table_parser__ReduceAction662 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction736 */
-const struct type type_parser__ReduceAction736 = {
-1283,
-"ReduceAction736", /* class_name_string */
+/* runtime type ReduceAction663 */
+const struct type type_parser__ReduceAction663 = {
+1258,
+"ReduceAction663", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction736,
+&resolution_table_parser__ReduceAction663,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1283, /* ReduceAction736 */
+270, /* ReduceAction */
+1258, /* ReduceAction663 */
 },
 };
-const struct types resolution_table_parser__ReduceAction736 = {
+const struct types resolution_table_parser__ReduceAction663 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction737 */
-const struct type type_parser__ReduceAction737 = {
-1284,
-"ReduceAction737", /* class_name_string */
+/* runtime type ReduceAction664 */
+const struct type type_parser__ReduceAction664 = {
+1259,
+"ReduceAction664", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction737,
+&resolution_table_parser__ReduceAction664,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1284, /* ReduceAction737 */
+270, /* ReduceAction */
+1259, /* ReduceAction664 */
 },
 };
-const struct types resolution_table_parser__ReduceAction737 = {
+const struct types resolution_table_parser__ReduceAction664 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction738 */
-const struct type type_parser__ReduceAction738 = {
-1285,
-"ReduceAction738", /* class_name_string */
+/* runtime type ReduceAction665 */
+const struct type type_parser__ReduceAction665 = {
+1260,
+"ReduceAction665", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction738,
+&resolution_table_parser__ReduceAction665,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1285, /* ReduceAction738 */
+270, /* ReduceAction */
+1260, /* ReduceAction665 */
 },
 };
-const struct types resolution_table_parser__ReduceAction738 = {
+const struct types resolution_table_parser__ReduceAction665 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction741 */
-const struct type type_parser__ReduceAction741 = {
-1286,
-"ReduceAction741", /* class_name_string */
+/* runtime type ReduceAction667 */
+const struct type type_parser__ReduceAction667 = {
+1261,
+"ReduceAction667", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction741,
+&resolution_table_parser__ReduceAction667,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1286, /* ReduceAction741 */
+270, /* ReduceAction */
+1261, /* ReduceAction667 */
 },
 };
-const struct types resolution_table_parser__ReduceAction741 = {
+const struct types resolution_table_parser__ReduceAction667 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction742 */
-const struct type type_parser__ReduceAction742 = {
-1287,
-"ReduceAction742", /* class_name_string */
+/* runtime type ReduceAction668 */
+const struct type type_parser__ReduceAction668 = {
+1262,
+"ReduceAction668", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction742,
+&resolution_table_parser__ReduceAction668,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1287, /* ReduceAction742 */
+270, /* ReduceAction */
+1262, /* ReduceAction668 */
 },
 };
-const struct types resolution_table_parser__ReduceAction742 = {
+const struct types resolution_table_parser__ReduceAction668 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction743 */
-const struct type type_parser__ReduceAction743 = {
-1288,
-"ReduceAction743", /* class_name_string */
+/* runtime type ReduceAction670 */
+const struct type type_parser__ReduceAction670 = {
+1263,
+"ReduceAction670", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction743,
+&resolution_table_parser__ReduceAction670,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1288, /* ReduceAction743 */
+270, /* ReduceAction */
+1263, /* ReduceAction670 */
 },
 };
-const struct types resolution_table_parser__ReduceAction743 = {
+const struct types resolution_table_parser__ReduceAction670 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction744 */
-const struct type type_parser__ReduceAction744 = {
-1289,
-"ReduceAction744", /* class_name_string */
+/* runtime type ReduceAction671 */
+const struct type type_parser__ReduceAction671 = {
+1264,
+"ReduceAction671", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction744,
+&resolution_table_parser__ReduceAction671,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1289, /* ReduceAction744 */
+270, /* ReduceAction */
+1264, /* ReduceAction671 */
 },
 };
-const struct types resolution_table_parser__ReduceAction744 = {
+const struct types resolution_table_parser__ReduceAction671 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction745 */
-const struct type type_parser__ReduceAction745 = {
-1290,
-"ReduceAction745", /* class_name_string */
+/* runtime type ReduceAction672 */
+const struct type type_parser__ReduceAction672 = {
+1265,
+"ReduceAction672", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction745,
+&resolution_table_parser__ReduceAction672,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1290, /* ReduceAction745 */
+270, /* ReduceAction */
+1265, /* ReduceAction672 */
 },
 };
-const struct types resolution_table_parser__ReduceAction745 = {
+const struct types resolution_table_parser__ReduceAction672 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction746 */
-const struct type type_parser__ReduceAction746 = {
-1291,
-"ReduceAction746", /* class_name_string */
+/* runtime type ReduceAction673 */
+const struct type type_parser__ReduceAction673 = {
+1266,
+"ReduceAction673", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction746,
+&resolution_table_parser__ReduceAction673,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1291, /* ReduceAction746 */
+270, /* ReduceAction */
+1266, /* ReduceAction673 */
 },
 };
-const struct types resolution_table_parser__ReduceAction746 = {
+const struct types resolution_table_parser__ReduceAction673 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction747 */
-const struct type type_parser__ReduceAction747 = {
-1292,
-"ReduceAction747", /* class_name_string */
+/* runtime type ReduceAction674 */
+const struct type type_parser__ReduceAction674 = {
+1267,
+"ReduceAction674", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction747,
+&resolution_table_parser__ReduceAction674,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1292, /* ReduceAction747 */
+270, /* ReduceAction */
+1267, /* ReduceAction674 */
 },
 };
-const struct types resolution_table_parser__ReduceAction747 = {
+const struct types resolution_table_parser__ReduceAction674 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction748 */
-const struct type type_parser__ReduceAction748 = {
-1293,
-"ReduceAction748", /* class_name_string */
+/* runtime type ReduceAction676 */
+const struct type type_parser__ReduceAction676 = {
+1268,
+"ReduceAction676", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction748,
+&resolution_table_parser__ReduceAction676,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1293, /* ReduceAction748 */
+270, /* ReduceAction */
+1268, /* ReduceAction676 */
 },
 };
-const struct types resolution_table_parser__ReduceAction748 = {
+const struct types resolution_table_parser__ReduceAction676 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction749 */
-const struct type type_parser__ReduceAction749 = {
-1294,
-"ReduceAction749", /* class_name_string */
+/* runtime type ReduceAction677 */
+const struct type type_parser__ReduceAction677 = {
+1269,
+"ReduceAction677", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction749,
+&resolution_table_parser__ReduceAction677,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1294, /* ReduceAction749 */
+270, /* ReduceAction */
+1269, /* ReduceAction677 */
 },
 };
-const struct types resolution_table_parser__ReduceAction749 = {
+const struct types resolution_table_parser__ReduceAction677 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction750 */
-const struct type type_parser__ReduceAction750 = {
-1295,
-"ReduceAction750", /* class_name_string */
+/* runtime type ReduceAction679 */
+const struct type type_parser__ReduceAction679 = {
+1270,
+"ReduceAction679", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction750,
+&resolution_table_parser__ReduceAction679,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1295, /* ReduceAction750 */
+270, /* ReduceAction */
+1270, /* ReduceAction679 */
 },
 };
-const struct types resolution_table_parser__ReduceAction750 = {
+const struct types resolution_table_parser__ReduceAction679 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction751 */
-const struct type type_parser__ReduceAction751 = {
-1296,
-"ReduceAction751", /* class_name_string */
+/* runtime type ReduceAction680 */
+const struct type type_parser__ReduceAction680 = {
+1271,
+"ReduceAction680", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction751,
+&resolution_table_parser__ReduceAction680,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1296, /* ReduceAction751 */
+270, /* ReduceAction */
+1271, /* ReduceAction680 */
 },
 };
-const struct types resolution_table_parser__ReduceAction751 = {
+const struct types resolution_table_parser__ReduceAction680 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction752 */
-const struct type type_parser__ReduceAction752 = {
-1297,
-"ReduceAction752", /* class_name_string */
+/* runtime type ReduceAction681 */
+const struct type type_parser__ReduceAction681 = {
+1272,
+"ReduceAction681", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction752,
+&resolution_table_parser__ReduceAction681,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1297, /* ReduceAction752 */
+270, /* ReduceAction */
+1272, /* ReduceAction681 */
 },
 };
-const struct types resolution_table_parser__ReduceAction752 = {
+const struct types resolution_table_parser__ReduceAction681 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction753 */
-const struct type type_parser__ReduceAction753 = {
-1298,
-"ReduceAction753", /* class_name_string */
+/* runtime type ReduceAction682 */
+const struct type type_parser__ReduceAction682 = {
+1273,
+"ReduceAction682", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction753,
+&resolution_table_parser__ReduceAction682,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1298, /* ReduceAction753 */
+270, /* ReduceAction */
+1273, /* ReduceAction682 */
 },
 };
-const struct types resolution_table_parser__ReduceAction753 = {
+const struct types resolution_table_parser__ReduceAction682 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction763 */
-const struct type type_parser__ReduceAction763 = {
-1299,
-"ReduceAction763", /* class_name_string */
+/* runtime type ReduceAction684 */
+const struct type type_parser__ReduceAction684 = {
+1274,
+"ReduceAction684", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction763,
+&resolution_table_parser__ReduceAction684,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1299, /* ReduceAction763 */
+270, /* ReduceAction */
+1274, /* ReduceAction684 */
 },
 };
-const struct types resolution_table_parser__ReduceAction763 = {
+const struct types resolution_table_parser__ReduceAction684 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction765 */
-const struct type type_parser__ReduceAction765 = {
-1300,
-"ReduceAction765", /* class_name_string */
+/* runtime type ReduceAction685 */
+const struct type type_parser__ReduceAction685 = {
+1275,
+"ReduceAction685", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction765,
+&resolution_table_parser__ReduceAction685,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1300, /* ReduceAction765 */
+270, /* ReduceAction */
+1275, /* ReduceAction685 */
 },
 };
-const struct types resolution_table_parser__ReduceAction765 = {
+const struct types resolution_table_parser__ReduceAction685 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction767 */
-const struct type type_parser__ReduceAction767 = {
-1301,
-"ReduceAction767", /* class_name_string */
+/* runtime type ReduceAction687 */
+const struct type type_parser__ReduceAction687 = {
+1276,
+"ReduceAction687", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction767,
+&resolution_table_parser__ReduceAction687,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1301, /* ReduceAction767 */
+270, /* ReduceAction */
+1276, /* ReduceAction687 */
 },
 };
-const struct types resolution_table_parser__ReduceAction767 = {
+const struct types resolution_table_parser__ReduceAction687 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction768 */
-const struct type type_parser__ReduceAction768 = {
-1302,
-"ReduceAction768", /* class_name_string */
+/* runtime type ReduceAction688 */
+const struct type type_parser__ReduceAction688 = {
+1277,
+"ReduceAction688", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction768,
+&resolution_table_parser__ReduceAction688,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1302, /* ReduceAction768 */
+270, /* ReduceAction */
+1277, /* ReduceAction688 */
 },
 };
-const struct types resolution_table_parser__ReduceAction768 = {
+const struct types resolution_table_parser__ReduceAction688 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction769 */
-const struct type type_parser__ReduceAction769 = {
-1303,
-"ReduceAction769", /* class_name_string */
+/* runtime type ReduceAction689 */
+const struct type type_parser__ReduceAction689 = {
+1278,
+"ReduceAction689", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction769,
+&resolution_table_parser__ReduceAction689,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1303, /* ReduceAction769 */
+270, /* ReduceAction */
+1278, /* ReduceAction689 */
 },
 };
-const struct types resolution_table_parser__ReduceAction769 = {
+const struct types resolution_table_parser__ReduceAction689 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction770 */
-const struct type type_parser__ReduceAction770 = {
-1304,
-"ReduceAction770", /* class_name_string */
+/* runtime type ReduceAction690 */
+const struct type type_parser__ReduceAction690 = {
+1279,
+"ReduceAction690", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction770,
+&resolution_table_parser__ReduceAction690,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1304, /* ReduceAction770 */
+270, /* ReduceAction */
+1279, /* ReduceAction690 */
 },
 };
-const struct types resolution_table_parser__ReduceAction770 = {
+const struct types resolution_table_parser__ReduceAction690 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction772 */
-const struct type type_parser__ReduceAction772 = {
-1305,
-"ReduceAction772", /* class_name_string */
+/* runtime type ReduceAction691 */
+const struct type type_parser__ReduceAction691 = {
+1280,
+"ReduceAction691", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction772,
+&resolution_table_parser__ReduceAction691,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1305, /* ReduceAction772 */
+270, /* ReduceAction */
+1280, /* ReduceAction691 */
 },
 };
-const struct types resolution_table_parser__ReduceAction772 = {
+const struct types resolution_table_parser__ReduceAction691 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction774 */
-const struct type type_parser__ReduceAction774 = {
-1306,
-"ReduceAction774", /* class_name_string */
+/* runtime type ReduceAction692 */
+const struct type type_parser__ReduceAction692 = {
+1281,
+"ReduceAction692", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction774,
+&resolution_table_parser__ReduceAction692,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1306, /* ReduceAction774 */
+270, /* ReduceAction */
+1281, /* ReduceAction692 */
 },
 };
-const struct types resolution_table_parser__ReduceAction774 = {
+const struct types resolution_table_parser__ReduceAction692 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction775 */
-const struct type type_parser__ReduceAction775 = {
-1307,
-"ReduceAction775", /* class_name_string */
+/* runtime type ReduceAction693 */
+const struct type type_parser__ReduceAction693 = {
+1282,
+"ReduceAction693", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction775,
+&resolution_table_parser__ReduceAction693,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1307, /* ReduceAction775 */
+270, /* ReduceAction */
+1282, /* ReduceAction693 */
 },
 };
-const struct types resolution_table_parser__ReduceAction775 = {
+const struct types resolution_table_parser__ReduceAction693 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction776 */
-const struct type type_parser__ReduceAction776 = {
-1308,
-"ReduceAction776", /* class_name_string */
+/* runtime type ReduceAction694 */
+const struct type type_parser__ReduceAction694 = {
+1283,
+"ReduceAction694", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction776,
+&resolution_table_parser__ReduceAction694,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1308, /* ReduceAction776 */
+270, /* ReduceAction */
+1283, /* ReduceAction694 */
 },
 };
-const struct types resolution_table_parser__ReduceAction776 = {
+const struct types resolution_table_parser__ReduceAction694 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction777 */
-const struct type type_parser__ReduceAction777 = {
-1309,
-"ReduceAction777", /* class_name_string */
+/* runtime type ReduceAction695 */
+const struct type type_parser__ReduceAction695 = {
+1284,
+"ReduceAction695", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction777,
+&resolution_table_parser__ReduceAction695,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1309, /* ReduceAction777 */
+270, /* ReduceAction */
+1284, /* ReduceAction695 */
 },
 };
-const struct types resolution_table_parser__ReduceAction777 = {
+const struct types resolution_table_parser__ReduceAction695 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction778 */
-const struct type type_parser__ReduceAction778 = {
-1310,
-"ReduceAction778", /* class_name_string */
+/* runtime type ReduceAction696 */
+const struct type type_parser__ReduceAction696 = {
+1285,
+"ReduceAction696", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction778,
+&resolution_table_parser__ReduceAction696,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1310, /* ReduceAction778 */
+270, /* ReduceAction */
+1285, /* ReduceAction696 */
 },
 };
-const struct types resolution_table_parser__ReduceAction778 = {
+const struct types resolution_table_parser__ReduceAction696 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction779 */
-const struct type type_parser__ReduceAction779 = {
-1311,
-"ReduceAction779", /* class_name_string */
+/* runtime type ReduceAction699 */
+const struct type type_parser__ReduceAction699 = {
+1286,
+"ReduceAction699", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction779,
+&resolution_table_parser__ReduceAction699,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1311, /* ReduceAction779 */
+270, /* ReduceAction */
+1286, /* ReduceAction699 */
 },
 };
-const struct types resolution_table_parser__ReduceAction779 = {
+const struct types resolution_table_parser__ReduceAction699 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction780 */
-const struct type type_parser__ReduceAction780 = {
-1312,
-"ReduceAction780", /* class_name_string */
+/* runtime type ReduceAction700 */
+const struct type type_parser__ReduceAction700 = {
+1287,
+"ReduceAction700", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction780,
+&resolution_table_parser__ReduceAction700,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1312, /* ReduceAction780 */
+270, /* ReduceAction */
+1287, /* ReduceAction700 */
 },
 };
-const struct types resolution_table_parser__ReduceAction780 = {
+const struct types resolution_table_parser__ReduceAction700 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction781 */
-const struct type type_parser__ReduceAction781 = {
-1313,
-"ReduceAction781", /* class_name_string */
+/* runtime type ReduceAction701 */
+const struct type type_parser__ReduceAction701 = {
+1288,
+"ReduceAction701", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction781,
+&resolution_table_parser__ReduceAction701,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1313, /* ReduceAction781 */
+270, /* ReduceAction */
+1288, /* ReduceAction701 */
 },
 };
-const struct types resolution_table_parser__ReduceAction781 = {
+const struct types resolution_table_parser__ReduceAction701 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction782 */
-const struct type type_parser__ReduceAction782 = {
-1314,
-"ReduceAction782", /* class_name_string */
+/* runtime type ReduceAction702 */
+const struct type type_parser__ReduceAction702 = {
+1289,
+"ReduceAction702", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction782,
+&resolution_table_parser__ReduceAction702,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1314, /* ReduceAction782 */
+270, /* ReduceAction */
+1289, /* ReduceAction702 */
 },
 };
-const struct types resolution_table_parser__ReduceAction782 = {
+const struct types resolution_table_parser__ReduceAction702 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction783 */
-const struct type type_parser__ReduceAction783 = {
-1315,
-"ReduceAction783", /* class_name_string */
+/* runtime type ReduceAction703 */
+const struct type type_parser__ReduceAction703 = {
+1290,
+"ReduceAction703", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction783,
+&resolution_table_parser__ReduceAction703,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1315, /* ReduceAction783 */
+270, /* ReduceAction */
+1290, /* ReduceAction703 */
 },
 };
-const struct types resolution_table_parser__ReduceAction783 = {
+const struct types resolution_table_parser__ReduceAction703 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction784 */
-const struct type type_parser__ReduceAction784 = {
-1316,
-"ReduceAction784", /* class_name_string */
+/* runtime type ReduceAction704 */
+const struct type type_parser__ReduceAction704 = {
+1291,
+"ReduceAction704", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction784,
+&resolution_table_parser__ReduceAction704,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1316, /* ReduceAction784 */
+270, /* ReduceAction */
+1291, /* ReduceAction704 */
 },
 };
-const struct types resolution_table_parser__ReduceAction784 = {
+const struct types resolution_table_parser__ReduceAction704 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction786 */
-const struct type type_parser__ReduceAction786 = {
-1317,
-"ReduceAction786", /* class_name_string */
+/* runtime type ReduceAction705 */
+const struct type type_parser__ReduceAction705 = {
+1292,
+"ReduceAction705", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction786,
+&resolution_table_parser__ReduceAction705,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1317, /* ReduceAction786 */
+270, /* ReduceAction */
+1292, /* ReduceAction705 */
 },
 };
-const struct types resolution_table_parser__ReduceAction786 = {
+const struct types resolution_table_parser__ReduceAction705 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction787 */
-const struct type type_parser__ReduceAction787 = {
-1318,
-"ReduceAction787", /* class_name_string */
+/* runtime type ReduceAction706 */
+const struct type type_parser__ReduceAction706 = {
+1293,
+"ReduceAction706", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction787,
+&resolution_table_parser__ReduceAction706,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1318, /* ReduceAction787 */
+270, /* ReduceAction */
+1293, /* ReduceAction706 */
 },
 };
-const struct types resolution_table_parser__ReduceAction787 = {
+const struct types resolution_table_parser__ReduceAction706 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction789 */
-const struct type type_parser__ReduceAction789 = {
-1319,
-"ReduceAction789", /* class_name_string */
+/* runtime type ReduceAction707 */
+const struct type type_parser__ReduceAction707 = {
+1294,
+"ReduceAction707", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction789,
+&resolution_table_parser__ReduceAction707,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1319, /* ReduceAction789 */
+270, /* ReduceAction */
+1294, /* ReduceAction707 */
 },
 };
-const struct types resolution_table_parser__ReduceAction789 = {
+const struct types resolution_table_parser__ReduceAction707 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction790 */
-const struct type type_parser__ReduceAction790 = {
-1320,
-"ReduceAction790", /* class_name_string */
+/* runtime type ReduceAction708 */
+const struct type type_parser__ReduceAction708 = {
+1295,
+"ReduceAction708", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction790,
+&resolution_table_parser__ReduceAction708,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1320, /* ReduceAction790 */
+270, /* ReduceAction */
+1295, /* ReduceAction708 */
 },
 };
-const struct types resolution_table_parser__ReduceAction790 = {
+const struct types resolution_table_parser__ReduceAction708 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction791 */
-const struct type type_parser__ReduceAction791 = {
-1321,
-"ReduceAction791", /* class_name_string */
+/* runtime type ReduceAction709 */
+const struct type type_parser__ReduceAction709 = {
+1296,
+"ReduceAction709", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction791,
+&resolution_table_parser__ReduceAction709,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1321, /* ReduceAction791 */
+270, /* ReduceAction */
+1296, /* ReduceAction709 */
 },
 };
-const struct types resolution_table_parser__ReduceAction791 = {
+const struct types resolution_table_parser__ReduceAction709 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction793 */
-const struct type type_parser__ReduceAction793 = {
-1322,
-"ReduceAction793", /* class_name_string */
+/* runtime type ReduceAction710 */
+const struct type type_parser__ReduceAction710 = {
+1297,
+"ReduceAction710", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction793,
+&resolution_table_parser__ReduceAction710,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1322, /* ReduceAction793 */
+270, /* ReduceAction */
+1297, /* ReduceAction710 */
 },
 };
-const struct types resolution_table_parser__ReduceAction793 = {
+const struct types resolution_table_parser__ReduceAction710 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction794 */
-const struct type type_parser__ReduceAction794 = {
-1323,
-"ReduceAction794", /* class_name_string */
+/* runtime type ReduceAction711 */
+const struct type type_parser__ReduceAction711 = {
+1298,
+"ReduceAction711", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction794,
+&resolution_table_parser__ReduceAction711,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1323, /* ReduceAction794 */
+270, /* ReduceAction */
+1298, /* ReduceAction711 */
 },
 };
-const struct types resolution_table_parser__ReduceAction794 = {
+const struct types resolution_table_parser__ReduceAction711 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction796 */
-const struct type type_parser__ReduceAction796 = {
-1324,
-"ReduceAction796", /* class_name_string */
+/* runtime type ReduceAction714 */
+const struct type type_parser__ReduceAction714 = {
+1299,
+"ReduceAction714", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction796,
+&resolution_table_parser__ReduceAction714,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1324, /* ReduceAction796 */
+270, /* ReduceAction */
+1299, /* ReduceAction714 */
 },
 };
-const struct types resolution_table_parser__ReduceAction796 = {
+const struct types resolution_table_parser__ReduceAction714 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction797 */
-const struct type type_parser__ReduceAction797 = {
-1325,
-"ReduceAction797", /* class_name_string */
+/* runtime type ReduceAction716 */
+const struct type type_parser__ReduceAction716 = {
+1300,
+"ReduceAction716", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction797,
+&resolution_table_parser__ReduceAction716,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1325, /* ReduceAction797 */
+270, /* ReduceAction */
+1300, /* ReduceAction716 */
 },
 };
-const struct types resolution_table_parser__ReduceAction797 = {
+const struct types resolution_table_parser__ReduceAction716 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction798 */
-const struct type type_parser__ReduceAction798 = {
-1326,
-"ReduceAction798", /* class_name_string */
+/* runtime type ReduceAction717 */
+const struct type type_parser__ReduceAction717 = {
+1301,
+"ReduceAction717", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction798,
+&resolution_table_parser__ReduceAction717,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1326, /* ReduceAction798 */
+270, /* ReduceAction */
+1301, /* ReduceAction717 */
 },
 };
-const struct types resolution_table_parser__ReduceAction798 = {
+const struct types resolution_table_parser__ReduceAction717 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction799 */
-const struct type type_parser__ReduceAction799 = {
-1327,
-"ReduceAction799", /* class_name_string */
+/* runtime type ReduceAction718 */
+const struct type type_parser__ReduceAction718 = {
+1302,
+"ReduceAction718", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction799,
+&resolution_table_parser__ReduceAction718,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1327, /* ReduceAction799 */
+270, /* ReduceAction */
+1302, /* ReduceAction718 */
 },
 };
-const struct types resolution_table_parser__ReduceAction799 = {
+const struct types resolution_table_parser__ReduceAction718 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction800 */
-const struct type type_parser__ReduceAction800 = {
-1328,
-"ReduceAction800", /* class_name_string */
+/* runtime type ReduceAction719 */
+const struct type type_parser__ReduceAction719 = {
+1303,
+"ReduceAction719", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction800,
+&resolution_table_parser__ReduceAction719,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1328, /* ReduceAction800 */
+270, /* ReduceAction */
+1303, /* ReduceAction719 */
 },
 };
-const struct types resolution_table_parser__ReduceAction800 = {
+const struct types resolution_table_parser__ReduceAction719 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction802 */
-const struct type type_parser__ReduceAction802 = {
-1329,
-"ReduceAction802", /* class_name_string */
+/* runtime type ReduceAction721 */
+const struct type type_parser__ReduceAction721 = {
+1304,
+"ReduceAction721", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction802,
+&resolution_table_parser__ReduceAction721,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1329, /* ReduceAction802 */
+270, /* ReduceAction */
+1304, /* ReduceAction721 */
 },
 };
-const struct types resolution_table_parser__ReduceAction802 = {
+const struct types resolution_table_parser__ReduceAction721 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction803 */
-const struct type type_parser__ReduceAction803 = {
-1330,
-"ReduceAction803", /* class_name_string */
+/* runtime type ReduceAction723 */
+const struct type type_parser__ReduceAction723 = {
+1305,
+"ReduceAction723", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction803,
+&resolution_table_parser__ReduceAction723,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1330, /* ReduceAction803 */
+270, /* ReduceAction */
+1305, /* ReduceAction723 */
 },
 };
-const struct types resolution_table_parser__ReduceAction803 = {
+const struct types resolution_table_parser__ReduceAction723 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction805 */
-const struct type type_parser__ReduceAction805 = {
-1331,
-"ReduceAction805", /* class_name_string */
+/* runtime type ReduceAction724 */
+const struct type type_parser__ReduceAction724 = {
+1306,
+"ReduceAction724", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction805,
+&resolution_table_parser__ReduceAction724,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1331, /* ReduceAction805 */
+270, /* ReduceAction */
+1306, /* ReduceAction724 */
 },
 };
-const struct types resolution_table_parser__ReduceAction805 = {
+const struct types resolution_table_parser__ReduceAction724 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction806 */
-const struct type type_parser__ReduceAction806 = {
-1332,
-"ReduceAction806", /* class_name_string */
+/* runtime type ReduceAction725 */
+const struct type type_parser__ReduceAction725 = {
+1307,
+"ReduceAction725", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction806,
+&resolution_table_parser__ReduceAction725,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1332, /* ReduceAction806 */
+270, /* ReduceAction */
+1307, /* ReduceAction725 */
 },
 };
-const struct types resolution_table_parser__ReduceAction806 = {
+const struct types resolution_table_parser__ReduceAction725 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction807 */
-const struct type type_parser__ReduceAction807 = {
-1333,
-"ReduceAction807", /* class_name_string */
+/* runtime type ReduceAction726 */
+const struct type type_parser__ReduceAction726 = {
+1308,
+"ReduceAction726", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction807,
+&resolution_table_parser__ReduceAction726,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1333, /* ReduceAction807 */
+270, /* ReduceAction */
+1308, /* ReduceAction726 */
 },
 };
-const struct types resolution_table_parser__ReduceAction807 = {
+const struct types resolution_table_parser__ReduceAction726 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction808 */
-const struct type type_parser__ReduceAction808 = {
-1334,
-"ReduceAction808", /* class_name_string */
+/* runtime type ReduceAction727 */
+const struct type type_parser__ReduceAction727 = {
+1309,
+"ReduceAction727", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction808,
+&resolution_table_parser__ReduceAction727,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1334, /* ReduceAction808 */
+270, /* ReduceAction */
+1309, /* ReduceAction727 */
 },
 };
-const struct types resolution_table_parser__ReduceAction808 = {
+const struct types resolution_table_parser__ReduceAction727 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction810 */
-const struct type type_parser__ReduceAction810 = {
-1335,
-"ReduceAction810", /* class_name_string */
+/* runtime type ReduceAction728 */
+const struct type type_parser__ReduceAction728 = {
+1310,
+"ReduceAction728", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction810,
+&resolution_table_parser__ReduceAction728,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1335, /* ReduceAction810 */
+270, /* ReduceAction */
+1310, /* ReduceAction728 */
 },
 };
-const struct types resolution_table_parser__ReduceAction810 = {
+const struct types resolution_table_parser__ReduceAction728 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction811 */
-const struct type type_parser__ReduceAction811 = {
-1336,
-"ReduceAction811", /* class_name_string */
+/* runtime type ReduceAction729 */
+const struct type type_parser__ReduceAction729 = {
+1311,
+"ReduceAction729", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction811,
+&resolution_table_parser__ReduceAction729,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1336, /* ReduceAction811 */
+270, /* ReduceAction */
+1311, /* ReduceAction729 */
 },
 };
-const struct types resolution_table_parser__ReduceAction811 = {
+const struct types resolution_table_parser__ReduceAction729 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction827 */
-const struct type type_parser__ReduceAction827 = {
-1337,
-"ReduceAction827", /* class_name_string */
+/* runtime type ReduceAction730 */
+const struct type type_parser__ReduceAction730 = {
+1312,
+"ReduceAction730", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction827,
+&resolution_table_parser__ReduceAction730,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1337, /* ReduceAction827 */
+270, /* ReduceAction */
+1312, /* ReduceAction730 */
 },
 };
-const struct types resolution_table_parser__ReduceAction827 = {
+const struct types resolution_table_parser__ReduceAction730 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction828 */
-const struct type type_parser__ReduceAction828 = {
-1338,
-"ReduceAction828", /* class_name_string */
+/* runtime type ReduceAction731 */
+const struct type type_parser__ReduceAction731 = {
+1313,
+"ReduceAction731", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction828,
+&resolution_table_parser__ReduceAction731,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1338, /* ReduceAction828 */
+270, /* ReduceAction */
+1313, /* ReduceAction731 */
 },
 };
-const struct types resolution_table_parser__ReduceAction828 = {
+const struct types resolution_table_parser__ReduceAction731 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction829 */
-const struct type type_parser__ReduceAction829 = {
-1339,
-"ReduceAction829", /* class_name_string */
+/* runtime type ReduceAction732 */
+const struct type type_parser__ReduceAction732 = {
+1314,
+"ReduceAction732", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction829,
+&resolution_table_parser__ReduceAction732,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1339, /* ReduceAction829 */
+270, /* ReduceAction */
+1314, /* ReduceAction732 */
 },
 };
-const struct types resolution_table_parser__ReduceAction829 = {
+const struct types resolution_table_parser__ReduceAction732 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction830 */
-const struct type type_parser__ReduceAction830 = {
-1340,
-"ReduceAction830", /* class_name_string */
+/* runtime type ReduceAction734 */
+const struct type type_parser__ReduceAction734 = {
+1315,
+"ReduceAction734", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction830,
+&resolution_table_parser__ReduceAction734,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1340, /* ReduceAction830 */
+270, /* ReduceAction */
+1315, /* ReduceAction734 */
 },
 };
-const struct types resolution_table_parser__ReduceAction830 = {
+const struct types resolution_table_parser__ReduceAction734 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction832 */
-const struct type type_parser__ReduceAction832 = {
-1341,
-"ReduceAction832", /* class_name_string */
+/* runtime type ReduceAction735 */
+const struct type type_parser__ReduceAction735 = {
+1316,
+"ReduceAction735", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction832,
+&resolution_table_parser__ReduceAction735,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1341, /* ReduceAction832 */
+270, /* ReduceAction */
+1316, /* ReduceAction735 */
 },
 };
-const struct types resolution_table_parser__ReduceAction832 = {
+const struct types resolution_table_parser__ReduceAction735 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction833 */
-const struct type type_parser__ReduceAction833 = {
-1342,
-"ReduceAction833", /* class_name_string */
+/* runtime type ReduceAction737 */
+const struct type type_parser__ReduceAction737 = {
+1317,
+"ReduceAction737", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction833,
+&resolution_table_parser__ReduceAction737,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1342, /* ReduceAction833 */
+270, /* ReduceAction */
+1317, /* ReduceAction737 */
 },
 };
-const struct types resolution_table_parser__ReduceAction833 = {
+const struct types resolution_table_parser__ReduceAction737 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction834 */
-const struct type type_parser__ReduceAction834 = {
-1343,
-"ReduceAction834", /* class_name_string */
+/* runtime type ReduceAction738 */
+const struct type type_parser__ReduceAction738 = {
+1318,
+"ReduceAction738", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction834,
+&resolution_table_parser__ReduceAction738,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1343, /* ReduceAction834 */
+270, /* ReduceAction */
+1318, /* ReduceAction738 */
 },
 };
-const struct types resolution_table_parser__ReduceAction834 = {
+const struct types resolution_table_parser__ReduceAction738 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction835 */
-const struct type type_parser__ReduceAction835 = {
-1344,
-"ReduceAction835", /* class_name_string */
+/* runtime type ReduceAction739 */
+const struct type type_parser__ReduceAction739 = {
+1319,
+"ReduceAction739", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction835,
+&resolution_table_parser__ReduceAction739,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1344, /* ReduceAction835 */
+270, /* ReduceAction */
+1319, /* ReduceAction739 */
 },
 };
-const struct types resolution_table_parser__ReduceAction835 = {
+const struct types resolution_table_parser__ReduceAction739 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction836 */
-const struct type type_parser__ReduceAction836 = {
-1345,
-"ReduceAction836", /* class_name_string */
+/* runtime type ReduceAction741 */
+const struct type type_parser__ReduceAction741 = {
+1320,
+"ReduceAction741", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction836,
+&resolution_table_parser__ReduceAction741,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1345, /* ReduceAction836 */
+270, /* ReduceAction */
+1320, /* ReduceAction741 */
 },
 };
-const struct types resolution_table_parser__ReduceAction836 = {
+const struct types resolution_table_parser__ReduceAction741 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction837 */
-const struct type type_parser__ReduceAction837 = {
-1346,
-"ReduceAction837", /* class_name_string */
+/* runtime type ReduceAction742 */
+const struct type type_parser__ReduceAction742 = {
+1321,
+"ReduceAction742", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction837,
+&resolution_table_parser__ReduceAction742,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1346, /* ReduceAction837 */
+270, /* ReduceAction */
+1321, /* ReduceAction742 */
 },
 };
-const struct types resolution_table_parser__ReduceAction837 = {
+const struct types resolution_table_parser__ReduceAction742 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction838 */
-const struct type type_parser__ReduceAction838 = {
-1347,
-"ReduceAction838", /* class_name_string */
+/* runtime type ReduceAction744 */
+const struct type type_parser__ReduceAction744 = {
+1322,
+"ReduceAction744", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction838,
+&resolution_table_parser__ReduceAction744,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1347, /* ReduceAction838 */
+270, /* ReduceAction */
+1322, /* ReduceAction744 */
 },
 };
-const struct types resolution_table_parser__ReduceAction838 = {
+const struct types resolution_table_parser__ReduceAction744 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction839 */
-const struct type type_parser__ReduceAction839 = {
-1348,
-"ReduceAction839", /* class_name_string */
+/* runtime type ReduceAction745 */
+const struct type type_parser__ReduceAction745 = {
+1323,
+"ReduceAction745", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction839,
+&resolution_table_parser__ReduceAction745,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1348, /* ReduceAction839 */
+270, /* ReduceAction */
+1323, /* ReduceAction745 */
 },
 };
-const struct types resolution_table_parser__ReduceAction839 = {
+const struct types resolution_table_parser__ReduceAction745 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction840 */
-const struct type type_parser__ReduceAction840 = {
-1349,
-"ReduceAction840", /* class_name_string */
+/* runtime type ReduceAction746 */
+const struct type type_parser__ReduceAction746 = {
+1324,
+"ReduceAction746", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction840,
+&resolution_table_parser__ReduceAction746,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1349, /* ReduceAction840 */
+270, /* ReduceAction */
+1324, /* ReduceAction746 */
 },
 };
-const struct types resolution_table_parser__ReduceAction840 = {
+const struct types resolution_table_parser__ReduceAction746 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction841 */
-const struct type type_parser__ReduceAction841 = {
-1350,
-"ReduceAction841", /* class_name_string */
+/* runtime type ReduceAction747 */
+const struct type type_parser__ReduceAction747 = {
+1325,
+"ReduceAction747", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction841,
+&resolution_table_parser__ReduceAction747,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1350, /* ReduceAction841 */
+270, /* ReduceAction */
+1325, /* ReduceAction747 */
 },
 };
-const struct types resolution_table_parser__ReduceAction841 = {
+const struct types resolution_table_parser__ReduceAction747 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction842 */
-const struct type type_parser__ReduceAction842 = {
-1351,
-"ReduceAction842", /* class_name_string */
+/* runtime type ReduceAction748 */
+const struct type type_parser__ReduceAction748 = {
+1326,
+"ReduceAction748", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction842,
+&resolution_table_parser__ReduceAction748,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1351, /* ReduceAction842 */
+270, /* ReduceAction */
+1326, /* ReduceAction748 */
 },
 };
-const struct types resolution_table_parser__ReduceAction842 = {
+const struct types resolution_table_parser__ReduceAction748 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction843 */
-const struct type type_parser__ReduceAction843 = {
-1352,
-"ReduceAction843", /* class_name_string */
+/* runtime type ReduceAction750 */
+const struct type type_parser__ReduceAction750 = {
+1327,
+"ReduceAction750", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction843,
+&resolution_table_parser__ReduceAction750,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1352, /* ReduceAction843 */
+270, /* ReduceAction */
+1327, /* ReduceAction750 */
 },
 };
-const struct types resolution_table_parser__ReduceAction843 = {
+const struct types resolution_table_parser__ReduceAction750 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction844 */
-const struct type type_parser__ReduceAction844 = {
-1353,
-"ReduceAction844", /* class_name_string */
+/* runtime type ReduceAction751 */
+const struct type type_parser__ReduceAction751 = {
+1328,
+"ReduceAction751", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction844,
+&resolution_table_parser__ReduceAction751,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1353, /* ReduceAction844 */
+270, /* ReduceAction */
+1328, /* ReduceAction751 */
 },
 };
-const struct types resolution_table_parser__ReduceAction844 = {
+const struct types resolution_table_parser__ReduceAction751 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction753 */
+const struct type type_parser__ReduceAction753 = {
+1329,
+"ReduceAction753", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction753,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1329, /* ReduceAction753 */
+},
+};
+const struct types resolution_table_parser__ReduceAction753 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction754 */
+const struct type type_parser__ReduceAction754 = {
+1330,
+"ReduceAction754", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction754,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1330, /* ReduceAction754 */
+},
+};
+const struct types resolution_table_parser__ReduceAction754 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction755 */
+const struct type type_parser__ReduceAction755 = {
+1331,
+"ReduceAction755", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction755,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1331, /* ReduceAction755 */
+},
+};
+const struct types resolution_table_parser__ReduceAction755 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction756 */
+const struct type type_parser__ReduceAction756 = {
+1332,
+"ReduceAction756", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction756,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1332, /* ReduceAction756 */
+},
+};
+const struct types resolution_table_parser__ReduceAction756 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction758 */
+const struct type type_parser__ReduceAction758 = {
+1333,
+"ReduceAction758", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction758,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1333, /* ReduceAction758 */
+},
+};
+const struct types resolution_table_parser__ReduceAction758 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction759 */
+const struct type type_parser__ReduceAction759 = {
+1334,
+"ReduceAction759", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction759,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1334, /* ReduceAction759 */
+},
+};
+const struct types resolution_table_parser__ReduceAction759 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction775 */
+const struct type type_parser__ReduceAction775 = {
+1335,
+"ReduceAction775", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction775,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1335, /* ReduceAction775 */
+},
+};
+const struct types resolution_table_parser__ReduceAction775 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction776 */
+const struct type type_parser__ReduceAction776 = {
+1336,
+"ReduceAction776", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction776,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1336, /* ReduceAction776 */
+},
+};
+const struct types resolution_table_parser__ReduceAction776 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction777 */
+const struct type type_parser__ReduceAction777 = {
+1337,
+"ReduceAction777", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction777,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1337, /* ReduceAction777 */
+},
+};
+const struct types resolution_table_parser__ReduceAction777 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction778 */
+const struct type type_parser__ReduceAction778 = {
+1338,
+"ReduceAction778", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction778,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1338, /* ReduceAction778 */
+},
+};
+const struct types resolution_table_parser__ReduceAction778 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction780 */
+const struct type type_parser__ReduceAction780 = {
+1339,
+"ReduceAction780", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction780,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1339, /* ReduceAction780 */
+},
+};
+const struct types resolution_table_parser__ReduceAction780 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction781 */
+const struct type type_parser__ReduceAction781 = {
+1340,
+"ReduceAction781", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction781,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1340, /* ReduceAction781 */
+},
+};
+const struct types resolution_table_parser__ReduceAction781 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction782 */
+const struct type type_parser__ReduceAction782 = {
+1341,
+"ReduceAction782", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction782,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1341, /* ReduceAction782 */
+},
+};
+const struct types resolution_table_parser__ReduceAction782 = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ReduceAction783 */
+const struct type type_parser__ReduceAction783 = {
+1342,
+"ReduceAction783", /* class_name_string */
+3,
+0,
+&resolution_table_parser__ReduceAction783,
+4,
+{
+0, /* nullable Object */
+1, /* Object */
+270, /* ReduceAction */
+1342, /* ReduceAction783 */
+},
+};
+const struct types resolution_table_parser__ReduceAction783 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction845 */
-const struct type type_parser__ReduceAction845 = {
-1354,
-"ReduceAction845", /* class_name_string */
+/* runtime type ReduceAction784 */
+const struct type type_parser__ReduceAction784 = {
+1343,
+"ReduceAction784", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction845,
+&resolution_table_parser__ReduceAction784,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1354, /* ReduceAction845 */
+270, /* ReduceAction */
+1343, /* ReduceAction784 */
 },
 };
-const struct types resolution_table_parser__ReduceAction845 = {
+const struct types resolution_table_parser__ReduceAction784 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction846 */
-const struct type type_parser__ReduceAction846 = {
-1355,
-"ReduceAction846", /* class_name_string */
+/* runtime type ReduceAction785 */
+const struct type type_parser__ReduceAction785 = {
+1344,
+"ReduceAction785", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction846,
+&resolution_table_parser__ReduceAction785,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1355, /* ReduceAction846 */
+270, /* ReduceAction */
+1344, /* ReduceAction785 */
 },
 };
-const struct types resolution_table_parser__ReduceAction846 = {
+const struct types resolution_table_parser__ReduceAction785 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction847 */
-const struct type type_parser__ReduceAction847 = {
-1356,
-"ReduceAction847", /* class_name_string */
+/* runtime type ReduceAction786 */
+const struct type type_parser__ReduceAction786 = {
+1345,
+"ReduceAction786", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction847,
+&resolution_table_parser__ReduceAction786,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1356, /* ReduceAction847 */
+270, /* ReduceAction */
+1345, /* ReduceAction786 */
 },
 };
-const struct types resolution_table_parser__ReduceAction847 = {
+const struct types resolution_table_parser__ReduceAction786 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction848 */
-const struct type type_parser__ReduceAction848 = {
-1357,
-"ReduceAction848", /* class_name_string */
+/* runtime type ReduceAction787 */
+const struct type type_parser__ReduceAction787 = {
+1346,
+"ReduceAction787", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction848,
+&resolution_table_parser__ReduceAction787,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1357, /* ReduceAction848 */
+270, /* ReduceAction */
+1346, /* ReduceAction787 */
 },
 };
-const struct types resolution_table_parser__ReduceAction848 = {
+const struct types resolution_table_parser__ReduceAction787 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction849 */
-const struct type type_parser__ReduceAction849 = {
-1358,
-"ReduceAction849", /* class_name_string */
+/* runtime type ReduceAction788 */
+const struct type type_parser__ReduceAction788 = {
+1347,
+"ReduceAction788", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction849,
+&resolution_table_parser__ReduceAction788,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1358, /* ReduceAction849 */
+270, /* ReduceAction */
+1347, /* ReduceAction788 */
 },
 };
-const struct types resolution_table_parser__ReduceAction849 = {
+const struct types resolution_table_parser__ReduceAction788 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction850 */
-const struct type type_parser__ReduceAction850 = {
-1359,
-"ReduceAction850", /* class_name_string */
+/* runtime type ReduceAction789 */
+const struct type type_parser__ReduceAction789 = {
+1348,
+"ReduceAction789", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction850,
+&resolution_table_parser__ReduceAction789,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1359, /* ReduceAction850 */
+270, /* ReduceAction */
+1348, /* ReduceAction789 */
 },
 };
-const struct types resolution_table_parser__ReduceAction850 = {
+const struct types resolution_table_parser__ReduceAction789 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction851 */
-const struct type type_parser__ReduceAction851 = {
-1360,
-"ReduceAction851", /* class_name_string */
+/* runtime type ReduceAction790 */
+const struct type type_parser__ReduceAction790 = {
+1349,
+"ReduceAction790", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction851,
+&resolution_table_parser__ReduceAction790,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1360, /* ReduceAction851 */
+270, /* ReduceAction */
+1349, /* ReduceAction790 */
 },
 };
-const struct types resolution_table_parser__ReduceAction851 = {
+const struct types resolution_table_parser__ReduceAction790 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction852 */
-const struct type type_parser__ReduceAction852 = {
-1361,
-"ReduceAction852", /* class_name_string */
+/* runtime type ReduceAction791 */
+const struct type type_parser__ReduceAction791 = {
+1350,
+"ReduceAction791", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction852,
+&resolution_table_parser__ReduceAction791,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1361, /* ReduceAction852 */
+270, /* ReduceAction */
+1350, /* ReduceAction791 */
 },
 };
-const struct types resolution_table_parser__ReduceAction852 = {
+const struct types resolution_table_parser__ReduceAction791 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction853 */
-const struct type type_parser__ReduceAction853 = {
-1362,
-"ReduceAction853", /* class_name_string */
+/* runtime type ReduceAction792 */
+const struct type type_parser__ReduceAction792 = {
+1351,
+"ReduceAction792", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction853,
+&resolution_table_parser__ReduceAction792,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1362, /* ReduceAction853 */
+270, /* ReduceAction */
+1351, /* ReduceAction792 */
 },
 };
-const struct types resolution_table_parser__ReduceAction853 = {
+const struct types resolution_table_parser__ReduceAction792 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction855 */
-const struct type type_parser__ReduceAction855 = {
-1363,
-"ReduceAction855", /* class_name_string */
+/* runtime type ReduceAction793 */
+const struct type type_parser__ReduceAction793 = {
+1352,
+"ReduceAction793", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction855,
+&resolution_table_parser__ReduceAction793,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1363, /* ReduceAction855 */
+270, /* ReduceAction */
+1352, /* ReduceAction793 */
 },
 };
-const struct types resolution_table_parser__ReduceAction855 = {
+const struct types resolution_table_parser__ReduceAction793 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction856 */
-const struct type type_parser__ReduceAction856 = {
-1364,
-"ReduceAction856", /* class_name_string */
+/* runtime type ReduceAction794 */
+const struct type type_parser__ReduceAction794 = {
+1353,
+"ReduceAction794", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction856,
+&resolution_table_parser__ReduceAction794,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1364, /* ReduceAction856 */
+270, /* ReduceAction */
+1353, /* ReduceAction794 */
 },
 };
-const struct types resolution_table_parser__ReduceAction856 = {
+const struct types resolution_table_parser__ReduceAction794 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction857 */
-const struct type type_parser__ReduceAction857 = {
-1365,
-"ReduceAction857", /* class_name_string */
+/* runtime type ReduceAction795 */
+const struct type type_parser__ReduceAction795 = {
+1354,
+"ReduceAction795", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction857,
+&resolution_table_parser__ReduceAction795,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1365, /* ReduceAction857 */
+270, /* ReduceAction */
+1354, /* ReduceAction795 */
 },
 };
-const struct types resolution_table_parser__ReduceAction857 = {
+const struct types resolution_table_parser__ReduceAction795 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction858 */
-const struct type type_parser__ReduceAction858 = {
-1366,
-"ReduceAction858", /* class_name_string */
+/* runtime type ReduceAction796 */
+const struct type type_parser__ReduceAction796 = {
+1355,
+"ReduceAction796", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction858,
+&resolution_table_parser__ReduceAction796,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1366, /* ReduceAction858 */
+270, /* ReduceAction */
+1355, /* ReduceAction796 */
 },
 };
-const struct types resolution_table_parser__ReduceAction858 = {
+const struct types resolution_table_parser__ReduceAction796 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction859 */
-const struct type type_parser__ReduceAction859 = {
-1367,
-"ReduceAction859", /* class_name_string */
+/* runtime type ReduceAction797 */
+const struct type type_parser__ReduceAction797 = {
+1356,
+"ReduceAction797", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction859,
+&resolution_table_parser__ReduceAction797,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1367, /* ReduceAction859 */
+270, /* ReduceAction */
+1356, /* ReduceAction797 */
 },
 };
-const struct types resolution_table_parser__ReduceAction859 = {
+const struct types resolution_table_parser__ReduceAction797 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction860 */
-const struct type type_parser__ReduceAction860 = {
-1368,
-"ReduceAction860", /* class_name_string */
+/* runtime type ReduceAction798 */
+const struct type type_parser__ReduceAction798 = {
+1357,
+"ReduceAction798", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction860,
+&resolution_table_parser__ReduceAction798,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1368, /* ReduceAction860 */
+270, /* ReduceAction */
+1357, /* ReduceAction798 */
 },
 };
-const struct types resolution_table_parser__ReduceAction860 = {
+const struct types resolution_table_parser__ReduceAction798 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction861 */
-const struct type type_parser__ReduceAction861 = {
-1369,
-"ReduceAction861", /* class_name_string */
+/* runtime type ReduceAction799 */
+const struct type type_parser__ReduceAction799 = {
+1358,
+"ReduceAction799", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction861,
+&resolution_table_parser__ReduceAction799,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1369, /* ReduceAction861 */
+270, /* ReduceAction */
+1358, /* ReduceAction799 */
 },
 };
-const struct types resolution_table_parser__ReduceAction861 = {
+const struct types resolution_table_parser__ReduceAction799 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction862 */
-const struct type type_parser__ReduceAction862 = {
-1370,
-"ReduceAction862", /* class_name_string */
+/* runtime type ReduceAction800 */
+const struct type type_parser__ReduceAction800 = {
+1359,
+"ReduceAction800", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction862,
+&resolution_table_parser__ReduceAction800,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1370, /* ReduceAction862 */
+270, /* ReduceAction */
+1359, /* ReduceAction800 */
 },
 };
-const struct types resolution_table_parser__ReduceAction862 = {
+const struct types resolution_table_parser__ReduceAction800 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction863 */
-const struct type type_parser__ReduceAction863 = {
-1371,
-"ReduceAction863", /* class_name_string */
+/* runtime type ReduceAction801 */
+const struct type type_parser__ReduceAction801 = {
+1360,
+"ReduceAction801", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction863,
+&resolution_table_parser__ReduceAction801,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1371, /* ReduceAction863 */
+270, /* ReduceAction */
+1360, /* ReduceAction801 */
 },
 };
-const struct types resolution_table_parser__ReduceAction863 = {
+const struct types resolution_table_parser__ReduceAction801 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction864 */
-const struct type type_parser__ReduceAction864 = {
-1372,
-"ReduceAction864", /* class_name_string */
+/* runtime type ReduceAction803 */
+const struct type type_parser__ReduceAction803 = {
+1361,
+"ReduceAction803", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction864,
+&resolution_table_parser__ReduceAction803,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1372, /* ReduceAction864 */
+270, /* ReduceAction */
+1361, /* ReduceAction803 */
 },
 };
-const struct types resolution_table_parser__ReduceAction864 = {
+const struct types resolution_table_parser__ReduceAction803 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction866 */
-const struct type type_parser__ReduceAction866 = {
-1373,
-"ReduceAction866", /* class_name_string */
+/* runtime type ReduceAction804 */
+const struct type type_parser__ReduceAction804 = {
+1362,
+"ReduceAction804", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction866,
+&resolution_table_parser__ReduceAction804,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1373, /* ReduceAction866 */
+270, /* ReduceAction */
+1362, /* ReduceAction804 */
 },
 };
-const struct types resolution_table_parser__ReduceAction866 = {
+const struct types resolution_table_parser__ReduceAction804 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction867 */
-const struct type type_parser__ReduceAction867 = {
-1374,
-"ReduceAction867", /* class_name_string */
+/* runtime type ReduceAction805 */
+const struct type type_parser__ReduceAction805 = {
+1363,
+"ReduceAction805", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction867,
+&resolution_table_parser__ReduceAction805,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1374, /* ReduceAction867 */
+270, /* ReduceAction */
+1363, /* ReduceAction805 */
 },
 };
-const struct types resolution_table_parser__ReduceAction867 = {
+const struct types resolution_table_parser__ReduceAction805 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction868 */
-const struct type type_parser__ReduceAction868 = {
-1375,
-"ReduceAction868", /* class_name_string */
+/* runtime type ReduceAction806 */
+const struct type type_parser__ReduceAction806 = {
+1364,
+"ReduceAction806", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction868,
+&resolution_table_parser__ReduceAction806,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1375, /* ReduceAction868 */
+270, /* ReduceAction */
+1364, /* ReduceAction806 */
 },
 };
-const struct types resolution_table_parser__ReduceAction868 = {
+const struct types resolution_table_parser__ReduceAction806 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction869 */
-const struct type type_parser__ReduceAction869 = {
-1376,
-"ReduceAction869", /* class_name_string */
+/* runtime type ReduceAction807 */
+const struct type type_parser__ReduceAction807 = {
+1365,
+"ReduceAction807", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction869,
+&resolution_table_parser__ReduceAction807,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1376, /* ReduceAction869 */
+270, /* ReduceAction */
+1365, /* ReduceAction807 */
 },
 };
-const struct types resolution_table_parser__ReduceAction869 = {
+const struct types resolution_table_parser__ReduceAction807 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction870 */
-const struct type type_parser__ReduceAction870 = {
-1377,
-"ReduceAction870", /* class_name_string */
+/* runtime type ReduceAction808 */
+const struct type type_parser__ReduceAction808 = {
+1366,
+"ReduceAction808", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction870,
+&resolution_table_parser__ReduceAction808,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1377, /* ReduceAction870 */
+270, /* ReduceAction */
+1366, /* ReduceAction808 */
 },
 };
-const struct types resolution_table_parser__ReduceAction870 = {
+const struct types resolution_table_parser__ReduceAction808 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction871 */
-const struct type type_parser__ReduceAction871 = {
-1378,
-"ReduceAction871", /* class_name_string */
+/* runtime type ReduceAction809 */
+const struct type type_parser__ReduceAction809 = {
+1367,
+"ReduceAction809", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction871,
+&resolution_table_parser__ReduceAction809,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1378, /* ReduceAction871 */
+270, /* ReduceAction */
+1367, /* ReduceAction809 */
 },
 };
-const struct types resolution_table_parser__ReduceAction871 = {
+const struct types resolution_table_parser__ReduceAction809 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction872 */
-const struct type type_parser__ReduceAction872 = {
-1379,
-"ReduceAction872", /* class_name_string */
+/* runtime type ReduceAction810 */
+const struct type type_parser__ReduceAction810 = {
+1368,
+"ReduceAction810", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction872,
+&resolution_table_parser__ReduceAction810,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1379, /* ReduceAction872 */
+270, /* ReduceAction */
+1368, /* ReduceAction810 */
 },
 };
-const struct types resolution_table_parser__ReduceAction872 = {
+const struct types resolution_table_parser__ReduceAction810 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction873 */
-const struct type type_parser__ReduceAction873 = {
-1380,
-"ReduceAction873", /* class_name_string */
+/* runtime type ReduceAction811 */
+const struct type type_parser__ReduceAction811 = {
+1369,
+"ReduceAction811", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction873,
+&resolution_table_parser__ReduceAction811,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1380, /* ReduceAction873 */
+270, /* ReduceAction */
+1369, /* ReduceAction811 */
 },
 };
-const struct types resolution_table_parser__ReduceAction873 = {
+const struct types resolution_table_parser__ReduceAction811 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction874 */
-const struct type type_parser__ReduceAction874 = {
-1381,
-"ReduceAction874", /* class_name_string */
+/* runtime type ReduceAction812 */
+const struct type type_parser__ReduceAction812 = {
+1370,
+"ReduceAction812", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction874,
+&resolution_table_parser__ReduceAction812,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1381, /* ReduceAction874 */
+270, /* ReduceAction */
+1370, /* ReduceAction812 */
 },
 };
-const struct types resolution_table_parser__ReduceAction874 = {
+const struct types resolution_table_parser__ReduceAction812 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction875 */
-const struct type type_parser__ReduceAction875 = {
-1382,
-"ReduceAction875", /* class_name_string */
+/* runtime type ReduceAction814 */
+const struct type type_parser__ReduceAction814 = {
+1371,
+"ReduceAction814", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction875,
+&resolution_table_parser__ReduceAction814,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1382, /* ReduceAction875 */
+270, /* ReduceAction */
+1371, /* ReduceAction814 */
 },
 };
-const struct types resolution_table_parser__ReduceAction875 = {
+const struct types resolution_table_parser__ReduceAction814 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction876 */
-const struct type type_parser__ReduceAction876 = {
-1383,
-"ReduceAction876", /* class_name_string */
+/* runtime type ReduceAction815 */
+const struct type type_parser__ReduceAction815 = {
+1372,
+"ReduceAction815", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction876,
+&resolution_table_parser__ReduceAction815,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1383, /* ReduceAction876 */
+270, /* ReduceAction */
+1372, /* ReduceAction815 */
 },
 };
-const struct types resolution_table_parser__ReduceAction876 = {
+const struct types resolution_table_parser__ReduceAction815 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction878 */
-const struct type type_parser__ReduceAction878 = {
-1384,
-"ReduceAction878", /* class_name_string */
+/* runtime type ReduceAction816 */
+const struct type type_parser__ReduceAction816 = {
+1373,
+"ReduceAction816", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction878,
+&resolution_table_parser__ReduceAction816,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1384, /* ReduceAction878 */
+270, /* ReduceAction */
+1373, /* ReduceAction816 */
 },
 };
-const struct types resolution_table_parser__ReduceAction878 = {
+const struct types resolution_table_parser__ReduceAction816 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction879 */
-const struct type type_parser__ReduceAction879 = {
-1385,
-"ReduceAction879", /* class_name_string */
+/* runtime type ReduceAction817 */
+const struct type type_parser__ReduceAction817 = {
+1374,
+"ReduceAction817", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction879,
+&resolution_table_parser__ReduceAction817,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1385, /* ReduceAction879 */
+270, /* ReduceAction */
+1374, /* ReduceAction817 */
 },
 };
-const struct types resolution_table_parser__ReduceAction879 = {
+const struct types resolution_table_parser__ReduceAction817 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction880 */
-const struct type type_parser__ReduceAction880 = {
-1386,
-"ReduceAction880", /* class_name_string */
+/* runtime type ReduceAction818 */
+const struct type type_parser__ReduceAction818 = {
+1375,
+"ReduceAction818", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction880,
+&resolution_table_parser__ReduceAction818,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1386, /* ReduceAction880 */
+270, /* ReduceAction */
+1375, /* ReduceAction818 */
 },
 };
-const struct types resolution_table_parser__ReduceAction880 = {
+const struct types resolution_table_parser__ReduceAction818 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction881 */
-const struct type type_parser__ReduceAction881 = {
-1387,
-"ReduceAction881", /* class_name_string */
+/* runtime type ReduceAction819 */
+const struct type type_parser__ReduceAction819 = {
+1376,
+"ReduceAction819", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction881,
+&resolution_table_parser__ReduceAction819,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1387, /* ReduceAction881 */
+270, /* ReduceAction */
+1376, /* ReduceAction819 */
 },
 };
-const struct types resolution_table_parser__ReduceAction881 = {
+const struct types resolution_table_parser__ReduceAction819 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction882 */
-const struct type type_parser__ReduceAction882 = {
-1388,
-"ReduceAction882", /* class_name_string */
+/* runtime type ReduceAction820 */
+const struct type type_parser__ReduceAction820 = {
+1377,
+"ReduceAction820", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction882,
+&resolution_table_parser__ReduceAction820,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1388, /* ReduceAction882 */
+270, /* ReduceAction */
+1377, /* ReduceAction820 */
 },
 };
-const struct types resolution_table_parser__ReduceAction882 = {
+const struct types resolution_table_parser__ReduceAction820 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction883 */
-const struct type type_parser__ReduceAction883 = {
-1389,
-"ReduceAction883", /* class_name_string */
+/* runtime type ReduceAction821 */
+const struct type type_parser__ReduceAction821 = {
+1378,
+"ReduceAction821", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction883,
+&resolution_table_parser__ReduceAction821,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1389, /* ReduceAction883 */
+270, /* ReduceAction */
+1378, /* ReduceAction821 */
 },
 };
-const struct types resolution_table_parser__ReduceAction883 = {
+const struct types resolution_table_parser__ReduceAction821 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction884 */
-const struct type type_parser__ReduceAction884 = {
-1390,
-"ReduceAction884", /* class_name_string */
+/* runtime type ReduceAction822 */
+const struct type type_parser__ReduceAction822 = {
+1379,
+"ReduceAction822", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction884,
+&resolution_table_parser__ReduceAction822,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1390, /* ReduceAction884 */
+270, /* ReduceAction */
+1379, /* ReduceAction822 */
 },
 };
-const struct types resolution_table_parser__ReduceAction884 = {
+const struct types resolution_table_parser__ReduceAction822 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction885 */
-const struct type type_parser__ReduceAction885 = {
-1391,
-"ReduceAction885", /* class_name_string */
+/* runtime type ReduceAction823 */
+const struct type type_parser__ReduceAction823 = {
+1380,
+"ReduceAction823", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction885,
+&resolution_table_parser__ReduceAction823,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1391, /* ReduceAction885 */
+270, /* ReduceAction */
+1380, /* ReduceAction823 */
 },
 };
-const struct types resolution_table_parser__ReduceAction885 = {
+const struct types resolution_table_parser__ReduceAction823 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction886 */
-const struct type type_parser__ReduceAction886 = {
-1392,
-"ReduceAction886", /* class_name_string */
+/* runtime type ReduceAction824 */
+const struct type type_parser__ReduceAction824 = {
+1381,
+"ReduceAction824", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction886,
+&resolution_table_parser__ReduceAction824,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1392, /* ReduceAction886 */
+270, /* ReduceAction */
+1381, /* ReduceAction824 */
 },
 };
-const struct types resolution_table_parser__ReduceAction886 = {
+const struct types resolution_table_parser__ReduceAction824 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction887 */
-const struct type type_parser__ReduceAction887 = {
-1393,
-"ReduceAction887", /* class_name_string */
+/* runtime type ReduceAction826 */
+const struct type type_parser__ReduceAction826 = {
+1382,
+"ReduceAction826", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction887,
+&resolution_table_parser__ReduceAction826,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1393, /* ReduceAction887 */
+270, /* ReduceAction */
+1382, /* ReduceAction826 */
 },
 };
-const struct types resolution_table_parser__ReduceAction887 = {
+const struct types resolution_table_parser__ReduceAction826 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction888 */
-const struct type type_parser__ReduceAction888 = {
-1394,
-"ReduceAction888", /* class_name_string */
+/* runtime type ReduceAction827 */
+const struct type type_parser__ReduceAction827 = {
+1383,
+"ReduceAction827", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction888,
+&resolution_table_parser__ReduceAction827,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1394, /* ReduceAction888 */
+270, /* ReduceAction */
+1383, /* ReduceAction827 */
 },
 };
-const struct types resolution_table_parser__ReduceAction888 = {
+const struct types resolution_table_parser__ReduceAction827 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction890 */
-const struct type type_parser__ReduceAction890 = {
-1395,
-"ReduceAction890", /* class_name_string */
+/* runtime type ReduceAction828 */
+const struct type type_parser__ReduceAction828 = {
+1384,
+"ReduceAction828", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction890,
+&resolution_table_parser__ReduceAction828,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1395, /* ReduceAction890 */
+270, /* ReduceAction */
+1384, /* ReduceAction828 */
 },
 };
-const struct types resolution_table_parser__ReduceAction890 = {
+const struct types resolution_table_parser__ReduceAction828 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction891 */
-const struct type type_parser__ReduceAction891 = {
-1396,
-"ReduceAction891", /* class_name_string */
+/* runtime type ReduceAction829 */
+const struct type type_parser__ReduceAction829 = {
+1385,
+"ReduceAction829", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction891,
+&resolution_table_parser__ReduceAction829,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1396, /* ReduceAction891 */
+270, /* ReduceAction */
+1385, /* ReduceAction829 */
 },
 };
-const struct types resolution_table_parser__ReduceAction891 = {
+const struct types resolution_table_parser__ReduceAction829 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction892 */
-const struct type type_parser__ReduceAction892 = {
-1397,
-"ReduceAction892", /* class_name_string */
+/* runtime type ReduceAction830 */
+const struct type type_parser__ReduceAction830 = {
+1386,
+"ReduceAction830", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction892,
+&resolution_table_parser__ReduceAction830,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1397, /* ReduceAction892 */
+270, /* ReduceAction */
+1386, /* ReduceAction830 */
 },
 };
-const struct types resolution_table_parser__ReduceAction892 = {
+const struct types resolution_table_parser__ReduceAction830 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction893 */
-const struct type type_parser__ReduceAction893 = {
-1398,
-"ReduceAction893", /* class_name_string */
+/* runtime type ReduceAction831 */
+const struct type type_parser__ReduceAction831 = {
+1387,
+"ReduceAction831", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction893,
+&resolution_table_parser__ReduceAction831,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1398, /* ReduceAction893 */
+270, /* ReduceAction */
+1387, /* ReduceAction831 */
 },
 };
-const struct types resolution_table_parser__ReduceAction893 = {
+const struct types resolution_table_parser__ReduceAction831 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction895 */
-const struct type type_parser__ReduceAction895 = {
-1399,
-"ReduceAction895", /* class_name_string */
+/* runtime type ReduceAction832 */
+const struct type type_parser__ReduceAction832 = {
+1388,
+"ReduceAction832", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction895,
+&resolution_table_parser__ReduceAction832,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1399, /* ReduceAction895 */
+270, /* ReduceAction */
+1388, /* ReduceAction832 */
 },
 };
-const struct types resolution_table_parser__ReduceAction895 = {
+const struct types resolution_table_parser__ReduceAction832 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction896 */
-const struct type type_parser__ReduceAction896 = {
-1400,
-"ReduceAction896", /* class_name_string */
+/* runtime type ReduceAction833 */
+const struct type type_parser__ReduceAction833 = {
+1389,
+"ReduceAction833", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction896,
+&resolution_table_parser__ReduceAction833,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1400, /* ReduceAction896 */
+270, /* ReduceAction */
+1389, /* ReduceAction833 */
 },
 };
-const struct types resolution_table_parser__ReduceAction896 = {
+const struct types resolution_table_parser__ReduceAction833 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction897 */
-const struct type type_parser__ReduceAction897 = {
-1401,
-"ReduceAction897", /* class_name_string */
+/* runtime type ReduceAction834 */
+const struct type type_parser__ReduceAction834 = {
+1390,
+"ReduceAction834", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction897,
+&resolution_table_parser__ReduceAction834,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1401, /* ReduceAction897 */
+270, /* ReduceAction */
+1390, /* ReduceAction834 */
 },
 };
-const struct types resolution_table_parser__ReduceAction897 = {
+const struct types resolution_table_parser__ReduceAction834 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction899 */
-const struct type type_parser__ReduceAction899 = {
-1402,
-"ReduceAction899", /* class_name_string */
+/* runtime type ReduceAction835 */
+const struct type type_parser__ReduceAction835 = {
+1391,
+"ReduceAction835", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction899,
+&resolution_table_parser__ReduceAction835,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1402, /* ReduceAction899 */
+270, /* ReduceAction */
+1391, /* ReduceAction835 */
 },
 };
-const struct types resolution_table_parser__ReduceAction899 = {
+const struct types resolution_table_parser__ReduceAction835 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction900 */
-const struct type type_parser__ReduceAction900 = {
-1403,
-"ReduceAction900", /* class_name_string */
+/* runtime type ReduceAction836 */
+const struct type type_parser__ReduceAction836 = {
+1392,
+"ReduceAction836", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction900,
+&resolution_table_parser__ReduceAction836,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1403, /* ReduceAction900 */
+270, /* ReduceAction */
+1392, /* ReduceAction836 */
 },
 };
-const struct types resolution_table_parser__ReduceAction900 = {
+const struct types resolution_table_parser__ReduceAction836 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction901 */
-const struct type type_parser__ReduceAction901 = {
-1404,
-"ReduceAction901", /* class_name_string */
+/* runtime type ReduceAction838 */
+const struct type type_parser__ReduceAction838 = {
+1393,
+"ReduceAction838", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction901,
+&resolution_table_parser__ReduceAction838,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1404, /* ReduceAction901 */
+270, /* ReduceAction */
+1393, /* ReduceAction838 */
 },
 };
-const struct types resolution_table_parser__ReduceAction901 = {
+const struct types resolution_table_parser__ReduceAction838 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction903 */
-const struct type type_parser__ReduceAction903 = {
-1405,
-"ReduceAction903", /* class_name_string */
+/* runtime type ReduceAction839 */
+const struct type type_parser__ReduceAction839 = {
+1394,
+"ReduceAction839", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction903,
+&resolution_table_parser__ReduceAction839,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1405, /* ReduceAction903 */
+270, /* ReduceAction */
+1394, /* ReduceAction839 */
 },
 };
-const struct types resolution_table_parser__ReduceAction903 = {
+const struct types resolution_table_parser__ReduceAction839 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction904 */
-const struct type type_parser__ReduceAction904 = {
-1406,
-"ReduceAction904", /* class_name_string */
+/* runtime type ReduceAction840 */
+const struct type type_parser__ReduceAction840 = {
+1395,
+"ReduceAction840", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction904,
+&resolution_table_parser__ReduceAction840,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1406, /* ReduceAction904 */
+270, /* ReduceAction */
+1395, /* ReduceAction840 */
 },
 };
-const struct types resolution_table_parser__ReduceAction904 = {
+const struct types resolution_table_parser__ReduceAction840 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction905 */
-const struct type type_parser__ReduceAction905 = {
-1407,
-"ReduceAction905", /* class_name_string */
+/* runtime type ReduceAction841 */
+const struct type type_parser__ReduceAction841 = {
+1396,
+"ReduceAction841", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction905,
+&resolution_table_parser__ReduceAction841,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1407, /* ReduceAction905 */
+270, /* ReduceAction */
+1396, /* ReduceAction841 */
 },
 };
-const struct types resolution_table_parser__ReduceAction905 = {
+const struct types resolution_table_parser__ReduceAction841 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction907 */
-const struct type type_parser__ReduceAction907 = {
-1408,
-"ReduceAction907", /* class_name_string */
+/* runtime type ReduceAction842 */
+const struct type type_parser__ReduceAction842 = {
+1397,
+"ReduceAction842", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction907,
+&resolution_table_parser__ReduceAction842,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1408, /* ReduceAction907 */
+270, /* ReduceAction */
+1397, /* ReduceAction842 */
 },
 };
-const struct types resolution_table_parser__ReduceAction907 = {
+const struct types resolution_table_parser__ReduceAction842 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction908 */
-const struct type type_parser__ReduceAction908 = {
-1409,
-"ReduceAction908", /* class_name_string */
+/* runtime type ReduceAction843 */
+const struct type type_parser__ReduceAction843 = {
+1398,
+"ReduceAction843", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction908,
+&resolution_table_parser__ReduceAction843,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1409, /* ReduceAction908 */
+270, /* ReduceAction */
+1398, /* ReduceAction843 */
 },
 };
-const struct types resolution_table_parser__ReduceAction908 = {
+const struct types resolution_table_parser__ReduceAction843 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction909 */
-const struct type type_parser__ReduceAction909 = {
-1410,
-"ReduceAction909", /* class_name_string */
+/* runtime type ReduceAction844 */
+const struct type type_parser__ReduceAction844 = {
+1399,
+"ReduceAction844", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction909,
+&resolution_table_parser__ReduceAction844,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1410, /* ReduceAction909 */
+270, /* ReduceAction */
+1399, /* ReduceAction844 */
 },
 };
-const struct types resolution_table_parser__ReduceAction909 = {
+const struct types resolution_table_parser__ReduceAction844 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction911 */
-const struct type type_parser__ReduceAction911 = {
-1411,
-"ReduceAction911", /* class_name_string */
+/* runtime type ReduceAction845 */
+const struct type type_parser__ReduceAction845 = {
+1400,
+"ReduceAction845", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction911,
+&resolution_table_parser__ReduceAction845,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1411, /* ReduceAction911 */
+270, /* ReduceAction */
+1400, /* ReduceAction845 */
 },
 };
-const struct types resolution_table_parser__ReduceAction911 = {
+const struct types resolution_table_parser__ReduceAction845 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction914 */
-const struct type type_parser__ReduceAction914 = {
-1412,
-"ReduceAction914", /* class_name_string */
+/* runtime type ReduceAction847 */
+const struct type type_parser__ReduceAction847 = {
+1401,
+"ReduceAction847", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction914,
+&resolution_table_parser__ReduceAction847,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1412, /* ReduceAction914 */
+270, /* ReduceAction */
+1401, /* ReduceAction847 */
 },
 };
-const struct types resolution_table_parser__ReduceAction914 = {
+const struct types resolution_table_parser__ReduceAction847 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction915 */
-const struct type type_parser__ReduceAction915 = {
-1413,
-"ReduceAction915", /* class_name_string */
+/* runtime type ReduceAction850 */
+const struct type type_parser__ReduceAction850 = {
+1402,
+"ReduceAction850", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction915,
+&resolution_table_parser__ReduceAction850,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1413, /* ReduceAction915 */
+270, /* ReduceAction */
+1402, /* ReduceAction850 */
 },
 };
-const struct types resolution_table_parser__ReduceAction915 = {
+const struct types resolution_table_parser__ReduceAction850 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction916 */
-const struct type type_parser__ReduceAction916 = {
-1414,
-"ReduceAction916", /* class_name_string */
+/* runtime type ReduceAction851 */
+const struct type type_parser__ReduceAction851 = {
+1403,
+"ReduceAction851", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction916,
+&resolution_table_parser__ReduceAction851,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1414, /* ReduceAction916 */
+270, /* ReduceAction */
+1403, /* ReduceAction851 */
 },
 };
-const struct types resolution_table_parser__ReduceAction916 = {
+const struct types resolution_table_parser__ReduceAction851 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction917 */
-const struct type type_parser__ReduceAction917 = {
-1415,
-"ReduceAction917", /* class_name_string */
+/* runtime type ReduceAction852 */
+const struct type type_parser__ReduceAction852 = {
+1404,
+"ReduceAction852", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction917,
+&resolution_table_parser__ReduceAction852,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1415, /* ReduceAction917 */
+270, /* ReduceAction */
+1404, /* ReduceAction852 */
 },
 };
-const struct types resolution_table_parser__ReduceAction917 = {
+const struct types resolution_table_parser__ReduceAction852 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction918 */
-const struct type type_parser__ReduceAction918 = {
-1416,
-"ReduceAction918", /* class_name_string */
+/* runtime type ReduceAction853 */
+const struct type type_parser__ReduceAction853 = {
+1405,
+"ReduceAction853", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction918,
+&resolution_table_parser__ReduceAction853,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1416, /* ReduceAction918 */
+270, /* ReduceAction */
+1405, /* ReduceAction853 */
 },
 };
-const struct types resolution_table_parser__ReduceAction918 = {
+const struct types resolution_table_parser__ReduceAction853 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction919 */
-const struct type type_parser__ReduceAction919 = {
-1417,
-"ReduceAction919", /* class_name_string */
+/* runtime type ReduceAction854 */
+const struct type type_parser__ReduceAction854 = {
+1406,
+"ReduceAction854", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction919,
+&resolution_table_parser__ReduceAction854,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1417, /* ReduceAction919 */
+270, /* ReduceAction */
+1406, /* ReduceAction854 */
 },
 };
-const struct types resolution_table_parser__ReduceAction919 = {
+const struct types resolution_table_parser__ReduceAction854 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction920 */
-const struct type type_parser__ReduceAction920 = {
-1418,
-"ReduceAction920", /* class_name_string */
+/* runtime type ReduceAction855 */
+const struct type type_parser__ReduceAction855 = {
+1407,
+"ReduceAction855", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction920,
+&resolution_table_parser__ReduceAction855,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1418, /* ReduceAction920 */
+270, /* ReduceAction */
+1407, /* ReduceAction855 */
 },
 };
-const struct types resolution_table_parser__ReduceAction920 = {
+const struct types resolution_table_parser__ReduceAction855 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction921 */
-const struct type type_parser__ReduceAction921 = {
-1419,
-"ReduceAction921", /* class_name_string */
+/* runtime type ReduceAction856 */
+const struct type type_parser__ReduceAction856 = {
+1408,
+"ReduceAction856", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction921,
+&resolution_table_parser__ReduceAction856,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1419, /* ReduceAction921 */
+270, /* ReduceAction */
+1408, /* ReduceAction856 */
 },
 };
-const struct types resolution_table_parser__ReduceAction921 = {
+const struct types resolution_table_parser__ReduceAction856 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction922 */
-const struct type type_parser__ReduceAction922 = {
-1420,
-"ReduceAction922", /* class_name_string */
+/* runtime type ReduceAction857 */
+const struct type type_parser__ReduceAction857 = {
+1409,
+"ReduceAction857", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction922,
+&resolution_table_parser__ReduceAction857,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1420, /* ReduceAction922 */
+270, /* ReduceAction */
+1409, /* ReduceAction857 */
 },
 };
-const struct types resolution_table_parser__ReduceAction922 = {
+const struct types resolution_table_parser__ReduceAction857 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction923 */
-const struct type type_parser__ReduceAction923 = {
-1421,
-"ReduceAction923", /* class_name_string */
+/* runtime type ReduceAction858 */
+const struct type type_parser__ReduceAction858 = {
+1410,
+"ReduceAction858", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction923,
+&resolution_table_parser__ReduceAction858,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1421, /* ReduceAction923 */
+270, /* ReduceAction */
+1410, /* ReduceAction858 */
 },
 };
-const struct types resolution_table_parser__ReduceAction923 = {
+const struct types resolution_table_parser__ReduceAction858 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction924 */
-const struct type type_parser__ReduceAction924 = {
-1422,
-"ReduceAction924", /* class_name_string */
+/* runtime type ReduceAction859 */
+const struct type type_parser__ReduceAction859 = {
+1411,
+"ReduceAction859", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction924,
+&resolution_table_parser__ReduceAction859,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1422, /* ReduceAction924 */
+270, /* ReduceAction */
+1411, /* ReduceAction859 */
 },
 };
-const struct types resolution_table_parser__ReduceAction924 = {
+const struct types resolution_table_parser__ReduceAction859 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction925 */
-const struct type type_parser__ReduceAction925 = {
-1423,
-"ReduceAction925", /* class_name_string */
+/* runtime type ReduceAction860 */
+const struct type type_parser__ReduceAction860 = {
+1412,
+"ReduceAction860", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction925,
+&resolution_table_parser__ReduceAction860,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1423, /* ReduceAction925 */
+270, /* ReduceAction */
+1412, /* ReduceAction860 */
 },
 };
-const struct types resolution_table_parser__ReduceAction925 = {
+const struct types resolution_table_parser__ReduceAction860 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction926 */
-const struct type type_parser__ReduceAction926 = {
-1424,
-"ReduceAction926", /* class_name_string */
+/* runtime type ReduceAction861 */
+const struct type type_parser__ReduceAction861 = {
+1413,
+"ReduceAction861", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction926,
+&resolution_table_parser__ReduceAction861,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1424, /* ReduceAction926 */
+270, /* ReduceAction */
+1413, /* ReduceAction861 */
 },
 };
-const struct types resolution_table_parser__ReduceAction926 = {
+const struct types resolution_table_parser__ReduceAction861 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction928 */
-const struct type type_parser__ReduceAction928 = {
-1425,
-"ReduceAction928", /* class_name_string */
+/* runtime type ReduceAction862 */
+const struct type type_parser__ReduceAction862 = {
+1414,
+"ReduceAction862", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction928,
+&resolution_table_parser__ReduceAction862,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1425, /* ReduceAction928 */
+270, /* ReduceAction */
+1414, /* ReduceAction862 */
 },
 };
-const struct types resolution_table_parser__ReduceAction928 = {
+const struct types resolution_table_parser__ReduceAction862 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction929 */
-const struct type type_parser__ReduceAction929 = {
-1426,
-"ReduceAction929", /* class_name_string */
+/* runtime type ReduceAction864 */
+const struct type type_parser__ReduceAction864 = {
+1415,
+"ReduceAction864", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction929,
+&resolution_table_parser__ReduceAction864,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1426, /* ReduceAction929 */
+270, /* ReduceAction */
+1415, /* ReduceAction864 */
 },
 };
-const struct types resolution_table_parser__ReduceAction929 = {
+const struct types resolution_table_parser__ReduceAction864 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction931 */
-const struct type type_parser__ReduceAction931 = {
-1427,
-"ReduceAction931", /* class_name_string */
+/* runtime type ReduceAction865 */
+const struct type type_parser__ReduceAction865 = {
+1416,
+"ReduceAction865", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction931,
+&resolution_table_parser__ReduceAction865,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1427, /* ReduceAction931 */
+270, /* ReduceAction */
+1416, /* ReduceAction865 */
 },
 };
-const struct types resolution_table_parser__ReduceAction931 = {
+const struct types resolution_table_parser__ReduceAction865 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction932 */
-const struct type type_parser__ReduceAction932 = {
-1428,
-"ReduceAction932", /* class_name_string */
+/* runtime type ReduceAction867 */
+const struct type type_parser__ReduceAction867 = {
+1417,
+"ReduceAction867", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction932,
+&resolution_table_parser__ReduceAction867,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1428, /* ReduceAction932 */
+270, /* ReduceAction */
+1417, /* ReduceAction867 */
 },
 };
-const struct types resolution_table_parser__ReduceAction932 = {
+const struct types resolution_table_parser__ReduceAction867 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction933 */
-const struct type type_parser__ReduceAction933 = {
-1429,
-"ReduceAction933", /* class_name_string */
+/* runtime type ReduceAction868 */
+const struct type type_parser__ReduceAction868 = {
+1418,
+"ReduceAction868", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction933,
+&resolution_table_parser__ReduceAction868,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1429, /* ReduceAction933 */
+270, /* ReduceAction */
+1418, /* ReduceAction868 */
 },
 };
-const struct types resolution_table_parser__ReduceAction933 = {
+const struct types resolution_table_parser__ReduceAction868 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction934 */
-const struct type type_parser__ReduceAction934 = {
-1430,
-"ReduceAction934", /* class_name_string */
+/* runtime type ReduceAction869 */
+const struct type type_parser__ReduceAction869 = {
+1419,
+"ReduceAction869", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction934,
+&resolution_table_parser__ReduceAction869,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1430, /* ReduceAction934 */
+270, /* ReduceAction */
+1419, /* ReduceAction869 */
 },
 };
-const struct types resolution_table_parser__ReduceAction934 = {
+const struct types resolution_table_parser__ReduceAction869 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1317 */
-const struct type type_parser__ReduceAction1317 = {
-1431,
-"ReduceAction1317", /* class_name_string */
+/* runtime type ReduceAction870 */
+const struct type type_parser__ReduceAction870 = {
+1420,
+"ReduceAction870", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1317,
+&resolution_table_parser__ReduceAction870,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1431, /* ReduceAction1317 */
+270, /* ReduceAction */
+1420, /* ReduceAction870 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1317 = {
+const struct types resolution_table_parser__ReduceAction870 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1318 */
-const struct type type_parser__ReduceAction1318 = {
-1432,
-"ReduceAction1318", /* class_name_string */
+/* runtime type ReduceAction1215 */
+const struct type type_parser__ReduceAction1215 = {
+1421,
+"ReduceAction1215", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1318,
+&resolution_table_parser__ReduceAction1215,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1432, /* ReduceAction1318 */
+270, /* ReduceAction */
+1421, /* ReduceAction1215 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1318 = {
+const struct types resolution_table_parser__ReduceAction1215 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1321 */
-const struct type type_parser__ReduceAction1321 = {
-1433,
-"ReduceAction1321", /* class_name_string */
+/* runtime type ReduceAction1216 */
+const struct type type_parser__ReduceAction1216 = {
+1422,
+"ReduceAction1216", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1321,
+&resolution_table_parser__ReduceAction1216,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1433, /* ReduceAction1321 */
+270, /* ReduceAction */
+1422, /* ReduceAction1216 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1321 = {
+const struct types resolution_table_parser__ReduceAction1216 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1322 */
-const struct type type_parser__ReduceAction1322 = {
-1434,
-"ReduceAction1322", /* class_name_string */
+/* runtime type ReduceAction1219 */
+const struct type type_parser__ReduceAction1219 = {
+1423,
+"ReduceAction1219", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1322,
+&resolution_table_parser__ReduceAction1219,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1434, /* ReduceAction1322 */
+270, /* ReduceAction */
+1423, /* ReduceAction1219 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1322 = {
+const struct types resolution_table_parser__ReduceAction1219 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1325 */
-const struct type type_parser__ReduceAction1325 = {
-1435,
-"ReduceAction1325", /* class_name_string */
+/* runtime type ReduceAction1220 */
+const struct type type_parser__ReduceAction1220 = {
+1424,
+"ReduceAction1220", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1325,
+&resolution_table_parser__ReduceAction1220,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1435, /* ReduceAction1325 */
+270, /* ReduceAction */
+1424, /* ReduceAction1220 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1325 = {
+const struct types resolution_table_parser__ReduceAction1220 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1326 */
-const struct type type_parser__ReduceAction1326 = {
-1436,
-"ReduceAction1326", /* class_name_string */
+/* runtime type ReduceAction1223 */
+const struct type type_parser__ReduceAction1223 = {
+1425,
+"ReduceAction1223", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1326,
+&resolution_table_parser__ReduceAction1223,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1436, /* ReduceAction1326 */
+270, /* ReduceAction */
+1425, /* ReduceAction1223 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1326 = {
+const struct types resolution_table_parser__ReduceAction1223 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1333 */
-const struct type type_parser__ReduceAction1333 = {
-1437,
-"ReduceAction1333", /* class_name_string */
+/* runtime type ReduceAction1224 */
+const struct type type_parser__ReduceAction1224 = {
+1426,
+"ReduceAction1224", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1333,
+&resolution_table_parser__ReduceAction1224,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1437, /* ReduceAction1333 */
+270, /* ReduceAction */
+1426, /* ReduceAction1224 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1333 = {
+const struct types resolution_table_parser__ReduceAction1224 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1357 */
-const struct type type_parser__ReduceAction1357 = {
-1438,
-"ReduceAction1357", /* class_name_string */
+/* runtime type ReduceAction1231 */
+const struct type type_parser__ReduceAction1231 = {
+1427,
+"ReduceAction1231", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1357,
+&resolution_table_parser__ReduceAction1231,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1438, /* ReduceAction1357 */
+270, /* ReduceAction */
+1427, /* ReduceAction1231 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1357 = {
+const struct types resolution_table_parser__ReduceAction1231 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1358 */
-const struct type type_parser__ReduceAction1358 = {
-1439,
-"ReduceAction1358", /* class_name_string */
+/* runtime type ReduceAction1255 */
+const struct type type_parser__ReduceAction1255 = {
+1428,
+"ReduceAction1255", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1358,
+&resolution_table_parser__ReduceAction1255,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1439, /* ReduceAction1358 */
+270, /* ReduceAction */
+1428, /* ReduceAction1255 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1358 = {
+const struct types resolution_table_parser__ReduceAction1255 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1772 */
-const struct type type_parser__ReduceAction1772 = {
-1440,
-"ReduceAction1772", /* class_name_string */
+/* runtime type ReduceAction1256 */
+const struct type type_parser__ReduceAction1256 = {
+1429,
+"ReduceAction1256", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1772,
+&resolution_table_parser__ReduceAction1256,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1440, /* ReduceAction1772 */
+270, /* ReduceAction */
+1429, /* ReduceAction1256 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1772 = {
+const struct types resolution_table_parser__ReduceAction1256 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1773 */
-const struct type type_parser__ReduceAction1773 = {
-1441,
-"ReduceAction1773", /* class_name_string */
+/* runtime type ReduceAction1524 */
+const struct type type_parser__ReduceAction1524 = {
+1430,
+"ReduceAction1524", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1773,
+&resolution_table_parser__ReduceAction1524,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1441, /* ReduceAction1773 */
+270, /* ReduceAction */
+1430, /* ReduceAction1524 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1773 = {
+const struct types resolution_table_parser__ReduceAction1524 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1774 */
-const struct type type_parser__ReduceAction1774 = {
-1442,
-"ReduceAction1774", /* class_name_string */
+/* runtime type ReduceAction1525 */
+const struct type type_parser__ReduceAction1525 = {
+1431,
+"ReduceAction1525", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1774,
+&resolution_table_parser__ReduceAction1525,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1442, /* ReduceAction1774 */
+270, /* ReduceAction */
+1431, /* ReduceAction1525 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1774 = {
+const struct types resolution_table_parser__ReduceAction1525 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1775 */
-const struct type type_parser__ReduceAction1775 = {
-1443,
-"ReduceAction1775", /* class_name_string */
+/* runtime type ReduceAction1526 */
+const struct type type_parser__ReduceAction1526 = {
+1432,
+"ReduceAction1526", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1775,
+&resolution_table_parser__ReduceAction1526,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1443, /* ReduceAction1775 */
+270, /* ReduceAction */
+1432, /* ReduceAction1526 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1775 = {
+const struct types resolution_table_parser__ReduceAction1526 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1776 */
-const struct type type_parser__ReduceAction1776 = {
-1444,
-"ReduceAction1776", /* class_name_string */
+/* runtime type ReduceAction1527 */
+const struct type type_parser__ReduceAction1527 = {
+1433,
+"ReduceAction1527", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1776,
+&resolution_table_parser__ReduceAction1527,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1444, /* ReduceAction1776 */
+270, /* ReduceAction */
+1433, /* ReduceAction1527 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1776 = {
+const struct types resolution_table_parser__ReduceAction1527 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1777 */
-const struct type type_parser__ReduceAction1777 = {
-1445,
-"ReduceAction1777", /* class_name_string */
+/* runtime type ReduceAction1528 */
+const struct type type_parser__ReduceAction1528 = {
+1434,
+"ReduceAction1528", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1777,
+&resolution_table_parser__ReduceAction1528,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1445, /* ReduceAction1777 */
+270, /* ReduceAction */
+1434, /* ReduceAction1528 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1777 = {
+const struct types resolution_table_parser__ReduceAction1528 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1778 */
-const struct type type_parser__ReduceAction1778 = {
-1446,
-"ReduceAction1778", /* class_name_string */
+/* runtime type ReduceAction1529 */
+const struct type type_parser__ReduceAction1529 = {
+1435,
+"ReduceAction1529", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1778,
+&resolution_table_parser__ReduceAction1529,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1446, /* ReduceAction1778 */
+270, /* ReduceAction */
+1435, /* ReduceAction1529 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1778 = {
+const struct types resolution_table_parser__ReduceAction1529 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1779 */
-const struct type type_parser__ReduceAction1779 = {
-1447,
-"ReduceAction1779", /* class_name_string */
+/* runtime type ReduceAction1530 */
+const struct type type_parser__ReduceAction1530 = {
+1436,
+"ReduceAction1530", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1779,
+&resolution_table_parser__ReduceAction1530,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1447, /* ReduceAction1779 */
+270, /* ReduceAction */
+1436, /* ReduceAction1530 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1779 = {
+const struct types resolution_table_parser__ReduceAction1530 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1780 */
-const struct type type_parser__ReduceAction1780 = {
-1448,
-"ReduceAction1780", /* class_name_string */
+/* runtime type ReduceAction1531 */
+const struct type type_parser__ReduceAction1531 = {
+1437,
+"ReduceAction1531", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1780,
+&resolution_table_parser__ReduceAction1531,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1448, /* ReduceAction1780 */
+270, /* ReduceAction */
+1437, /* ReduceAction1531 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1780 = {
+const struct types resolution_table_parser__ReduceAction1531 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1781 */
-const struct type type_parser__ReduceAction1781 = {
-1449,
-"ReduceAction1781", /* class_name_string */
+/* runtime type ReduceAction1532 */
+const struct type type_parser__ReduceAction1532 = {
+1438,
+"ReduceAction1532", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1781,
+&resolution_table_parser__ReduceAction1532,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1449, /* ReduceAction1781 */
+270, /* ReduceAction */
+1438, /* ReduceAction1532 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1781 = {
+const struct types resolution_table_parser__ReduceAction1532 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1784 */
-const struct type type_parser__ReduceAction1784 = {
-1450,
-"ReduceAction1784", /* class_name_string */
+/* runtime type ReduceAction1533 */
+const struct type type_parser__ReduceAction1533 = {
+1439,
+"ReduceAction1533", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1784,
+&resolution_table_parser__ReduceAction1533,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1450, /* ReduceAction1784 */
+270, /* ReduceAction */
+1439, /* ReduceAction1533 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1784 = {
+const struct types resolution_table_parser__ReduceAction1533 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1785 */
-const struct type type_parser__ReduceAction1785 = {
-1451,
-"ReduceAction1785", /* class_name_string */
+/* runtime type ReduceAction1536 */
+const struct type type_parser__ReduceAction1536 = {
+1440,
+"ReduceAction1536", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1785,
+&resolution_table_parser__ReduceAction1536,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1451, /* ReduceAction1785 */
+270, /* ReduceAction */
+1440, /* ReduceAction1536 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1785 = {
+const struct types resolution_table_parser__ReduceAction1536 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1786 */
-const struct type type_parser__ReduceAction1786 = {
-1452,
-"ReduceAction1786", /* class_name_string */
+/* runtime type ReduceAction1537 */
+const struct type type_parser__ReduceAction1537 = {
+1441,
+"ReduceAction1537", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1786,
+&resolution_table_parser__ReduceAction1537,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1452, /* ReduceAction1786 */
+270, /* ReduceAction */
+1441, /* ReduceAction1537 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1786 = {
+const struct types resolution_table_parser__ReduceAction1537 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1787 */
-const struct type type_parser__ReduceAction1787 = {
-1453,
-"ReduceAction1787", /* class_name_string */
+/* runtime type ReduceAction1538 */
+const struct type type_parser__ReduceAction1538 = {
+1442,
+"ReduceAction1538", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1787,
+&resolution_table_parser__ReduceAction1538,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1453, /* ReduceAction1787 */
+270, /* ReduceAction */
+1442, /* ReduceAction1538 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1787 = {
+const struct types resolution_table_parser__ReduceAction1538 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1788 */
-const struct type type_parser__ReduceAction1788 = {
-1454,
-"ReduceAction1788", /* class_name_string */
+/* runtime type ReduceAction1539 */
+const struct type type_parser__ReduceAction1539 = {
+1443,
+"ReduceAction1539", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1788,
+&resolution_table_parser__ReduceAction1539,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1454, /* ReduceAction1788 */
+270, /* ReduceAction */
+1443, /* ReduceAction1539 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1788 = {
+const struct types resolution_table_parser__ReduceAction1539 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1789 */
-const struct type type_parser__ReduceAction1789 = {
-1455,
-"ReduceAction1789", /* class_name_string */
+/* runtime type ReduceAction1540 */
+const struct type type_parser__ReduceAction1540 = {
+1444,
+"ReduceAction1540", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1789,
+&resolution_table_parser__ReduceAction1540,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1455, /* ReduceAction1789 */
+270, /* ReduceAction */
+1444, /* ReduceAction1540 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1789 = {
+const struct types resolution_table_parser__ReduceAction1540 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1790 */
-const struct type type_parser__ReduceAction1790 = {
-1456,
-"ReduceAction1790", /* class_name_string */
+/* runtime type ReduceAction1541 */
+const struct type type_parser__ReduceAction1541 = {
+1445,
+"ReduceAction1541", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1790,
+&resolution_table_parser__ReduceAction1541,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1456, /* ReduceAction1790 */
+270, /* ReduceAction */
+1445, /* ReduceAction1541 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1790 = {
+const struct types resolution_table_parser__ReduceAction1541 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1791 */
-const struct type type_parser__ReduceAction1791 = {
-1457,
-"ReduceAction1791", /* class_name_string */
+/* runtime type ReduceAction1543 */
+const struct type type_parser__ReduceAction1543 = {
+1446,
+"ReduceAction1543", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1791,
+&resolution_table_parser__ReduceAction1543,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1457, /* ReduceAction1791 */
+270, /* ReduceAction */
+1446, /* ReduceAction1543 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1791 = {
+const struct types resolution_table_parser__ReduceAction1543 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1793 */
-const struct type type_parser__ReduceAction1793 = {
-1458,
-"ReduceAction1793", /* class_name_string */
+/* runtime type ReduceAction1544 */
+const struct type type_parser__ReduceAction1544 = {
+1447,
+"ReduceAction1544", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1793,
+&resolution_table_parser__ReduceAction1544,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1458, /* ReduceAction1793 */
+270, /* ReduceAction */
+1447, /* ReduceAction1544 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1793 = {
+const struct types resolution_table_parser__ReduceAction1544 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1794 */
-const struct type type_parser__ReduceAction1794 = {
-1459,
-"ReduceAction1794", /* class_name_string */
+/* runtime type ReduceAction1545 */
+const struct type type_parser__ReduceAction1545 = {
+1448,
+"ReduceAction1545", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1794,
+&resolution_table_parser__ReduceAction1545,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1459, /* ReduceAction1794 */
+270, /* ReduceAction */
+1448, /* ReduceAction1545 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1794 = {
+const struct types resolution_table_parser__ReduceAction1545 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1795 */
-const struct type type_parser__ReduceAction1795 = {
-1460,
-"ReduceAction1795", /* class_name_string */
+/* runtime type ReduceAction1546 */
+const struct type type_parser__ReduceAction1546 = {
+1449,
+"ReduceAction1546", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1795,
+&resolution_table_parser__ReduceAction1546,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1460, /* ReduceAction1795 */
+270, /* ReduceAction */
+1449, /* ReduceAction1546 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1795 = {
+const struct types resolution_table_parser__ReduceAction1546 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1797 */
-const struct type type_parser__ReduceAction1797 = {
-1461,
-"ReduceAction1797", /* class_name_string */
+/* runtime type ReduceAction1547 */
+const struct type type_parser__ReduceAction1547 = {
+1450,
+"ReduceAction1547", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1797,
+&resolution_table_parser__ReduceAction1547,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1461, /* ReduceAction1797 */
+270, /* ReduceAction */
+1450, /* ReduceAction1547 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1797 = {
+const struct types resolution_table_parser__ReduceAction1547 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1799 */
-const struct type type_parser__ReduceAction1799 = {
-1462,
-"ReduceAction1799", /* class_name_string */
+/* runtime type ReduceAction1549 */
+const struct type type_parser__ReduceAction1549 = {
+1451,
+"ReduceAction1549", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1799,
+&resolution_table_parser__ReduceAction1549,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1462, /* ReduceAction1799 */
+270, /* ReduceAction */
+1451, /* ReduceAction1549 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1799 = {
+const struct types resolution_table_parser__ReduceAction1549 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1803 */
-const struct type type_parser__ReduceAction1803 = {
-1463,
-"ReduceAction1803", /* class_name_string */
+/* runtime type ReduceAction1553 */
+const struct type type_parser__ReduceAction1553 = {
+1452,
+"ReduceAction1553", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1803,
+&resolution_table_parser__ReduceAction1553,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1463, /* ReduceAction1803 */
+270, /* ReduceAction */
+1452, /* ReduceAction1553 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1803 = {
+const struct types resolution_table_parser__ReduceAction1553 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1807 */
-const struct type type_parser__ReduceAction1807 = {
-1464,
-"ReduceAction1807", /* class_name_string */
+/* runtime type ReduceAction1557 */
+const struct type type_parser__ReduceAction1557 = {
+1453,
+"ReduceAction1557", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1807,
+&resolution_table_parser__ReduceAction1557,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1464, /* ReduceAction1807 */
+270, /* ReduceAction */
+1453, /* ReduceAction1557 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1807 = {
+const struct types resolution_table_parser__ReduceAction1557 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1808 */
-const struct type type_parser__ReduceAction1808 = {
-1465,
-"ReduceAction1808", /* class_name_string */
+/* runtime type ReduceAction1558 */
+const struct type type_parser__ReduceAction1558 = {
+1454,
+"ReduceAction1558", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1808,
+&resolution_table_parser__ReduceAction1558,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1465, /* ReduceAction1808 */
+270, /* ReduceAction */
+1454, /* ReduceAction1558 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1808 = {
+const struct types resolution_table_parser__ReduceAction1558 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1809 */
-const struct type type_parser__ReduceAction1809 = {
-1466,
-"ReduceAction1809", /* class_name_string */
+/* runtime type ReduceAction1559 */
+const struct type type_parser__ReduceAction1559 = {
+1455,
+"ReduceAction1559", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1809,
+&resolution_table_parser__ReduceAction1559,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1466, /* ReduceAction1809 */
+270, /* ReduceAction */
+1455, /* ReduceAction1559 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1809 = {
+const struct types resolution_table_parser__ReduceAction1559 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1810 */
-const struct type type_parser__ReduceAction1810 = {
-1467,
-"ReduceAction1810", /* class_name_string */
+/* runtime type ReduceAction1560 */
+const struct type type_parser__ReduceAction1560 = {
+1456,
+"ReduceAction1560", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1810,
+&resolution_table_parser__ReduceAction1560,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1467, /* ReduceAction1810 */
+270, /* ReduceAction */
+1456, /* ReduceAction1560 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1810 = {
+const struct types resolution_table_parser__ReduceAction1560 = {
 0, /* dummy */
 {
 }
 };
-/* runtime type ReduceAction1811 */
-const struct type type_parser__ReduceAction1811 = {
-1468,
-"ReduceAction1811", /* class_name_string */
+/* runtime type ReduceAction1561 */
+const struct type type_parser__ReduceAction1561 = {
+1457,
+"ReduceAction1561", /* class_name_string */
 3,
 0,
-&resolution_table_parser__ReduceAction1811,
+&resolution_table_parser__ReduceAction1561,
 4,
 {
 0, /* nullable Object */
 1, /* Object */
-246, /* ReduceAction */
-1468, /* ReduceAction1811 */
+270, /* ReduceAction */
+1457, /* ReduceAction1561 */
 },
 };
-const struct types resolution_table_parser__ReduceAction1811 = {
+const struct types resolution_table_parser__ReduceAction1561 = {
 0, /* dummy */
 {
 }
 };
 /* runtime type State */
 const struct type type_parser__State = {
-247,
+271,
 "State", /* class_name_string */
 2,
 0,
@@ -4375,7 +4650,7 @@ const struct type type_parser__State = {
 {
 0, /* nullable Object */
 1, /* Object */
-247, /* State */
+271, /* State */
 },
 };
 const struct types resolution_table_parser__State = {
@@ -4385,7 +4660,7 @@ const struct types resolution_table_parser__State = {
 };
 /* runtime type ANodes[AImport] */
 const struct type type_parser_nodes__ANodesparser_nodes__AImport = {
-2470,
+2497,
 "ANodes[AImport]", /* class_name_string */
 6,
 0,
@@ -4394,12 +4669,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AImport = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2470, /* ANodes[AImport] */
-1984, /* Collection[AImport] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2497, /* ANodes[AImport] */
+2000, /* Collection[AImport] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AImport = {
@@ -4424,7 +4699,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AImport] */
 const struct type type_abstract_collection__Collectionparser_nodes__AImport = {
-1984,
+2000,
 "Collection[AImport]", /* class_name_string */
 7,
 0,
@@ -4433,853 +4708,630 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-1984, /* Collection[AImport] */
-},
-};
-/* runtime type MVisibility */
-const struct type type_model_base__MVisibility = {
-248,
-"MVisibility", /* class_name_string */
-2,
-0,
-&resolution_table_model_base__MVisibility,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-248, /* MVisibility */
+2000, /* Collection[AImport] */
 },
 };
-const struct types resolution_table_model_base__MVisibility = {
-0, /* dummy */
-{
-&type_model_base__MVisibility, /* OTHER: MVisibility */
-}
-};
-/* runtime type SimpleMiscVisitor */
-const struct type type_simple_misc_analysis__SimpleMiscVisitor = {
-249,
-"SimpleMiscVisitor", /* class_name_string */
-2,
+/* runtime type ANodes[AFormaldef] */
+const struct type type_parser_nodes__ANodesparser_nodes__AFormaldef = {
+2498,
+"ANodes[AFormaldef]", /* class_name_string */
+6,
 0,
-&resolution_table_simple_misc_analysis__SimpleMiscVisitor,
-3,
+&resolution_table_parser_nodes__ANodesparser_nodes__AFormaldef,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-249, /* SimpleMiscVisitor */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2498, /* ANodes[AFormaldef] */
+2001, /* Collection[AFormaldef] */
 },
 };
-const struct types resolution_table_simple_misc_analysis__SimpleMiscVisitor = {
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__AFormaldef = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__AFormaldef, /* Array[ANodes#0]: Array[AFormaldef] */
+&type_parser_nodes__AFormaldef, /* ANodes#0: AFormaldef */
+&type_parser_nodes__AFormaldef, /* Sequence#0: AFormaldef */
+&type_parser_nodes__AFormaldef, /* SimpleCollection#0: AFormaldef */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&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 */
 }
 };
-/* runtime type LiteralVisitor */
-const struct type type_literal__LiteralVisitor = {
-250,
-"LiteralVisitor", /* class_name_string */
-2,
+/* runtime type Collection[AFormaldef] */
+const struct type type_abstract_collection__Collectionparser_nodes__AFormaldef = {
+2001,
+"Collection[AFormaldef]", /* class_name_string */
+7,
 0,
-&resolution_table_literal__LiteralVisitor,
-3,
+NULL,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-250, /* LiteralVisitor */
+632, /* Collection[ANode] */
+-1, /* empty */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+-1, /* empty */
+2001, /* Collection[AFormaldef] */
 },
 };
-const struct types resolution_table_literal__LiteralVisitor = {
-0, /* dummy */
-{
-}
-};
-/* runtime type HashMap[MClass, MClassType] */
-const struct type type_hash_collection__HashMapmodel__MClassmodel__MClassType = {
-251,
-"HashMap[MClass, MClassType]", /* class_name_string */
-2,
+/* runtime type ANodes[ASuperclass] */
+const struct type type_parser_nodes__ANodesparser_nodes__ASuperclass = {
+2499,
+"ANodes[ASuperclass]", /* class_name_string */
+6,
 0,
-&resolution_table_hash_collection__HashMapmodel__MClassmodel__MClassType,
-3,
+&resolution_table_parser_nodes__ANodesparser_nodes__ASuperclass,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-251, /* HashMap[MClass, MClassType] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2499, /* ANodes[ASuperclass] */
+2002, /* Collection[ASuperclass] */
 },
 };
-const struct types resolution_table_hash_collection__HashMapmodel__MClassmodel__MClassType = {
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__ASuperclass = {
 0, /* dummy */
 {
+&type_array__Arrayparser_nodes__ASuperclass, /* Array[ANodes#0]: Array[ASuperclass] */
+&type_parser_nodes__ASuperclass, /* ANodes#0: ASuperclass */
+&type_parser_nodes__ASuperclass, /* Sequence#0: ASuperclass */
+&type_parser_nodes__ASuperclass, /* SimpleCollection#0: ASuperclass */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_hash_collection__HashMapKeysmodel__MClassmodel__MClassType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[MClass, MClassType] */
-&type_hash_collection__HashMapValuesmodel__MClassmodel__MClassType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[MClass, MClassType] */
-&type_array__NativeArraynullable_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[MClass, MClassType]] */
-&type_model__MClass, /* MapRead#0: MClass */
-&type_hash_collection__HashMapIteratormodel__MClassmodel__MClassType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[MClass, MClassType] */
-&type_model__MClass, /* Map#0: MClass */
-&type_model__MClassType, /* Map#1: MClassType */
-&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[MClass, MClassType] */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, MClassType] not a live type) */
-&type_model__MClassType, /* MapRead#1: MClassType */
-&type_model__MClass, /* HashCollection#0: MClass */
-&type_hash_collection__HashMapNodemodel__MClassmodel__MClassType, /* HashCollection#1: HashMapNode[MClass, MClassType] */
-}
-};
-/* runtime type ArrayMap[MClass, AType] */
-const struct type type_array__ArrayMapmodel__MClassparser_nodes__AType = {
-252,
-"ArrayMap[MClass, AType]", /* class_name_string */
-2,
-0,
-&resolution_table_array__ArrayMapmodel__MClassparser_nodes__AType,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-252, /* ArrayMap[MClass, AType] */
-},
-};
-const struct types resolution_table_array__ArrayMapmodel__MClassparser_nodes__AType = {
-0, /* dummy */
-{
-&type_array__ArrayMapKeysmodel__MClassparser_nodes__AType, /* ArrayMapKeys[ArrayMap#0, ArrayMap#1]: ArrayMapKeys[MClass, AType] */
-&type_array__ArrayMapValuesmodel__MClassparser_nodes__AType, /* ArrayMapValues[ArrayMap#0, ArrayMap#1]: ArrayMapValues[MClass, AType] */
-&type_abstract_collection__Couplemodel__MClassparser_nodes__AType, /* Couple[ArrayMap#0, ArrayMap#1]: Couple[MClass, AType] */
-&type_abstract_collection__CoupleMapIteratormodel__MClassparser_nodes__AType, /* CoupleMapIterator[ArrayMap#0, ArrayMap#1]: CoupleMapIterator[MClass, AType] */
-&type_model__MClass, /* CoupleMap#0: MClass */
-&type_model__MClass, /* ArrayMap#0: MClass */
-&type_array__Arrayabstract_collection__Couplemodel__MClassparser_nodes__AType, /* Array[Couple[ArrayMap#0, ArrayMap#1]]: Array[Couple[MClass, AType]] */
-&type_model__MClass, /* MapRead#0: MClass */
-NULL, /* empty */
-&type_model__MClass, /* Map#0: MClass */
-&type_parser_nodes__AType, /* Map#1: AType */
-NULL, /* empty */
-NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, AType] not a live type) */
-&type_parser_nodes__AType, /* MapRead#1: AType */
+&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 */
 }
 };
-/* runtime type ScopeVisitor */
-const struct type type_scope__ScopeVisitor = {
-253,
-"ScopeVisitor", /* class_name_string */
-2,
+/* runtime type Collection[ASuperclass] */
+const struct type type_abstract_collection__Collectionparser_nodes__ASuperclass = {
+2002,
+"Collection[ASuperclass]", /* class_name_string */
+7,
 0,
-&resolution_table_scope__ScopeVisitor,
-3,
+NULL,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-253, /* ScopeVisitor */
+632, /* Collection[ANode] */
+-1, /* empty */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+-1, /* empty */
+2002, /* Collection[ASuperclass] */
 },
 };
-const struct types resolution_table_scope__ScopeVisitor = {
-0, /* dummy */
-{
-}
-};
-/* runtime type Variable */
-const struct type type_scope__Variable = {
-254,
-"Variable", /* class_name_string */
-2,
+/* runtime type MMethod */
+const struct type type_model__MMethod = {
+2293,
+"MMethod", /* class_name_string */
+6,
 0,
-&resolution_table_scope__Variable,
-3,
+&resolution_table_model__MMethod,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-254, /* Variable */
+8, /* nullable MProperty */
+272, /* PropertyLayoutElement */
+273, /* nullable MMethod */
+1809, /* MProperty */
+2293, /* MMethod */
 },
 };
-const struct types resolution_table_scope__Variable = {
+const struct types resolution_table_model__MMethod = {
 0, /* dummy */
 {
+&type_array__Arraymodel__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
+&type_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
 }
 };
-/* runtime type List[Scope] */
-const struct type type_list__Listscope__Scope = {
-1985,
-"List[Scope]", /* class_name_string */
+/* runtime type MProperty */
+const struct type type_model__MProperty = {
+1809,
+"MProperty", /* class_name_string */
 5,
 0,
-&resolution_table_list__Listscope__Scope,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-1469, /* Collection[Scope] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1985, /* List[Scope] */
-},
-};
-const struct types resolution_table_list__Listscope__Scope = {
-0, /* dummy */
-{
-&type_list__Listscope__Scope, /* List[List#0]: List[Scope] */
-&type_list__ListNodescope__Scope, /* ListNode[List#0]: ListNode[Scope] */
-&type_scope__Scope, /* Sequence#0: Scope */
-&type_scope__Scope, /* SimpleCollection#0: Scope */
-&type_list__ListIteratorscope__Scope, /* ListIterator[List#0]: ListIterator[Scope] */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[List#0]: Collection[Scope] */
-&type_scope__Scope, /* List#0: Scope */
-NULL, /* empty */
-&type_scope__Scope, /* RemovableCollection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Sequence#0]: Collection[Scope] */
-&type_array__Arrayscope__Scope, /* Array[Sequence#0]: Array[Scope] */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[SimpleCollection#0]: Collection[Scope] */
-&type_scope__Scope, /* Collection#0: Scope */
-&type_abstract_collection__Collectionscope__Scope, /* Collection[Collection#0]: Collection[Scope] */
-&type_scope__Scope, /* SequenceRead#0: Scope */
-}
-};
-/* runtime type Collection[Scope] */
-const struct type type_abstract_collection__Collectionscope__Scope = {
-1469,
-"Collection[Scope]", /* class_name_string */
-2,
-0,
 NULL,
-5,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-1469, /* Collection[Scope] */
+8, /* nullable MProperty */
+272, /* PropertyLayoutElement */
 -1, /* empty */
-166, /* Collection[Object] */
+1809, /* MProperty */
 },
 };
-/* runtime type FlowVisitor */
-const struct type type_flow__FlowVisitor = {
-255,
-"FlowVisitor", /* class_name_string */
-2,
-0,
-&resolution_table_flow__FlowVisitor,
+/* runtime type PropertyLayoutElement */
+const struct type type_layout_builders__PropertyLayoutElement = {
+272,
+"PropertyLayoutElement", /* class_name_string */
 3,
-{
-0, /* nullable Object */
-1, /* Object */
-255, /* FlowVisitor */
-},
-};
-const struct types resolution_table_flow__FlowVisitor = {
-0, /* dummy */
-{
-}
-};
-/* runtime type Array[FlowContext] */
-const struct type type_array__Arrayflow__FlowContext = {
-2567,
-"Array[FlowContext]", /* class_name_string */
-7,
-0,
-&resolution_table_array__Arrayflow__FlowContext,
-10,
-{
-0, /* nullable Object */
-1, /* Object */
-1470, /* Collection[FlowContext] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2280, /* AbstractArrayRead[FlowContext] */
-1778, /* AbstractArrayRead[Object] */
-2567, /* Array[FlowContext] */
--1, /* empty */
-1962, /* Array[Object] */
-},
-};
-const struct types resolution_table_array__Arrayflow__FlowContext = {
-0, /* dummy */
-{
-&type_array__Arrayflow__FlowContext, /* Array[Array#0]: Array[FlowContext] */
-&type_array__NativeArrayflow__FlowContext, /* NativeArray[Array#0]: NativeArray[FlowContext] */
-&type_flow__FlowContext, /* Sequence#0: FlowContext */
-&type_flow__FlowContext, /* SimpleCollection#0: FlowContext */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Array#0]: Collection[FlowContext] */
-&type_flow__FlowContext, /* Array#0: FlowContext */
-&type_array__NativeArrayflow__FlowContext, /* NativeArray[ArrayCapable#0]: NativeArray[FlowContext] */
-&type_flow__FlowContext, /* AbstractArray#0: FlowContext */
-&type_flow__FlowContext, /* RemovableCollection#0: FlowContext */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Sequence#0]: Collection[FlowContext] */
-&type_array__Arrayflow__FlowContext, /* Array[Sequence#0]: Array[FlowContext] */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[SimpleCollection#0]: Collection[FlowContext] */
-&type_flow__FlowContext, /* Collection#0: FlowContext */
-&type_abstract_collection__Collectionflow__FlowContext, /* Collection[Collection#0]: Collection[FlowContext] */
-&type_flow__FlowContext, /* SequenceRead#0: FlowContext */
-&type_flow__FlowContext, /* AbstractArrayRead#0: FlowContext */
-&type_array__Arrayflow__FlowContext, /* Array[AbstractArrayRead#0]: Array[FlowContext] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[FlowContext] not a live type) */
-&type_array__ArrayIteratorflow__FlowContext, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[FlowContext] */
-}
-};
-/* runtime type Collection[FlowContext] */
-const struct type type_abstract_collection__Collectionflow__FlowContext = {
-1470,
-"Collection[FlowContext]", /* class_name_string */
-2,
 0,
 NULL,
-5,
+4,
 {
 0, /* nullable Object */
 1, /* Object */
-1470, /* Collection[FlowContext] */
 -1, /* empty */
-166, /* Collection[Object] */
-},
-};
-/* runtime type AbstractArrayRead[FlowContext] */
-const struct type type_array__AbstractArrayReadflow__FlowContext = {
-2280,
-"AbstractArrayRead[FlowContext]", /* class_name_string */
-5,
-0,
-NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-1470, /* Collection[FlowContext] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-2280, /* AbstractArrayRead[FlowContext] */
-1778, /* AbstractArrayRead[Object] */
-},
-};
-/* runtime type LocalVarInitVisitor */
-const struct type type_local_var_init__LocalVarInitVisitor = {
-256,
-"LocalVarInitVisitor", /* class_name_string */
-2,
-0,
-&resolution_table_local_var_init__LocalVarInitVisitor,
-3,
-{
-0, /* nullable Object */
-1, /* Object */
-256, /* LocalVarInitVisitor */
+272, /* PropertyLayoutElement */
 },
 };
-const struct types resolution_table_local_var_init__LocalVarInitVisitor = {
-0, /* dummy */
-{
-}
-};
-/* runtime type HashSet[Variable] */
-const struct type type_hash_collection__HashSetscope__Variable = {
-2281,
-"HashSet[Variable]", /* class_name_string */
+/* runtime type nullable MMethod */
+const struct type type_nullable_model__MMethod = {
+273,
+"nullable MMethod", /* class_name_string */
+4,
+1,
+&resolution_table_nullable_model__MMethod,
 5,
-0,
-&resolution_table_hash_collection__HashSetscope__Variable,
-7,
 {
 0, /* nullable Object */
-1, /* Object */
-1471, /* Collection[Variable] */
-599, /* Set[Object] */
-166, /* Collection[Object] */
-2281, /* HashSet[Variable] */
-1790, /* HashSet[Object] */
+-1, /* empty */
+8, /* nullable MProperty */
+-1, /* empty */
+273, /* nullable MMethod */
 },
 };
-const struct types resolution_table_hash_collection__HashSetscope__Variable = {
+const struct types resolution_table_nullable_model__MMethod = {
 0, /* dummy */
 {
-&type_hash_collection__HashSetNodescope__Variable, /* HashSetNode[HashSet#0]: HashSetNode[Variable] */
-&type_hash_collection__HashSetIteratorscope__Variable, /* HashSetIterator[HashSet#0]: HashSetIterator[Variable] */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[HashSet#0]: Collection[Variable] */
-&type_scope__Variable, /* SimpleCollection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Set#0]: Collection[Variable] */
-NULL, /* empty */
-&type_array__NativeArraynullable_hash_collection__HashSetNodescope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashSetNode[Variable]] */
-NULL, /* empty */
-&type_scope__Variable, /* RemovableCollection#0: Variable */
-NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[SimpleCollection#0]: Collection[Variable] */
-&type_scope__Variable, /* Collection#0: Variable */
-&type_abstract_collection__Collectionscope__Variable, /* Collection[Collection#0]: Collection[Variable] */
-&type_scope__Variable, /* HashCollection#0: Variable */
-&type_hash_collection__HashSetNodescope__Variable, /* HashCollection#1: HashSetNode[Variable] */
+&type_array__Arraymodel__MMethodDef, /* Array[MPROPDEF]: Array[MMethodDef] */
+&type_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MMethodDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MMethodDef]] */
 }
 };
-/* runtime type Collection[Variable] */
-const struct type type_abstract_collection__Collectionscope__Variable = {
-1471,
-"Collection[Variable]", /* class_name_string */
+/* runtime type nullable MProperty */
+const struct type type_nullable_model__MProperty = {
+8,
+"nullable MProperty", /* class_name_string */
 2,
-0,
+1,
 NULL,
-5,
+3,
 {
 0, /* nullable Object */
-1, /* Object */
-1471, /* Collection[Variable] */
 -1, /* empty */
-166, /* Collection[Object] */
+8, /* nullable MProperty */
 },
 };
-/* runtime type AutoSuperInitVisitor */
-const struct type type_auto_super_init__AutoSuperInitVisitor = {
-257,
-"AutoSuperInitVisitor", /* class_name_string */
-2,
+/* runtime type MMethodDef */
+const struct type type_model__MMethodDef = {
+2003,
+"MMethodDef", /* class_name_string */
+5,
 0,
-&resolution_table_auto_super_init__AutoSuperInitVisitor,
-3,
+&resolution_table_model__MMethodDef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-257, /* AutoSuperInitVisitor */
+9, /* nullable MPropDef */
+272, /* PropertyLayoutElement */
+1810, /* MPropDef */
+2003, /* MMethodDef */
 },
 };
-const struct types resolution_table_auto_super_init__AutoSuperInitVisitor = {
+const struct types resolution_table_model__MMethodDef = {
 0, /* dummy */
 {
+&type_model__MMethod, /* MPROPERTY: MMethod */
+&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
+&type_model__MMethodDef, /* MPROPDEF: MMethodDef */
 }
 };
-/* runtime type Array[MMethod] */
-const struct type type_array__Arraymodel__MMethod = {
-2702,
-"Array[MMethod]", /* class_name_string */
-17,
-0,
-&resolution_table_array__Arraymodel__MMethod,
-18,
-{
-0, /* nullable Object */
-1, /* Object */
-174, /* Collection[nullable MProperty] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-1778, /* AbstractArrayRead[Object] */
-1785, /* AbstractArrayRead[nullable MProperty] */
-1964, /* Array[nullable MProperty] */
-1962, /* Array[Object] */
-1965, /* Collection[MProperty] */
-2253, /* AbstractArrayRead[PropertyLayoutElement] */
-2262, /* Collection[MMethod] */
-2547, /* Array[PropertyLayoutElement] */
-2618, /* AbstractArrayRead[MProperty] */
-2664, /* AbstractArrayRead[MMethod] */
-2675, /* Array[MProperty] */
-2702, /* Array[MMethod] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MMethod = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MMethod, /* Array[Array#0]: Array[MMethod] */
-&type_array__NativeArraymodel__MMethod, /* NativeArray[Array#0]: NativeArray[MMethod] */
-&type_model__MMethod, /* Sequence#0: MMethod */
-&type_model__MMethod, /* SimpleCollection#0: MMethod */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Array#0]: Collection[MMethod] */
-&type_model__MMethod, /* Array#0: MMethod */
-&type_array__NativeArraymodel__MMethod, /* NativeArray[ArrayCapable#0]: NativeArray[MMethod] */
-&type_model__MMethod, /* AbstractArray#0: MMethod */
-&type_model__MMethod, /* RemovableCollection#0: MMethod */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Sequence#0]: Collection[MMethod] */
-&type_array__Arraymodel__MMethod, /* Array[Sequence#0]: Array[MMethod] */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[SimpleCollection#0]: Collection[MMethod] */
-&type_model__MMethod, /* Collection#0: MMethod */
-&type_abstract_collection__Collectionmodel__MMethod, /* Collection[Collection#0]: Collection[MMethod] */
-&type_model__MMethod, /* SequenceRead#0: MMethod */
-&type_model__MMethod, /* AbstractArrayRead#0: MMethod */
-&type_array__Arraymodel__MMethod, /* Array[AbstractArrayRead#0]: Array[MMethod] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MMethod] not a live type) */
-&type_array__ArrayIteratormodel__MMethod, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MMethod] */
-}
-};
-/* runtime type AbstractArrayRead[MMethod] */
-const struct type type_array__AbstractArrayReadmodel__MMethod = {
-2664,
-"AbstractArrayRead[MMethod]", /* class_name_string */
-15,
+/* runtime type MPropDef */
+const struct type type_model__MPropDef = {
+1810,
+"MPropDef", /* class_name_string */
+4,
 0,
 NULL,
-16,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
-174, /* Collection[nullable MProperty] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-592, /* Collection[PropertyLayoutElement] */
-1778, /* AbstractArrayRead[Object] */
-1785, /* AbstractArrayRead[nullable MProperty] */
--1, /* empty */
--1, /* empty */
-1965, /* Collection[MProperty] */
-2253, /* AbstractArrayRead[PropertyLayoutElement] */
-2262, /* Collection[MMethod] */
--1, /* empty */
-2618, /* AbstractArrayRead[MProperty] */
-2664, /* AbstractArrayRead[MMethod] */
+9, /* nullable MPropDef */
+272, /* PropertyLayoutElement */
+1810, /* MPropDef */
 },
 };
-/* runtime type ASTBuilder */
-const struct type type_astbuilder__ASTBuilder = {
-258,
-"ASTBuilder", /* class_name_string */
+/* runtime type nullable MPropDef */
+const struct type type_nullable_model__MPropDef = {
+9,
+"nullable MPropDef", /* class_name_string */
 2,
-0,
-&resolution_table_astbuilder__ASTBuilder,
+1,
+NULL,
 3,
 {
 0, /* nullable Object */
-1, /* Object */
-258, /* ASTBuilder */
+-1, /* empty */
+9, /* nullable MPropDef */
 },
 };
-const struct types resolution_table_astbuilder__ASTBuilder = {
-0, /* dummy */
-{
-}
-};
-/* runtime type Array[MParameterType] */
-const struct type type_array__Arraymodel__MParameterType = {
-2700,
-"Array[MParameterType]", /* class_name_string */
-14,
+/* runtime type Array[MParameter] */
+const struct type type_array__Arraymodel__MParameter = {
+2574,
+"Array[MParameter]", /* class_name_string */
+7,
 0,
-&resolution_table_array__Arraymodel__MParameterType,
-16,
+&resolution_table_array__Arraymodel__MParameter,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-4, /* nullable Array[nullable MType] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
-1778, /* AbstractArrayRead[Object] */
-1787, /* Collection[MType] */
-1794, /* AbstractArrayRead[nullable MType] */
-1962, /* Array[Object] */
-1986, /* Collection[MParameterType] */
-2266, /* Array[nullable MType] */
-2625, /* AbstractArrayRead[MParameterType] */
-2561, /* AbstractArrayRead[MType] */
-2700, /* Array[MParameterType] */
-2662, /* Array[MType] */
-},
-};
-const struct types resolution_table_array__Arraymodel__MParameterType = {
-0, /* dummy */
-{
-&type_array__Arraymodel__MParameterType, /* Array[Array#0]: Array[MParameterType] */
-&type_array__NativeArraymodel__MParameterType, /* NativeArray[Array#0]: NativeArray[MParameterType] */
-&type_model__MParameterType, /* Sequence#0: MParameterType */
-&type_model__MParameterType, /* SimpleCollection#0: MParameterType */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[Array#0]: Collection[MParameterType] */
-&type_model__MParameterType, /* Array#0: MParameterType */
-&type_array__NativeArraymodel__MParameterType, /* NativeArray[ArrayCapable#0]: NativeArray[MParameterType] */
-&type_model__MParameterType, /* AbstractArray#0: MParameterType */
-&type_model__MParameterType, /* RemovableCollection#0: MParameterType */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[Sequence#0]: Collection[MParameterType] */
-&type_array__Arraymodel__MParameterType, /* Array[Sequence#0]: Array[MParameterType] */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[SimpleCollection#0]: Collection[MParameterType] */
-&type_model__MParameterType, /* Collection#0: MParameterType */
-&type_abstract_collection__Collectionmodel__MParameterType, /* Collection[Collection#0]: Collection[MParameterType] */
-&type_model__MParameterType, /* SequenceRead#0: MParameterType */
-&type_model__MParameterType, /* AbstractArrayRead#0: MParameterType */
-&type_array__Arraymodel__MParameterType, /* Array[AbstractArrayRead#0]: Array[MParameterType] */
-NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MParameterType] not a live type) */
-&type_array__ArrayIteratormodel__MParameterType, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MParameterType] */
-}
-};
-/* runtime type Collection[MParameterType] */
-const struct type type_abstract_collection__Collectionmodel__MParameterType = {
-1986,
-"Collection[MParameterType]", /* class_name_string */
-10,
+1458, /* Collection[MParameter] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2294, /* AbstractArrayRead[MParameter] */
+1782, /* AbstractArrayRead[Object] */
+2574, /* Array[MParameter] */
+-1, /* empty */
+1973, /* Array[Object] */
+},
+};
+const struct types resolution_table_array__Arraymodel__MParameter = {
+0, /* dummy */
+{
+&type_array__Arraymodel__MParameter, /* Array[Array#0]: Array[MParameter] */
+&type_array__NativeArraymodel__MParameter, /* NativeArray[Array#0]: NativeArray[MParameter] */
+&type_model__MParameter, /* Sequence#0: MParameter */
+&type_model__MParameter, /* SimpleCollection#0: MParameter */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Array#0]: Collection[MParameter] */
+&type_model__MParameter, /* Array#0: MParameter */
+&type_array__NativeArraymodel__MParameter, /* NativeArray[ArrayCapable#0]: NativeArray[MParameter] */
+&type_model__MParameter, /* AbstractArray#0: MParameter */
+&type_model__MParameter, /* RemovableCollection#0: MParameter */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Sequence#0]: Collection[MParameter] */
+&type_array__Arraymodel__MParameter, /* Array[Sequence#0]: Array[MParameter] */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[SimpleCollection#0]: Collection[MParameter] */
+&type_model__MParameter, /* Collection#0: MParameter */
+&type_abstract_collection__Collectionmodel__MParameter, /* Collection[Collection#0]: Collection[MParameter] */
+&type_model__MParameter, /* SequenceRead#0: MParameter */
+&type_model__MParameter, /* AbstractArrayRead#0: MParameter */
+&type_array__Arraymodel__MParameter, /* Array[AbstractArrayRead#0]: Array[MParameter] */
+NULL, /* empty (AbstractArray[AbstractArrayRead#0]: AbstractArray[MParameter] not a live type) */
+&type_array__ArrayIteratormodel__MParameter, /* ArrayIterator[AbstractArrayRead#0]: ArrayIterator[MParameter] */
+}
+};
+/* runtime type Collection[MParameter] */
+const struct type type_abstract_collection__Collectionmodel__MParameter = {
+1458,
+"Collection[MParameter]", /* class_name_string */
+2,
 0,
 NULL,
-11,
+5,
 {
 0, /* nullable Object */
 1, /* Object */
+1458, /* Collection[MParameter] */
 -1, /* empty */
--1, /* empty */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
--1, /* empty */
-1787, /* Collection[MType] */
--1, /* empty */
--1, /* empty */
-1986, /* Collection[MParameterType] */
+170, /* Collection[Object] */
 },
 };
-/* runtime type AbstractArrayRead[MParameterType] */
-const struct type type_array__AbstractArrayReadmodel__MParameterType = {
-2625,
-"AbstractArrayRead[MParameterType]", /* class_name_string */
-12,
+/* runtime type AbstractArrayRead[MParameter] */
+const struct type type_array__AbstractArrayReadmodel__MParameter = {
+2294,
+"AbstractArrayRead[MParameter]", /* class_name_string */
+5,
 0,
 NULL,
-14,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
--1, /* empty */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
-1778, /* AbstractArrayRead[Object] */
-1787, /* Collection[MType] */
-1794, /* AbstractArrayRead[nullable MType] */
--1, /* empty */
-1986, /* Collection[MParameterType] */
--1, /* empty */
-2625, /* AbstractArrayRead[MParameterType] */
-2561, /* AbstractArrayRead[MType] */
+1458, /* Collection[MParameter] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2294, /* AbstractArrayRead[MParameter] */
+1782, /* AbstractArrayRead[Object] */
 },
 };
-/* runtime type MParameterType */
-const struct type type_model__MParameterType = {
-1801,
-"MParameterType", /* class_name_string */
+/* runtime type MSignature */
+const struct type type_model__MSignature = {
+1811,
+"MSignature", /* class_name_string */
 4,
 0,
-&resolution_table_model__MParameterType,
+&resolution_table_model__MSignature,
 5,
 {
 0, /* nullable Object */
 1, /* Object */
 2, /* nullable MType */
-596, /* MType */
-1801, /* MParameterType */
+630, /* MType */
+1811, /* MSignature */
 },
 };
-const struct types resolution_table_model__MParameterType = {
+const struct types resolution_table_model__MSignature = {
 0, /* dummy */
 {
 }
 };
-/* runtime type POSet[MClass] */
-const struct type type_poset__POSetmodel__MClass = {
-1987,
-"POSet[MClass]", /* class_name_string */
-3,
+/* runtime type MParameter */
+const struct type type_model__MParameter = {
+274,
+"MParameter", /* class_name_string */
+2,
 0,
-&resolution_table_poset__POSetmodel__MClass,
-6,
+&resolution_table_model__MParameter,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-173, /* Collection[nullable MClass] */
-1987, /* POSet[MClass] */
-166, /* Collection[Object] */
-1783, /* Collection[MClass] */
+274, /* MParameter */
 },
 };
-const struct types resolution_table_poset__POSetmodel__MClass = {
+const struct types resolution_table_model__MParameter = {
 0, /* dummy */
 {
-&type_model__MClass, /* AbstractSorter#0: MClass */
-&type_array__Arraymodel__MClass, /* Array[AbstractSorter#0]: Array[MClass] */
-&type_hash_collection__HashMapmodel__MClassposet__POSetElementmodel__MClass, /* HashMap[POSet#0, POSetElement[POSet#0]]: HashMap[MClass, POSetElement[MClass]] */
-&type_model__MClass, /* POSet#0: MClass */
-&type_poset__POSetElementmodel__MClass, /* POSetElement[POSet#0]: POSetElement[MClass] */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_model__MClass, /* Collection#0: MClass */
-&type_abstract_collection__Collectionmodel__MClass, /* Collection[Collection#0]: Collection[MClass] */
 }
 };
-/* runtime type MClassDefSorter */
-const struct type type_model__MClassDefSorter = {
-259,
-"MClassDefSorter", /* class_name_string */
+/* runtime type Scope */
+const struct type type_scope__Scope = {
+275,
+"Scope", /* class_name_string */
 2,
 0,
-&resolution_table_model__MClassDefSorter,
+&resolution_table_scope__Scope,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-259, /* MClassDefSorter */
+275, /* Scope */
 },
 };
-const struct types resolution_table_model__MClassDefSorter = {
+const struct types resolution_table_scope__Scope = {
 0, /* dummy */
 {
-&type_model__MClassDef, /* AbstractSorter#0: MClassDef */
-&type_array__Arraymodel__MClassDef, /* Array[AbstractSorter#0]: Array[MClassDef] */
 }
 };
-/* runtime type Frame */
-const struct type type_abstract_compiler__Frame = {
-260,
-"Frame", /* class_name_string */
+/* runtime type HashMap[String, Variable] */
+const struct type type_hash_collection__HashMapstring__Stringscope__Variable = {
+276,
+"HashMap[String, Variable]", /* class_name_string */
 2,
 0,
-&resolution_table_abstract_compiler__Frame,
+&resolution_table_hash_collection__HashMapstring__Stringscope__Variable,
 3,
 {
 0, /* nullable Object */
 1, /* Object */
-260, /* Frame */
+276, /* HashMap[String, Variable] */
 },
 };
-const struct types resolution_table_abstract_compiler__Frame = {
+const struct types resolution_table_hash_collection__HashMapstring__Stringscope__Variable = {
+0, /* dummy */
+{
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysstring__Stringscope__Variable, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[String, Variable] */
+&type_hash_collection__HashMapValuesstring__Stringscope__Variable, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[String, Variable] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodestring__Stringscope__Variable, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[String, Variable]] */
+&type_string__String, /* MapRead#0: String */
+&type_hash_collection__HashMapIteratorstring__Stringscope__Variable, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[String, Variable] */
+&type_string__String, /* Map#0: String */
+&type_scope__Variable, /* Map#1: Variable */
+&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[String, Variable] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[String, Variable] not a live type) */
+&type_scope__Variable, /* MapRead#1: Variable */
+&type_string__String, /* HashCollection#0: String */
+&type_hash_collection__HashMapNodestring__Stringscope__Variable, /* HashCollection#1: HashMapNode[String, Variable] */
+}
+};
+/* runtime type FlowContext */
+const struct type type_flow__FlowContext = {
+277,
+"FlowContext", /* class_name_string */
+2,
+0,
+&resolution_table_flow__FlowContext,
+3,
+{
+0, /* nullable Object */
+1, /* Object */
+277, /* FlowContext */
+},
+};
+const struct types resolution_table_flow__FlowContext = {
 0, /* dummy */
 {
-&type_abstract_compiler__AbstractCompilerVisitor, /* VISITOR: AbstractCompilerVisitor */
 }
 };
-/* runtime type ArraySet[MType] */
-const struct type type_array__ArraySetmodel__MType = {
-2471,
-"ArraySet[MType]", /* class_name_string */
-6,
+/* runtime type HashMap[Variable, nullable MType] */
+const struct type type_hash_collection__HashMapscope__Variablenullable_model__MType = {
+278,
+"HashMap[Variable, nullable MType]", /* class_name_string */
+2,
 0,
-&resolution_table_array__ArraySetmodel__MType,
-8,
+&resolution_table_hash_collection__HashMapscope__Variablenullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2259, /* Set[MType] */
-599, /* Set[Object] */
-166, /* Collection[Object] */
-175, /* Collection[nullable MType] */
-2471, /* ArraySet[MType] */
-1787, /* Collection[MType] */
+278, /* HashMap[Variable, nullable MType] */
 },
 };
-const struct types resolution_table_array__ArraySetmodel__MType = {
+const struct types resolution_table_hash_collection__HashMapscope__Variablenullable_model__MType = {
 0, /* dummy */
 {
-&type_array__ArraySetIteratormodel__MType, /* ArraySetIterator[ArraySet#0]: ArraySetIterator[MType] */
-&type_array__Arraymodel__MType, /* Array[ArraySet#0]: Array[MType] */
-NULL, /* empty */
-&type_model__MType, /* SimpleCollection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Set#0]: Collection[MType] */
 NULL, /* empty */
 NULL, /* empty */
 NULL, /* empty */
-&type_model__MType, /* RemovableCollection#0: MType */
 NULL, /* empty */
-NULL, /* empty */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[SimpleCollection#0]: Collection[MType] */
-&type_model__MType, /* Collection#0: MType */
-&type_abstract_collection__Collectionmodel__MType, /* Collection[Collection#0]: Collection[MType] */
+&type_hash_collection__HashMapKeysscope__Variablenullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, nullable MType] */
+&type_hash_collection__HashMapValuesscope__Variablenullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, nullable MType] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, nullable MType]] */
+&type_scope__Variable, /* MapRead#0: Variable */
+&type_hash_collection__HashMapIteratorscope__Variablenullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, nullable MType] */
+&type_scope__Variable, /* Map#0: Variable */
+&type_nullable_model__MType, /* Map#1: nullable MType */
+&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, nullable MType] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, nullable MType] not a live type) */
+&type_nullable_model__MType, /* MapRead#1: nullable MType */
+&type_scope__Variable, /* HashCollection#0: Variable */
+&type_hash_collection__HashMapNodescope__Variablenullable_model__MType, /* HashCollection#1: HashMapNode[Variable, nullable MType] */
 }
 };
-/* runtime type MVirtualType */
-const struct type type_model__MVirtualType = {
-1802,
-"MVirtualType", /* class_name_string */
-4,
+/* runtime type HashMap[Variable, nullable Array[nullable MType]] */
+const struct type type_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType = {
+279,
+"HashMap[Variable, nullable Array[nullable MType]]", /* class_name_string */
+2,
 0,
-&resolution_table_model__MVirtualType,
-5,
+&resolution_table_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType,
+3,
 {
 0, /* nullable Object */
 1, /* Object */
-2, /* nullable MType */
-596, /* MType */
-1802, /* MVirtualType */
+279, /* HashMap[Variable, nullable Array[nullable MType]] */
 },
 };
-const struct types resolution_table_model__MVirtualType = {
+const struct types resolution_table_hash_collection__HashMapscope__Variablenullable_array__Arraynullable_model__MType = {
 0, /* dummy */
 {
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_hash_collection__HashMapKeysscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapKeys[HashMap#0, HashMap#1]: HashMapKeys[Variable, nullable Array[nullable MType]] */
+&type_hash_collection__HashMapValuesscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapValues[HashMap#0, HashMap#1]: HashMapValues[Variable, nullable Array[nullable MType]] */
+&type_array__NativeArraynullable_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* NativeArray[ArrayCapable#0]: NativeArray[nullable HashMapNode[Variable, nullable Array[nullable MType]]] */
+&type_scope__Variable, /* MapRead#0: Variable */
+&type_hash_collection__HashMapIteratorscope__Variablenullable_array__Arraynullable_model__MType, /* HashMapIterator[HashMap#0, HashMap#1]: HashMapIterator[Variable, nullable Array[nullable MType]] */
+&type_scope__Variable, /* Map#0: Variable */
+&type_nullable_array__Arraynullable_model__MType, /* Map#1: nullable Array[nullable MType] */
+&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* HashMapNode[HashMap#0, HashMap#1]: HashMapNode[Variable, nullable Array[nullable MType]] */
+NULL, /* empty (Map[Map#0, Map#1]: Map[Variable, nullable Array[nullable MType]] not a live type) */
+&type_nullable_array__Arraynullable_model__MType, /* MapRead#1: nullable Array[nullable MType] */
+&type_scope__Variable, /* HashCollection#0: Variable */
+&type_hash_collection__HashMapNodescope__Variablenullable_array__Arraynullable_model__MType, /* HashCollection#1: HashMapNode[Variable, nullable Array[nullable MType]] */
 }
 };
-/* runtime type Layout[MType] */
-const struct type type_layout_builders__Layoutmodel__MType = {
-261,
-"Layout[MType]", /* class_name_string */
-2,
+/* runtime type MAttributeDef */
+const struct type type_model__MAttributeDef = {
+2004,
+"MAttributeDef", /* class_name_string */
+5,
 0,
-&resolution_table_layout_builders__Layoutmodel__MType,
-3,
+&resolution_table_model__MAttributeDef,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-261, /* Layout[MType] */
+9, /* nullable MPropDef */
+272, /* PropertyLayoutElement */
+1810, /* MPropDef */
+2004, /* MAttributeDef */
 },
 };
-const struct types resolution_table_layout_builders__Layoutmodel__MType = {
+const struct types resolution_table_model__MAttributeDef = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Layout#0, Int]: Map[MType, Int] */
+&type_model__MAttribute, /* MPROPERTY: MAttribute */
+NULL, /* empty */
+&type_model__MAttributeDef, /* MPROPDEF: MAttributeDef */
 }
 };
-/* runtime type PHLayout[MClassType, MType] */
-const struct type type_layout_builders__PHLayoutmodel__MClassTypemodel__MType = {
-1803,
-"PHLayout[MClassType, MType]", /* class_name_string */
+/* runtime type MAttribute */
+const struct type type_model__MAttribute = {
+2005,
+"MAttribute", /* class_name_string */
 4,
 0,
-&resolution_table_layout_builders__PHLayoutmodel__MClassTypemodel__MType,
-5,
+&resolution_table_model__MAttribute,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-261, /* Layout[MType] */
-1472, /* PHLayout[MType, MType] */
-1803, /* PHLayout[MClassType, MType] */
+8, /* nullable MProperty */
+272, /* PropertyLayoutElement */
+2005, /* MAttribute */
+1809, /* MProperty */
 },
 };
-const struct types resolution_table_layout_builders__PHLayoutmodel__MClassTypemodel__MType = {
+const struct types resolution_table_model__MAttribute = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Layout#0, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MClassTypekernel__Int, /* HashMap[PHLayout#0, Int]: HashMap[MClassType, Int] */
-&type_hash_collection__HashMapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[PHLayout#0, Map[PHLayout#1, Int]]: HashMap[MClassType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MClassTypekernel__Int, /* Map[PHLayout#0, Int]: Map[MClassType, Int] */
-&type_abstract_collection__Mapmodel__MClassTypeabstract_collection__Mapmodel__MTypekernel__Int, /* Map[PHLayout#0, Map[PHLayout#1, Int]]: Map[MClassType, Map[MType, Int]] */
+&type_array__Arraymodel__MAttributeDef, /* Array[MPROPDEF]: Array[MAttributeDef] */
+&type_more_collections__HashMap2mmodule__MModulemodel__MTypearray__Arraymodel__MAttributeDef, /* HashMap2[MModule, MType, Array[MPROPDEF]]: HashMap2[MModule, MType, Array[MAttributeDef]] */
 }
 };
-/* runtime type PHLayout[MType, MType] */
-const struct type type_layout_builders__PHLayoutmodel__MTypemodel__MType = {
-1472,
-"PHLayout[MType, MType]", /* class_name_string */
-3,
+/* runtime type List[Int] */
+const struct type type_list__Listkernel__Int = {
+2006,
+"List[Int]", /* class_name_string */
+5,
 0,
-&resolution_table_layout_builders__PHLayoutmodel__MTypemodel__MType,
-4,
+&resolution_table_list__Listkernel__Int,
+6,
 {
 0, /* nullable Object */
 1, /* Object */
-261, /* Layout[MType] */
-1472, /* PHLayout[MType, MType] */
+653, /* Collection[Int] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+2006, /* List[Int] */
 },
 };
-const struct types resolution_table_layout_builders__PHLayoutmodel__MTypemodel__MType = {
+const struct types resolution_table_list__Listkernel__Int = {
 0, /* dummy */
 {
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[Layout#0, Int]: HashMap[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[Layout#0, Int]: Map[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypekernel__Int, /* HashMap[PHLayout#0, Int]: HashMap[MType, Int] */
-&type_hash_collection__HashMapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* HashMap[PHLayout#0, Map[PHLayout#1, Int]]: HashMap[MType, Map[MType, Int]] */
-&type_abstract_collection__Mapmodel__MTypekernel__Int, /* Map[PHLayout#0, Int]: Map[MType, Int] */
-&type_abstract_collection__Mapmodel__MTypeabstract_collection__Mapmodel__MTypekernel__Int, /* Map[PHLayout#0, Map[PHLayout#1, Int]]: Map[MType, Map[MType, Int]] */
+&type_list__Listkernel__Int, /* List[List#0]: List[Int] */
+&type_list__ListNodekernel__Int, /* ListNode[List#0]: ListNode[Int] */
+&type_kernel__Int, /* Sequence#0: Int */
+&type_kernel__Int, /* SimpleCollection#0: Int */
+&type_list__ListIteratorkernel__Int, /* ListIterator[List#0]: ListIterator[Int] */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[List#0]: Collection[Int] */
+&type_kernel__Int, /* List#0: Int */
+NULL, /* empty */
+&type_kernel__Int, /* RemovableCollection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Sequence#0]: Collection[Int] */
+&type_array__Arraykernel__Int, /* Array[Sequence#0]: Array[Int] */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[SimpleCollection#0]: Collection[Int] */
+&type_kernel__Int, /* Collection#0: Int */
+&type_abstract_collection__Collectionkernel__Int, /* Collection[Collection#0]: Collection[Int] */
+&type_kernel__Int, /* SequenceRead#0: Int */
 }
 };
 /* runtime type AModule */
 const struct type type_parser_nodes__AModule = {
-1804,
+1812,
 "AModule", /* class_name_string */
 2,
 0,
@@ -5288,9 +5340,9 @@ const struct type type_parser_nodes__AModule = {
 {
 0, /* nullable Object */
 1, /* Object */
-1804, /* AModule */
-225, /* ANode */
-624, /* Prod */
+1812, /* AModule */
+254, /* ANode */
+671, /* Prod */
 },
 };
 const struct types resolution_table_parser_nodes__AModule = {
@@ -5300,7 +5352,7 @@ const struct types resolution_table_parser_nodes__AModule = {
 };
 /* runtime type ANodes[AExternCodeBlock] */
 const struct type type_parser_nodes__ANodesparser_nodes__AExternCodeBlock = {
-2472,
+2500,
 "ANodes[AExternCodeBlock]", /* class_name_string */
 6,
 0,
@@ -5309,12 +5361,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AExternCodeBlock = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2472, /* ANodes[AExternCodeBlock] */
-1988, /* Collection[AExternCodeBlock] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2500, /* ANodes[AExternCodeBlock] */
+2007, /* Collection[AExternCodeBlock] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AExternCodeBlock = {
@@ -5339,7 +5391,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AExternCodeBlock] */
 const struct type type_abstract_collection__Collectionparser_nodes__AExternCodeBlock = {
-1988,
+2007,
 "Collection[AExternCodeBlock]", /* class_name_string */
 7,
 0,
@@ -5348,17 +5400,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-1988, /* Collection[AExternCodeBlock] */
+2007, /* Collection[AExternCodeBlock] */
 },
 };
 /* runtime type HashMap[MClass, AClassdef] */
 const struct type type_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef = {
-262,
+280,
 "HashMap[MClass, AClassdef]", /* class_name_string */
 2,
 0,
@@ -5367,7 +5419,7 @@ const struct type type_hash_collection__HashMapmodel__MClassparser_nodes__AClass
 {
 0, /* nullable Object */
 1, /* Object */
-262, /* HashMap[MClass, AClassdef] */
+280, /* HashMap[MClass, AClassdef] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapmodel__MClassparser_nodes__AClassdef = {
@@ -5393,7 +5445,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[MClass, AClassdef] not a live type) */
 };
 /* runtime type ATopClassdef */
 const struct type type_parser_nodes__ATopClassdef = {
-2282,
+2295,
 "ATopClassdef", /* class_name_string */
 6,
 0,
@@ -5402,11 +5454,11 @@ const struct type type_parser_nodes__ATopClassdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-6, /* nullable AClassdef */
-225, /* ANode */
-624, /* Prod */
-1989, /* AClassdef */
-2282, /* ATopClassdef */
+10, /* nullable AClassdef */
+254, /* ANode */
+671, /* Prod */
+2008, /* AClassdef */
+2295, /* ATopClassdef */
 },
 };
 const struct types resolution_table_parser_nodes__ATopClassdef = {
@@ -5416,7 +5468,7 @@ const struct types resolution_table_parser_nodes__ATopClassdef = {
 };
 /* runtime type AClassdef */
 const struct type type_parser_nodes__AClassdef = {
-1989,
+2008,
 "AClassdef", /* class_name_string */
 5,
 0,
@@ -5425,15 +5477,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-6, /* nullable AClassdef */
-225, /* ANode */
-624, /* Prod */
-1989, /* AClassdef */
+10, /* nullable AClassdef */
+254, /* ANode */
+671, /* Prod */
+2008, /* AClassdef */
 },
 };
 /* runtime type nullable AClassdef */
 const struct type type_nullable_parser_nodes__AClassdef = {
-6,
+10,
 "nullable AClassdef", /* class_name_string */
 2,
 1,
@@ -5442,12 +5494,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-6, /* nullable AClassdef */
+10, /* nullable AClassdef */
 },
 };
 /* runtime type HashMap[MProperty, APropdef] */
 const struct type type_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef = {
-263,
+281,
 "HashMap[MProperty, APropdef]", /* class_name_string */
 2,
 0,
@@ -5456,7 +5508,7 @@ const struct type type_hash_collection__HashMapmodel__MPropertyparser_nodes__APr
 {
 0, /* nullable Object */
 1, /* Object */
-263, /* HashMap[MProperty, APropdef] */
+281, /* HashMap[MProperty, APropdef] */
 },
 };
 const struct types resolution_table_hash_collection__HashMapmodel__MPropertyparser_nodes__APropdef = {
@@ -5482,7 +5534,7 @@ NULL, /* empty (Map[Map#0, Map#1]: Map[MProperty, APropdef] not a live type) */
 };
 /* runtime type AModuledecl */
 const struct type type_parser_nodes__AModuledecl = {
-1990,
+2009,
 "AModuledecl", /* class_name_string */
 5,
 0,
@@ -5491,10 +5543,10 @@ const struct type type_parser_nodes__AModuledecl = {
 {
 0, /* nullable Object */
 1, /* Object */
-7, /* nullable AModuledecl */
-225, /* ANode */
-624, /* Prod */
-1990, /* AModuledecl */
+11, /* nullable AModuledecl */
+254, /* ANode */
+671, /* Prod */
+2009, /* AModuledecl */
 },
 };
 const struct types resolution_table_parser_nodes__AModuledecl = {
@@ -5504,7 +5556,7 @@ const struct types resolution_table_parser_nodes__AModuledecl = {
 };
 /* runtime type nullable AModuledecl */
 const struct type type_nullable_parser_nodes__AModuledecl = {
-7,
+11,
 "nullable AModuledecl", /* class_name_string */
 2,
 1,
@@ -5513,7 +5565,7 @@ const struct type type_nullable_parser_nodes__AModuledecl = {
 {
 0, /* nullable Object */
 -1, /* empty */
-7, /* nullable AModuledecl */
+11, /* nullable AModuledecl */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AModuledecl = {
@@ -5523,7 +5575,7 @@ const struct types resolution_table_nullable_parser_nodes__AModuledecl = {
 };
 /* runtime type AStdImport */
 const struct type type_parser_nodes__AStdImport = {
-1991,
+2010,
 "AStdImport", /* class_name_string */
 5,
 0,
@@ -5532,10 +5584,10 @@ const struct type type_parser_nodes__AStdImport = {
 {
 0, /* nullable Object */
 1, /* Object */
-1805, /* AImport */
-225, /* ANode */
-624, /* Prod */
-1991, /* AStdImport */
+1813, /* AImport */
+254, /* ANode */
+671, /* Prod */
+2010, /* AStdImport */
 },
 };
 const struct types resolution_table_parser_nodes__AStdImport = {
@@ -5545,7 +5597,7 @@ const struct types resolution_table_parser_nodes__AStdImport = {
 };
 /* runtime type AImport */
 const struct type type_parser_nodes__AImport = {
-1805,
+1813,
 "AImport", /* class_name_string */
 2,
 0,
@@ -5554,14 +5606,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1805, /* AImport */
-225, /* ANode */
-624, /* Prod */
+1813, /* AImport */
+254, /* ANode */
+671, /* Prod */
 },
 };
 /* runtime type ANoImport */
 const struct type type_parser_nodes__ANoImport = {
-1992,
+2011,
 "ANoImport", /* class_name_string */
 5,
 0,
@@ -5570,10 +5622,10 @@ const struct type type_parser_nodes__ANoImport = {
 {
 0, /* nullable Object */
 1, /* Object */
-1805, /* AImport */
-225, /* ANode */
-624, /* Prod */
-1992, /* ANoImport */
+1813, /* AImport */
+254, /* ANode */
+671, /* Prod */
+2011, /* ANoImport */
 },
 };
 const struct types resolution_table_parser_nodes__ANoImport = {
@@ -5583,7 +5635,7 @@ const struct types resolution_table_parser_nodes__ANoImport = {
 };
 /* runtime type AMainClassdef */
 const struct type type_parser_nodes__AMainClassdef = {
-2283,
+2296,
 "AMainClassdef", /* class_name_string */
 6,
 0,
@@ -5592,11 +5644,11 @@ const struct type type_parser_nodes__AMainClassdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-6, /* nullable AClassdef */
-225, /* ANode */
-624, /* Prod */
-1989, /* AClassdef */
-2283, /* AMainClassdef */
+10, /* nullable AClassdef */
+254, /* ANode */
+671, /* Prod */
+2008, /* AClassdef */
+2296, /* AMainClassdef */
 },
 };
 const struct types resolution_table_parser_nodes__AMainClassdef = {
@@ -5606,21 +5658,22 @@ const struct types resolution_table_parser_nodes__AMainClassdef = {
 };
 /* runtime type AMainMethPropdef */
 const struct type type_parser_nodes__AMainMethPropdef = {
-2473,
+2575,
 "AMainMethPropdef", /* class_name_string */
-7,
+8,
 0,
 &resolution_table_parser_nodes__AMainMethPropdef,
-8,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2284, /* AConcreteMethPropdef */
-2473, /* AMainMethPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2501, /* AConcreteMethPropdef */
+2575, /* AMainMethPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AMainMethPropdef = {
@@ -5631,20 +5684,21 @@ const struct types resolution_table_parser_nodes__AMainMethPropdef = {
 };
 /* runtime type AConcreteMethPropdef */
 const struct type type_parser_nodes__AConcreteMethPropdef = {
-2284,
+2501,
 "AConcreteMethPropdef", /* class_name_string */
-6,
+7,
 0,
 &resolution_table_parser_nodes__AConcreteMethPropdef,
-7,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2284, /* AConcreteMethPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2501, /* AConcreteMethPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AConcreteMethPropdef = {
@@ -5653,9 +5707,27 @@ const struct types resolution_table_parser_nodes__AConcreteMethPropdef = {
 &type_model__MMethodDef, /* MPROPDEF: MMethodDef */
 }
 };
+/* runtime type AMethPropdef */
+const struct type type_parser_nodes__AMethPropdef = {
+2297,
+"AMethPropdef", /* class_name_string */
+6,
+0,
+NULL,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+},
+};
 /* runtime type APropdef */
 const struct type type_parser_nodes__APropdef = {
-1993,
+2012,
 "APropdef", /* class_name_string */
 5,
 0,
@@ -5664,15 +5736,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
 },
 };
 /* runtime type nullable APropdef */
 const struct type type_nullable_parser_nodes__APropdef = {
-8,
+12,
 "nullable APropdef", /* class_name_string */
 2,
 1,
@@ -5681,12 +5753,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-8, /* nullable APropdef */
+12, /* nullable APropdef */
 },
 };
 /* runtime type AStdClassdef */
 const struct type type_parser_nodes__AStdClassdef = {
-2285,
+2298,
 "AStdClassdef", /* class_name_string */
 6,
 0,
@@ -5695,137 +5767,21 @@ const struct type type_parser_nodes__AStdClassdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-6, /* nullable AClassdef */
-225, /* ANode */
-624, /* Prod */
-1989, /* AClassdef */
-2285, /* AStdClassdef */
-},
-};
-const struct types resolution_table_parser_nodes__AStdClassdef = {
-0, /* dummy */
-{
-}
-};
-/* runtime type ANodes[AFormaldef] */
-const struct type type_parser_nodes__ANodesparser_nodes__AFormaldef = {
-2474,
-"ANodes[AFormaldef]", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__ANodesparser_nodes__AFormaldef,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2474, /* ANodes[AFormaldef] */
-1994, /* Collection[AFormaldef] */
-},
-};
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__AFormaldef = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AFormaldef, /* Array[ANodes#0]: Array[AFormaldef] */
-&type_parser_nodes__AFormaldef, /* ANodes#0: AFormaldef */
-&type_parser_nodes__AFormaldef, /* Sequence#0: AFormaldef */
-&type_parser_nodes__AFormaldef, /* SimpleCollection#0: AFormaldef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&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 */
-}
-};
-/* runtime type Collection[AFormaldef] */
-const struct type type_abstract_collection__Collectionparser_nodes__AFormaldef = {
-1994,
-"Collection[AFormaldef]", /* class_name_string */
-7,
-0,
-NULL,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-1994, /* Collection[AFormaldef] */
-},
-};
-/* runtime type ANodes[ASuperclass] */
-const struct type type_parser_nodes__ANodesparser_nodes__ASuperclass = {
-2475,
-"ANodes[ASuperclass]", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__ANodesparser_nodes__ASuperclass,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2475, /* ANodes[ASuperclass] */
-1995, /* Collection[ASuperclass] */
-},
-};
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__ASuperclass = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__ASuperclass, /* Array[ANodes#0]: Array[ASuperclass] */
-&type_parser_nodes__ASuperclass, /* ANodes#0: ASuperclass */
-&type_parser_nodes__ASuperclass, /* Sequence#0: ASuperclass */
-&type_parser_nodes__ASuperclass, /* SimpleCollection#0: ASuperclass */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&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 */
-}
-};
-/* runtime type Collection[ASuperclass] */
-const struct type type_abstract_collection__Collectionparser_nodes__ASuperclass = {
-1995,
-"Collection[ASuperclass]", /* class_name_string */
-7,
-0,
-NULL,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-1995, /* Collection[ASuperclass] */
+10, /* nullable AClassdef */
+254, /* ANode */
+671, /* Prod */
+2008, /* AClassdef */
+2298, /* AStdClassdef */
 },
 };
+const struct types resolution_table_parser_nodes__AStdClassdef = {
+0, /* dummy */
+{
+}
+};
 /* runtime type AAnnotations */
 const struct type type_parser_nodes__AAnnotations = {
-1996,
+2013,
 "AAnnotations", /* class_name_string */
 5,
 0,
@@ -5834,10 +5790,10 @@ const struct type type_parser_nodes__AAnnotations = {
 {
 0, /* nullable Object */
 1, /* Object */
-9, /* nullable AAnnotations */
-225, /* ANode */
-624, /* Prod */
-1996, /* AAnnotations */
+13, /* nullable AAnnotations */
+254, /* ANode */
+671, /* Prod */
+2013, /* AAnnotations */
 },
 };
 const struct types resolution_table_parser_nodes__AAnnotations = {
@@ -5847,7 +5803,7 @@ const struct types resolution_table_parser_nodes__AAnnotations = {
 };
 /* runtime type nullable AAnnotations */
 const struct type type_nullable_parser_nodes__AAnnotations = {
-9,
+13,
 "nullable AAnnotations", /* class_name_string */
 2,
 1,
@@ -5856,7 +5812,7 @@ const struct type type_nullable_parser_nodes__AAnnotations = {
 {
 0, /* nullable Object */
 -1, /* empty */
-9, /* nullable AAnnotations */
+13, /* nullable AAnnotations */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AAnnotations = {
@@ -5866,7 +5822,7 @@ const struct types resolution_table_nullable_parser_nodes__AAnnotations = {
 };
 /* runtime type ANodes[AAnnotation] */
 const struct type type_parser_nodes__ANodesparser_nodes__AAnnotation = {
-2476,
+2502,
 "ANodes[AAnnotation]", /* class_name_string */
 6,
 0,
@@ -5875,12 +5831,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AAnnotation = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2476, /* ANodes[AAnnotation] */
-1997, /* Collection[AAnnotation] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2502, /* ANodes[AAnnotation] */
+2014, /* Collection[AAnnotation] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AAnnotation = {
@@ -5905,7 +5861,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AAnnotation] */
 const struct type type_abstract_collection__Collectionparser_nodes__AAnnotation = {
-1997,
+2014,
 "Collection[AAnnotation]", /* class_name_string */
 7,
 0,
@@ -5914,17 +5870,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-1997, /* Collection[AAnnotation] */
+2014, /* Collection[AAnnotation] */
 },
 };
 /* runtime type AConcreteClasskind */
 const struct type type_parser_nodes__AConcreteClasskind = {
-2286,
+2299,
 "AConcreteClasskind", /* class_name_string */
 6,
 0,
@@ -5933,11 +5889,11 @@ const struct type type_parser_nodes__AConcreteClasskind = {
 {
 0, /* nullable Object */
 1, /* Object */
-10, /* nullable AClasskind */
-225, /* ANode */
-624, /* Prod */
-1998, /* AClasskind */
-2286, /* AConcreteClasskind */
+14, /* nullable AClasskind */
+254, /* ANode */
+671, /* Prod */
+2015, /* AClasskind */
+2299, /* AConcreteClasskind */
 },
 };
 const struct types resolution_table_parser_nodes__AConcreteClasskind = {
@@ -5947,7 +5903,7 @@ const struct types resolution_table_parser_nodes__AConcreteClasskind = {
 };
 /* runtime type AClasskind */
 const struct type type_parser_nodes__AClasskind = {
-1998,
+2015,
 "AClasskind", /* class_name_string */
 5,
 0,
@@ -5956,15 +5912,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-10, /* nullable AClasskind */
-225, /* ANode */
-624, /* Prod */
-1998, /* AClasskind */
+14, /* nullable AClasskind */
+254, /* ANode */
+671, /* Prod */
+2015, /* AClasskind */
 },
 };
 /* runtime type nullable AClasskind */
 const struct type type_nullable_parser_nodes__AClasskind = {
-10,
+14,
 "nullable AClasskind", /* class_name_string */
 2,
 1,
@@ -5973,12 +5929,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-10, /* nullable AClasskind */
+14, /* nullable AClasskind */
 },
 };
 /* runtime type AAbstractClasskind */
 const struct type type_parser_nodes__AAbstractClasskind = {
-2287,
+2300,
 "AAbstractClasskind", /* class_name_string */
 6,
 0,
@@ -5987,11 +5943,11 @@ const struct type type_parser_nodes__AAbstractClasskind = {
 {
 0, /* nullable Object */
 1, /* Object */
-10, /* nullable AClasskind */
-225, /* ANode */
-624, /* Prod */
-1998, /* AClasskind */
-2287, /* AAbstractClasskind */
+14, /* nullable AClasskind */
+254, /* ANode */
+671, /* Prod */
+2015, /* AClasskind */
+2300, /* AAbstractClasskind */
 },
 };
 const struct types resolution_table_parser_nodes__AAbstractClasskind = {
@@ -6001,7 +5957,7 @@ const struct types resolution_table_parser_nodes__AAbstractClasskind = {
 };
 /* runtime type AInterfaceClasskind */
 const struct type type_parser_nodes__AInterfaceClasskind = {
-2288,
+2301,
 "AInterfaceClasskind", /* class_name_string */
 6,
 0,
@@ -6010,11 +5966,11 @@ const struct type type_parser_nodes__AInterfaceClasskind = {
 {
 0, /* nullable Object */
 1, /* Object */
-10, /* nullable AClasskind */
-225, /* ANode */
-624, /* Prod */
-1998, /* AClasskind */
-2288, /* AInterfaceClasskind */
+14, /* nullable AClasskind */
+254, /* ANode */
+671, /* Prod */
+2015, /* AClasskind */
+2301, /* AInterfaceClasskind */
 },
 };
 const struct types resolution_table_parser_nodes__AInterfaceClasskind = {
@@ -6024,7 +5980,7 @@ const struct types resolution_table_parser_nodes__AInterfaceClasskind = {
 };
 /* runtime type AEnumClasskind */
 const struct type type_parser_nodes__AEnumClasskind = {
-2289,
+2302,
 "AEnumClasskind", /* class_name_string */
 6,
 0,
@@ -6033,11 +5989,11 @@ const struct type type_parser_nodes__AEnumClasskind = {
 {
 0, /* nullable Object */
 1, /* Object */
-10, /* nullable AClasskind */
-225, /* ANode */
-624, /* Prod */
-1998, /* AClasskind */
-2289, /* AEnumClasskind */
+14, /* nullable AClasskind */
+254, /* ANode */
+671, /* Prod */
+2015, /* AClasskind */
+2302, /* AEnumClasskind */
 },
 };
 const struct types resolution_table_parser_nodes__AEnumClasskind = {
@@ -6047,7 +6003,7 @@ const struct types resolution_table_parser_nodes__AEnumClasskind = {
 };
 /* runtime type AExternClasskind */
 const struct type type_parser_nodes__AExternClasskind = {
-2290,
+2303,
 "AExternClasskind", /* class_name_string */
 6,
 0,
@@ -6056,11 +6012,11 @@ const struct type type_parser_nodes__AExternClasskind = {
 {
 0, /* nullable Object */
 1, /* Object */
-10, /* nullable AClasskind */
-225, /* ANode */
-624, /* Prod */
-1998, /* AClasskind */
-2290, /* AExternClasskind */
+14, /* nullable AClasskind */
+254, /* ANode */
+671, /* Prod */
+2015, /* AClasskind */
+2303, /* AExternClasskind */
 },
 };
 const struct types resolution_table_parser_nodes__AExternClasskind = {
@@ -6070,7 +6026,7 @@ const struct types resolution_table_parser_nodes__AExternClasskind = {
 };
 /* runtime type AFormaldef */
 const struct type type_parser_nodes__AFormaldef = {
-1806,
+1814,
 "AFormaldef", /* class_name_string */
 2,
 0,
@@ -6079,9 +6035,9 @@ const struct type type_parser_nodes__AFormaldef = {
 {
 0, /* nullable Object */
 1, /* Object */
-1806, /* AFormaldef */
-225, /* ANode */
-624, /* Prod */
+1814, /* AFormaldef */
+254, /* ANode */
+671, /* Prod */
 },
 };
 const struct types resolution_table_parser_nodes__AFormaldef = {
@@ -6091,7 +6047,7 @@ const struct types resolution_table_parser_nodes__AFormaldef = {
 };
 /* runtime type ASuperclass */
 const struct type type_parser_nodes__ASuperclass = {
-1807,
+1815,
 "ASuperclass", /* class_name_string */
 2,
 0,
@@ -6100,9 +6056,9 @@ const struct type type_parser_nodes__ASuperclass = {
 {
 0, /* nullable Object */
 1, /* Object */
-1807, /* ASuperclass */
-225, /* ANode */
-624, /* Prod */
+1815, /* ASuperclass */
+254, /* ANode */
+671, /* Prod */
 },
 };
 const struct types resolution_table_parser_nodes__ASuperclass = {
@@ -6112,20 +6068,21 @@ const struct types resolution_table_parser_nodes__ASuperclass = {
 };
 /* runtime type ADeferredMethPropdef */
 const struct type type_parser_nodes__ADeferredMethPropdef = {
-2291,
+2503,
 "ADeferredMethPropdef", /* class_name_string */
-6,
+7,
 0,
 &resolution_table_parser_nodes__ADeferredMethPropdef,
-7,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2291, /* ADeferredMethPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2503, /* ADeferredMethPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__ADeferredMethPropdef = {
@@ -6136,20 +6093,21 @@ const struct types resolution_table_parser_nodes__ADeferredMethPropdef = {
 };
 /* runtime type AInternMethPropdef */
 const struct type type_parser_nodes__AInternMethPropdef = {
-2292,
+2504,
 "AInternMethPropdef", /* class_name_string */
-6,
+7,
 0,
 &resolution_table_parser_nodes__AInternMethPropdef,
-7,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2292, /* AInternMethPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2504, /* AInternMethPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AInternMethPropdef = {
@@ -6160,20 +6118,21 @@ const struct types resolution_table_parser_nodes__AInternMethPropdef = {
 };
 /* runtime type AExternMethPropdef */
 const struct type type_parser_nodes__AExternMethPropdef = {
-2293,
+2505,
 "AExternMethPropdef", /* class_name_string */
-6,
+7,
 0,
 &resolution_table_parser_nodes__AExternMethPropdef,
-7,
+8,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2293, /* AExternMethPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2505, /* AExternMethPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AExternMethPropdef = {
@@ -6184,7 +6143,7 @@ const struct types resolution_table_parser_nodes__AExternMethPropdef = {
 };
 /* runtime type AAttrPropdef */
 const struct type type_parser_nodes__AAttrPropdef = {
-2294,
+2304,
 "AAttrPropdef", /* class_name_string */
 6,
 0,
@@ -6193,11 +6152,11 @@ const struct type type_parser_nodes__AAttrPropdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2294, /* AAttrPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2304, /* AAttrPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AAttrPropdef = {
@@ -6208,22 +6167,23 @@ const struct types resolution_table_parser_nodes__AAttrPropdef = {
 };
 /* runtime type AConcreteInitPropdef */
 const struct type type_parser_nodes__AConcreteInitPropdef = {
-2568,
+2624,
 "AConcreteInitPropdef", /* class_name_string */
-8,
+9,
 0,
 &resolution_table_parser_nodes__AConcreteInitPropdef,
-9,
+10,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2284, /* AConcreteMethPropdef */
-2295, /* AInitPropdef */
-2568, /* AConcreteInitPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2501, /* AConcreteMethPropdef */
+2506, /* AInitPropdef */
+2624, /* AConcreteInitPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AConcreteInitPropdef = {
@@ -6234,26 +6194,27 @@ const struct types resolution_table_parser_nodes__AConcreteInitPropdef = {
 };
 /* runtime type AInitPropdef */
 const struct type type_parser_nodes__AInitPropdef = {
-2295,
+2506,
 "AInitPropdef", /* class_name_string */
-7,
+8,
 0,
 NULL,
-8,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
 -1, /* empty */
-2295, /* AInitPropdef */
+2506, /* AInitPropdef */
 },
 };
 /* runtime type ATypePropdef */
 const struct type type_parser_nodes__ATypePropdef = {
-2296,
+2305,
 "ATypePropdef", /* class_name_string */
 6,
 0,
@@ -6262,11 +6223,11 @@ const struct type type_parser_nodes__ATypePropdef = {
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2296, /* ATypePropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2305, /* ATypePropdef */
 },
 };
 const struct types resolution_table_parser_nodes__ATypePropdef = {
@@ -6277,21 +6238,22 @@ const struct types resolution_table_parser_nodes__ATypePropdef = {
 };
 /* runtime type AExternInitPropdef */
 const struct type type_parser_nodes__AExternInitPropdef = {
-2477,
+2576,
 "AExternInitPropdef", /* class_name_string */
-6,
+7,
 0,
 &resolution_table_parser_nodes__AExternInitPropdef,
-8,
+9,
 {
 0, /* nullable Object */
 1, /* Object */
-8, /* nullable APropdef */
-225, /* ANode */
-624, /* Prod */
-1993, /* APropdef */
-2477, /* AExternInitPropdef */
-2295, /* AInitPropdef */
+12, /* nullable APropdef */
+254, /* ANode */
+671, /* Prod */
+2012, /* APropdef */
+2297, /* AMethPropdef */
+2576, /* AExternInitPropdef */
+2506, /* AInitPropdef */
 },
 };
 const struct types resolution_table_parser_nodes__AExternInitPropdef = {
@@ -6302,7 +6264,7 @@ const struct types resolution_table_parser_nodes__AExternInitPropdef = {
 };
 /* runtime type AReadAble */
 const struct type type_parser_nodes__AReadAble = {
-2297,
+2306,
 "AReadAble", /* class_name_string */
 6,
 0,
@@ -6311,11 +6273,11 @@ const struct type type_parser_nodes__AReadAble = {
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable AAble */
-225, /* ANode */
-624, /* Prod */
-1999, /* AAble */
-2297, /* AReadAble */
+15, /* nullable AAble */
+254, /* ANode */
+671, /* Prod */
+2016, /* AAble */
+2306, /* AReadAble */
 },
 };
 const struct types resolution_table_parser_nodes__AReadAble = {
@@ -6325,7 +6287,7 @@ const struct types resolution_table_parser_nodes__AReadAble = {
 };
 /* runtime type AAble */
 const struct type type_parser_nodes__AAble = {
-1999,
+2016,
 "AAble", /* class_name_string */
 5,
 0,
@@ -6334,15 +6296,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable AAble */
-225, /* ANode */
-624, /* Prod */
-1999, /* AAble */
+15, /* nullable AAble */
+254, /* ANode */
+671, /* Prod */
+2016, /* AAble */
 },
 };
 /* runtime type nullable AAble */
 const struct type type_nullable_parser_nodes__AAble = {
-11,
+15,
 "nullable AAble", /* class_name_string */
 2,
 1,
@@ -6351,12 +6313,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-11, /* nullable AAble */
+15, /* nullable AAble */
 },
 };
 /* runtime type AWriteAble */
 const struct type type_parser_nodes__AWriteAble = {
-2298,
+2307,
 "AWriteAble", /* class_name_string */
 6,
 0,
@@ -6365,11 +6327,11 @@ const struct type type_parser_nodes__AWriteAble = {
 {
 0, /* nullable Object */
 1, /* Object */
-11, /* nullable AAble */
-225, /* ANode */
-624, /* Prod */
-1999, /* AAble */
-2298, /* AWriteAble */
+15, /* nullable AAble */
+254, /* ANode */
+671, /* Prod */
+2016, /* AAble */
+2307, /* AWriteAble */
 },
 };
 const struct types resolution_table_parser_nodes__AWriteAble = {
@@ -6379,7 +6341,7 @@ const struct types resolution_table_parser_nodes__AWriteAble = {
 };
 /* runtime type APublicVisibility */
 const struct type type_parser_nodes__APublicVisibility = {
-2299,
+2308,
 "APublicVisibility", /* class_name_string */
 6,
 0,
@@ -6388,11 +6350,11 @@ const struct type type_parser_nodes__APublicVisibility = {
 {
 0, /* nullable Object */
 1, /* Object */
-12, /* nullable AVisibility */
-225, /* ANode */
-624, /* Prod */
-2000, /* AVisibility */
-2299, /* APublicVisibility */
+16, /* nullable AVisibility */
+254, /* ANode */
+671, /* Prod */
+2017, /* AVisibility */
+2308, /* APublicVisibility */
 },
 };
 const struct types resolution_table_parser_nodes__APublicVisibility = {
@@ -6402,7 +6364,7 @@ const struct types resolution_table_parser_nodes__APublicVisibility = {
 };
 /* runtime type AVisibility */
 const struct type type_parser_nodes__AVisibility = {
-2000,
+2017,
 "AVisibility", /* class_name_string */
 5,
 0,
@@ -6411,15 +6373,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-12, /* nullable AVisibility */
-225, /* ANode */
-624, /* Prod */
-2000, /* AVisibility */
+16, /* nullable AVisibility */
+254, /* ANode */
+671, /* Prod */
+2017, /* AVisibility */
 },
 };
 /* runtime type nullable AVisibility */
 const struct type type_nullable_parser_nodes__AVisibility = {
-12,
+16,
 "nullable AVisibility", /* class_name_string */
 2,
 1,
@@ -6428,12 +6390,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-12, /* nullable AVisibility */
+16, /* nullable AVisibility */
 },
 };
 /* runtime type APrivateVisibility */
 const struct type type_parser_nodes__APrivateVisibility = {
-2300,
+2309,
 "APrivateVisibility", /* class_name_string */
 6,
 0,
@@ -6442,11 +6404,11 @@ const struct type type_parser_nodes__APrivateVisibility = {
 {
 0, /* nullable Object */
 1, /* Object */
-12, /* nullable AVisibility */
-225, /* ANode */
-624, /* Prod */
-2000, /* AVisibility */
-2300, /* APrivateVisibility */
+16, /* nullable AVisibility */
+254, /* ANode */
+671, /* Prod */
+2017, /* AVisibility */
+2309, /* APrivateVisibility */
 },
 };
 const struct types resolution_table_parser_nodes__APrivateVisibility = {
@@ -6456,7 +6418,7 @@ const struct types resolution_table_parser_nodes__APrivateVisibility = {
 };
 /* runtime type AProtectedVisibility */
 const struct type type_parser_nodes__AProtectedVisibility = {
-2301,
+2310,
 "AProtectedVisibility", /* class_name_string */
 6,
 0,
@@ -6465,11 +6427,11 @@ const struct type type_parser_nodes__AProtectedVisibility = {
 {
 0, /* nullable Object */
 1, /* Object */
-12, /* nullable AVisibility */
-225, /* ANode */
-624, /* Prod */
-2000, /* AVisibility */
-2301, /* AProtectedVisibility */
+16, /* nullable AVisibility */
+254, /* ANode */
+671, /* Prod */
+2017, /* AVisibility */
+2310, /* AProtectedVisibility */
 },
 };
 const struct types resolution_table_parser_nodes__AProtectedVisibility = {
@@ -6479,7 +6441,7 @@ const struct types resolution_table_parser_nodes__AProtectedVisibility = {
 };
 /* runtime type AIntrudeVisibility */
 const struct type type_parser_nodes__AIntrudeVisibility = {
-2302,
+2311,
 "AIntrudeVisibility", /* class_name_string */
 6,
 0,
@@ -6488,11 +6450,11 @@ const struct type type_parser_nodes__AIntrudeVisibility = {
 {
 0, /* nullable Object */
 1, /* Object */
-12, /* nullable AVisibility */
-225, /* ANode */
-624, /* Prod */
-2000, /* AVisibility */
-2302, /* AIntrudeVisibility */
+16, /* nullable AVisibility */
+254, /* ANode */
+671, /* Prod */
+2017, /* AVisibility */
+2311, /* AIntrudeVisibility */
 },
 };
 const struct types resolution_table_parser_nodes__AIntrudeVisibility = {
@@ -6502,7 +6464,7 @@ const struct types resolution_table_parser_nodes__AIntrudeVisibility = {
 };
 /* runtime type AIdMethid */
 const struct type type_parser_nodes__AIdMethid = {
-2303,
+2312,
 "AIdMethid", /* class_name_string */
 6,
 0,
@@ -6511,11 +6473,11 @@ const struct type type_parser_nodes__AIdMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2303, /* AIdMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2312, /* AIdMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AIdMethid = {
@@ -6525,7 +6487,7 @@ const struct types resolution_table_parser_nodes__AIdMethid = {
 };
 /* runtime type AMethid */
 const struct type type_parser_nodes__AMethid = {
-2001,
+2018,
 "AMethid", /* class_name_string */
 5,
 0,
@@ -6534,15 +6496,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
 },
 };
 /* runtime type nullable AMethid */
 const struct type type_nullable_parser_nodes__AMethid = {
-13,
+17,
 "nullable AMethid", /* class_name_string */
 2,
 1,
@@ -6551,12 +6513,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-13, /* nullable AMethid */
+17, /* nullable AMethid */
 },
 };
 /* runtime type APlusMethid */
 const struct type type_parser_nodes__APlusMethid = {
-2304,
+2313,
 "APlusMethid", /* class_name_string */
 6,
 0,
@@ -6565,11 +6527,11 @@ const struct type type_parser_nodes__APlusMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2304, /* APlusMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2313, /* APlusMethid */
 },
 };
 const struct types resolution_table_parser_nodes__APlusMethid = {
@@ -6579,7 +6541,7 @@ const struct types resolution_table_parser_nodes__APlusMethid = {
 };
 /* runtime type AMinusMethid */
 const struct type type_parser_nodes__AMinusMethid = {
-2305,
+2314,
 "AMinusMethid", /* class_name_string */
 6,
 0,
@@ -6588,11 +6550,11 @@ const struct type type_parser_nodes__AMinusMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2305, /* AMinusMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2314, /* AMinusMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AMinusMethid = {
@@ -6602,7 +6564,7 @@ const struct types resolution_table_parser_nodes__AMinusMethid = {
 };
 /* runtime type AStarMethid */
 const struct type type_parser_nodes__AStarMethid = {
-2306,
+2315,
 "AStarMethid", /* class_name_string */
 6,
 0,
@@ -6611,11 +6573,11 @@ const struct type type_parser_nodes__AStarMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2306, /* AStarMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2315, /* AStarMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AStarMethid = {
@@ -6625,7 +6587,7 @@ const struct types resolution_table_parser_nodes__AStarMethid = {
 };
 /* runtime type ASlashMethid */
 const struct type type_parser_nodes__ASlashMethid = {
-2307,
+2316,
 "ASlashMethid", /* class_name_string */
 6,
 0,
@@ -6634,11 +6596,11 @@ const struct type type_parser_nodes__ASlashMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2307, /* ASlashMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2316, /* ASlashMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ASlashMethid = {
@@ -6648,7 +6610,7 @@ const struct types resolution_table_parser_nodes__ASlashMethid = {
 };
 /* runtime type APercentMethid */
 const struct type type_parser_nodes__APercentMethid = {
-2308,
+2317,
 "APercentMethid", /* class_name_string */
 6,
 0,
@@ -6657,11 +6619,11 @@ const struct type type_parser_nodes__APercentMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2308, /* APercentMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2317, /* APercentMethid */
 },
 };
 const struct types resolution_table_parser_nodes__APercentMethid = {
@@ -6671,7 +6633,7 @@ const struct types resolution_table_parser_nodes__APercentMethid = {
 };
 /* runtime type AEqMethid */
 const struct type type_parser_nodes__AEqMethid = {
-2309,
+2318,
 "AEqMethid", /* class_name_string */
 6,
 0,
@@ -6680,11 +6642,11 @@ const struct type type_parser_nodes__AEqMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2309, /* AEqMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2318, /* AEqMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AEqMethid = {
@@ -6694,7 +6656,7 @@ const struct types resolution_table_parser_nodes__AEqMethid = {
 };
 /* runtime type ANeMethid */
 const struct type type_parser_nodes__ANeMethid = {
-2310,
+2319,
 "ANeMethid", /* class_name_string */
 6,
 0,
@@ -6703,11 +6665,11 @@ const struct type type_parser_nodes__ANeMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2310, /* ANeMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2319, /* ANeMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ANeMethid = {
@@ -6717,7 +6679,7 @@ const struct types resolution_table_parser_nodes__ANeMethid = {
 };
 /* runtime type ALeMethid */
 const struct type type_parser_nodes__ALeMethid = {
-2311,
+2320,
 "ALeMethid", /* class_name_string */
 6,
 0,
@@ -6726,11 +6688,11 @@ const struct type type_parser_nodes__ALeMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2311, /* ALeMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2320, /* ALeMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ALeMethid = {
@@ -6740,7 +6702,7 @@ const struct types resolution_table_parser_nodes__ALeMethid = {
 };
 /* runtime type AGeMethid */
 const struct type type_parser_nodes__AGeMethid = {
-2312,
+2321,
 "AGeMethid", /* class_name_string */
 6,
 0,
@@ -6749,11 +6711,11 @@ const struct type type_parser_nodes__AGeMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2312, /* AGeMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2321, /* AGeMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AGeMethid = {
@@ -6763,7 +6725,7 @@ const struct types resolution_table_parser_nodes__AGeMethid = {
 };
 /* runtime type ALtMethid */
 const struct type type_parser_nodes__ALtMethid = {
-2313,
+2322,
 "ALtMethid", /* class_name_string */
 6,
 0,
@@ -6772,11 +6734,11 @@ const struct type type_parser_nodes__ALtMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2313, /* ALtMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2322, /* ALtMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ALtMethid = {
@@ -6786,7 +6748,7 @@ const struct types resolution_table_parser_nodes__ALtMethid = {
 };
 /* runtime type AGtMethid */
 const struct type type_parser_nodes__AGtMethid = {
-2314,
+2323,
 "AGtMethid", /* class_name_string */
 6,
 0,
@@ -6795,11 +6757,11 @@ const struct type type_parser_nodes__AGtMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2314, /* AGtMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2323, /* AGtMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AGtMethid = {
@@ -6809,7 +6771,7 @@ const struct types resolution_table_parser_nodes__AGtMethid = {
 };
 /* runtime type ALlMethid */
 const struct type type_parser_nodes__ALlMethid = {
-2315,
+2324,
 "ALlMethid", /* class_name_string */
 6,
 0,
@@ -6818,11 +6780,11 @@ const struct type type_parser_nodes__ALlMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2315, /* ALlMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2324, /* ALlMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ALlMethid = {
@@ -6832,7 +6794,7 @@ const struct types resolution_table_parser_nodes__ALlMethid = {
 };
 /* runtime type AGgMethid */
 const struct type type_parser_nodes__AGgMethid = {
-2316,
+2325,
 "AGgMethid", /* class_name_string */
 6,
 0,
@@ -6841,11 +6803,11 @@ const struct type type_parser_nodes__AGgMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2316, /* AGgMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2325, /* AGgMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AGgMethid = {
@@ -6855,7 +6817,7 @@ const struct types resolution_table_parser_nodes__AGgMethid = {
 };
 /* runtime type ABraMethid */
 const struct type type_parser_nodes__ABraMethid = {
-2317,
+2326,
 "ABraMethid", /* class_name_string */
 6,
 0,
@@ -6864,11 +6826,11 @@ const struct type type_parser_nodes__ABraMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2317, /* ABraMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2326, /* ABraMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ABraMethid = {
@@ -6878,7 +6840,7 @@ const struct types resolution_table_parser_nodes__ABraMethid = {
 };
 /* runtime type AStarshipMethid */
 const struct type type_parser_nodes__AStarshipMethid = {
-2318,
+2327,
 "AStarshipMethid", /* class_name_string */
 6,
 0,
@@ -6887,11 +6849,11 @@ const struct type type_parser_nodes__AStarshipMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2318, /* AStarshipMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2327, /* AStarshipMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AStarshipMethid = {
@@ -6901,7 +6863,7 @@ const struct types resolution_table_parser_nodes__AStarshipMethid = {
 };
 /* runtime type AAssignMethid */
 const struct type type_parser_nodes__AAssignMethid = {
-2319,
+2328,
 "AAssignMethid", /* class_name_string */
 6,
 0,
@@ -6910,11 +6872,11 @@ const struct type type_parser_nodes__AAssignMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2319, /* AAssignMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2328, /* AAssignMethid */
 },
 };
 const struct types resolution_table_parser_nodes__AAssignMethid = {
@@ -6924,7 +6886,7 @@ const struct types resolution_table_parser_nodes__AAssignMethid = {
 };
 /* runtime type ABraassignMethid */
 const struct type type_parser_nodes__ABraassignMethid = {
-2320,
+2329,
 "ABraassignMethid", /* class_name_string */
 6,
 0,
@@ -6933,11 +6895,11 @@ const struct type type_parser_nodes__ABraassignMethid = {
 {
 0, /* nullable Object */
 1, /* Object */
-13, /* nullable AMethid */
-225, /* ANode */
-624, /* Prod */
-2001, /* AMethid */
-2320, /* ABraassignMethid */
+17, /* nullable AMethid */
+254, /* ANode */
+671, /* Prod */
+2018, /* AMethid */
+2329, /* ABraassignMethid */
 },
 };
 const struct types resolution_table_parser_nodes__ABraassignMethid = {
@@ -6947,7 +6909,7 @@ const struct types resolution_table_parser_nodes__ABraassignMethid = {
 };
 /* runtime type ASignature */
 const struct type type_parser_nodes__ASignature = {
-2002,
+2019,
 "ASignature", /* class_name_string */
 5,
 0,
@@ -6956,10 +6918,10 @@ const struct type type_parser_nodes__ASignature = {
 {
 0, /* nullable Object */
 1, /* Object */
-14, /* nullable ASignature */
-225, /* ANode */
-624, /* Prod */
-2002, /* ASignature */
+18, /* nullable ASignature */
+254, /* ANode */
+671, /* Prod */
+2019, /* ASignature */
 },
 };
 const struct types resolution_table_parser_nodes__ASignature = {
@@ -6969,7 +6931,7 @@ const struct types resolution_table_parser_nodes__ASignature = {
 };
 /* runtime type nullable ASignature */
 const struct type type_nullable_parser_nodes__ASignature = {
-14,
+18,
 "nullable ASignature", /* class_name_string */
 2,
 1,
@@ -6978,7 +6940,7 @@ const struct type type_nullable_parser_nodes__ASignature = {
 {
 0, /* nullable Object */
 -1, /* empty */
-14, /* nullable ASignature */
+18, /* nullable ASignature */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__ASignature = {
@@ -6988,7 +6950,7 @@ const struct types resolution_table_nullable_parser_nodes__ASignature = {
 };
 /* runtime type ANodes[AParam] */
 const struct type type_parser_nodes__ANodesparser_nodes__AParam = {
-2478,
+2507,
 "ANodes[AParam]", /* class_name_string */
 6,
 0,
@@ -6997,12 +6959,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AParam = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2478, /* ANodes[AParam] */
-2003, /* Collection[AParam] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2507, /* ANodes[AParam] */
+2020, /* Collection[AParam] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AParam = {
@@ -7027,7 +6989,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AParam] */
 const struct type type_abstract_collection__Collectionparser_nodes__AParam = {
-2003,
+2020,
 "Collection[AParam]", /* class_name_string */
 7,
 0,
@@ -7036,75 +6998,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-2003, /* Collection[AParam] */
-},
-};
-/* runtime type ANodes[AClosureDecl] */
-const struct type type_parser_nodes__ANodesparser_nodes__AClosureDecl = {
-2479,
-"ANodes[AClosureDecl]", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__ANodesparser_nodes__AClosureDecl,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2479, /* ANodes[AClosureDecl] */
-2004, /* Collection[AClosureDecl] */
-},
-};
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__AClosureDecl = {
-0, /* dummy */
-{
-&type_array__Arrayparser_nodes__AClosureDecl, /* Array[ANodes#0]: Array[AClosureDecl] */
-&type_parser_nodes__AClosureDecl, /* ANodes#0: AClosureDecl */
-&type_parser_nodes__AClosureDecl, /* Sequence#0: AClosureDecl */
-&type_parser_nodes__AClosureDecl, /* SimpleCollection#0: AClosureDecl */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AClosureDecl, /* RemovableCollection#0: AClosureDecl */
-&type_abstract_collection__Collectionparser_nodes__AClosureDecl, /* Collection[Sequence#0]: Collection[AClosureDecl] */
-&type_array__Arrayparser_nodes__AClosureDecl, /* Array[Sequence#0]: Array[AClosureDecl] */
-&type_abstract_collection__Collectionparser_nodes__AClosureDecl, /* Collection[SimpleCollection#0]: Collection[AClosureDecl] */
-&type_parser_nodes__AClosureDecl, /* Collection#0: AClosureDecl */
-&type_abstract_collection__Collectionparser_nodes__AClosureDecl, /* Collection[Collection#0]: Collection[AClosureDecl] */
-&type_parser_nodes__AClosureDecl, /* SequenceRead#0: AClosureDecl */
-}
-};
-/* runtime type Collection[AClosureDecl] */
-const struct type type_abstract_collection__Collectionparser_nodes__AClosureDecl = {
-2004,
-"Collection[AClosureDecl]", /* class_name_string */
-7,
-0,
-NULL,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-2004, /* Collection[AClosureDecl] */
+2020, /* Collection[AParam] */
 },
 };
 /* runtime type AParam */
 const struct type type_parser_nodes__AParam = {
-1808,
+1816,
 "AParam", /* class_name_string */
 2,
 0,
@@ -7113,9 +7017,9 @@ const struct type type_parser_nodes__AParam = {
 {
 0, /* nullable Object */
 1, /* Object */
-1808, /* AParam */
-225, /* ANode */
-624, /* Prod */
+1816, /* AParam */
+254, /* ANode */
+671, /* Prod */
 },
 };
 const struct types resolution_table_parser_nodes__AParam = {
@@ -7123,30 +7027,9 @@ const struct types resolution_table_parser_nodes__AParam = {
 {
 }
 };
-/* runtime type AClosureDecl */
-const struct type type_parser_nodes__AClosureDecl = {
-1809,
-"AClosureDecl", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__AClosureDecl,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1809, /* AClosureDecl */
-225, /* ANode */
-624, /* Prod */
-},
-};
-const struct types resolution_table_parser_nodes__AClosureDecl = {
-0, /* dummy */
-{
-}
-};
 /* runtime type AReturnExpr */
 const struct type type_parser_nodes__AReturnExpr = {
-2321,
+2330,
 "AReturnExpr", /* class_name_string */
 6,
 0,
@@ -7155,11 +7038,11 @@ const struct type type_parser_nodes__AReturnExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2321, /* AReturnExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2330, /* AReturnExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AReturnExpr = {
@@ -7169,7 +7052,7 @@ const struct types resolution_table_parser_nodes__AReturnExpr = {
 };
 /* runtime type AExpr */
 const struct type type_parser_nodes__AExpr = {
-2005,
+2021,
 "AExpr", /* class_name_string */
 5,
 0,
@@ -7178,15 +7061,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
 },
 };
 /* runtime type nullable AExpr */
 const struct type type_nullable_parser_nodes__AExpr = {
-15,
+19,
 "nullable AExpr", /* class_name_string */
 2,
 1,
@@ -7195,12 +7078,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-15, /* nullable AExpr */
+19, /* nullable AExpr */
 },
 };
 /* runtime type AExternCalls */
 const struct type type_parser_nodes__AExternCalls = {
-2006,
+2022,
 "AExternCalls", /* class_name_string */
 5,
 0,
@@ -7209,10 +7092,10 @@ const struct type type_parser_nodes__AExternCalls = {
 {
 0, /* nullable Object */
 1, /* Object */
-16, /* nullable AExternCalls */
-225, /* ANode */
-624, /* Prod */
-2006, /* AExternCalls */
+20, /* nullable AExternCalls */
+254, /* ANode */
+671, /* Prod */
+2022, /* AExternCalls */
 },
 };
 const struct types resolution_table_parser_nodes__AExternCalls = {
@@ -7222,7 +7105,7 @@ const struct types resolution_table_parser_nodes__AExternCalls = {
 };
 /* runtime type nullable AExternCalls */
 const struct type type_nullable_parser_nodes__AExternCalls = {
-16,
+20,
 "nullable AExternCalls", /* class_name_string */
 2,
 1,
@@ -7231,7 +7114,7 @@ const struct type type_nullable_parser_nodes__AExternCalls = {
 {
 0, /* nullable Object */
 -1, /* empty */
-16, /* nullable AExternCalls */
+20, /* nullable AExternCalls */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AExternCalls = {
@@ -7241,7 +7124,7 @@ const struct types resolution_table_nullable_parser_nodes__AExternCalls = {
 };
 /* runtime type ANodes[AExternCall] */
 const struct type type_parser_nodes__ANodesparser_nodes__AExternCall = {
-2480,
+2508,
 "ANodes[AExternCall]", /* class_name_string */
 6,
 0,
@@ -7250,12 +7133,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2480, /* ANodes[AExternCall] */
-2007, /* Collection[AExternCall] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2508, /* ANodes[AExternCall] */
+2023, /* Collection[AExternCall] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AExternCall = {
@@ -7280,7 +7163,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AExternCall] */
 const struct type type_abstract_collection__Collectionparser_nodes__AExternCall = {
-2007,
+2023,
 "Collection[AExternCall]", /* class_name_string */
 7,
 0,
@@ -7289,17 +7172,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-2007, /* Collection[AExternCall] */
+2023, /* Collection[AExternCall] */
 },
 };
 /* runtime type ASuperExternCall */
 const struct type type_parser_nodes__ASuperExternCall = {
-2322,
+2331,
 "ASuperExternCall", /* class_name_string */
 6,
 0,
@@ -7308,11 +7191,11 @@ const struct type type_parser_nodes__ASuperExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2322, /* ASuperExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2331, /* ASuperExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__ASuperExternCall = {
@@ -7322,7 +7205,7 @@ const struct types resolution_table_parser_nodes__ASuperExternCall = {
 };
 /* runtime type AExternCall */
 const struct type type_parser_nodes__AExternCall = {
-2008,
+2024,
 "AExternCall", /* class_name_string */
 5,
 0,
@@ -7331,15 +7214,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
 },
 };
 /* runtime type nullable AExternCall */
 const struct type type_nullable_parser_nodes__AExternCall = {
-17,
+21,
 "nullable AExternCall", /* class_name_string */
 2,
 1,
@@ -7348,12 +7231,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-17, /* nullable AExternCall */
+21, /* nullable AExternCall */
 },
 };
 /* runtime type ALocalPropExternCall */
 const struct type type_parser_nodes__ALocalPropExternCall = {
-2323,
+2332,
 "ALocalPropExternCall", /* class_name_string */
 6,
 0,
@@ -7362,11 +7245,11 @@ const struct type type_parser_nodes__ALocalPropExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2323, /* ALocalPropExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2332, /* ALocalPropExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__ALocalPropExternCall = {
@@ -7376,7 +7259,7 @@ const struct types resolution_table_parser_nodes__ALocalPropExternCall = {
 };
 /* runtime type AFullPropExternCall */
 const struct type type_parser_nodes__AFullPropExternCall = {
-2324,
+2333,
 "AFullPropExternCall", /* class_name_string */
 6,
 0,
@@ -7385,11 +7268,11 @@ const struct type type_parser_nodes__AFullPropExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2324, /* AFullPropExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2333, /* AFullPropExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__AFullPropExternCall = {
@@ -7399,7 +7282,7 @@ const struct types resolution_table_parser_nodes__AFullPropExternCall = {
 };
 /* runtime type AInitPropExternCall */
 const struct type type_parser_nodes__AInitPropExternCall = {
-2325,
+2334,
 "AInitPropExternCall", /* class_name_string */
 6,
 0,
@@ -7408,11 +7291,11 @@ const struct type type_parser_nodes__AInitPropExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2325, /* AInitPropExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2334, /* AInitPropExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__AInitPropExternCall = {
@@ -7422,7 +7305,7 @@ const struct types resolution_table_parser_nodes__AInitPropExternCall = {
 };
 /* runtime type ACastAsExternCall */
 const struct type type_parser_nodes__ACastAsExternCall = {
-2326,
+2335,
 "ACastAsExternCall", /* class_name_string */
 6,
 0,
@@ -7431,11 +7314,11 @@ const struct type type_parser_nodes__ACastAsExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2326, /* ACastAsExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2335, /* ACastAsExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__ACastAsExternCall = {
@@ -7445,7 +7328,7 @@ const struct types resolution_table_parser_nodes__ACastAsExternCall = {
 };
 /* runtime type AAsNullableExternCall */
 const struct type type_parser_nodes__AAsNullableExternCall = {
-2327,
+2336,
 "AAsNullableExternCall", /* class_name_string */
 6,
 0,
@@ -7454,11 +7337,11 @@ const struct type type_parser_nodes__AAsNullableExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2327, /* AAsNullableExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2336, /* AAsNullableExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__AAsNullableExternCall = {
@@ -7468,7 +7351,7 @@ const struct types resolution_table_parser_nodes__AAsNullableExternCall = {
 };
 /* runtime type AAsNotNullableExternCall */
 const struct type type_parser_nodes__AAsNotNullableExternCall = {
-2328,
+2337,
 "AAsNotNullableExternCall", /* class_name_string */
 6,
 0,
@@ -7477,11 +7360,11 @@ const struct type type_parser_nodes__AAsNotNullableExternCall = {
 {
 0, /* nullable Object */
 1, /* Object */
-17, /* nullable AExternCall */
-225, /* ANode */
-624, /* Prod */
-2008, /* AExternCall */
-2328, /* AAsNotNullableExternCall */
+21, /* nullable AExternCall */
+254, /* ANode */
+671, /* Prod */
+2024, /* AExternCall */
+2337, /* AAsNotNullableExternCall */
 },
 };
 const struct types resolution_table_parser_nodes__AAsNotNullableExternCall = {
@@ -7491,7 +7374,7 @@ const struct types resolution_table_parser_nodes__AAsNotNullableExternCall = {
 };
 /* runtime type AInLanguage */
 const struct type type_parser_nodes__AInLanguage = {
-2009,
+2025,
 "AInLanguage", /* class_name_string */
 5,
 0,
@@ -7500,10 +7383,10 @@ const struct type type_parser_nodes__AInLanguage = {
 {
 0, /* nullable Object */
 1, /* Object */
-18, /* nullable AInLanguage */
-225, /* ANode */
-624, /* Prod */
-2009, /* AInLanguage */
+22, /* nullable AInLanguage */
+254, /* ANode */
+671, /* Prod */
+2025, /* AInLanguage */
 },
 };
 const struct types resolution_table_parser_nodes__AInLanguage = {
@@ -7513,7 +7396,7 @@ const struct types resolution_table_parser_nodes__AInLanguage = {
 };
 /* runtime type nullable AInLanguage */
 const struct type type_nullable_parser_nodes__AInLanguage = {
-18,
+22,
 "nullable AInLanguage", /* class_name_string */
 2,
 1,
@@ -7522,7 +7405,7 @@ const struct type type_nullable_parser_nodes__AInLanguage = {
 {
 0, /* nullable Object */
 -1, /* empty */
-18, /* nullable AInLanguage */
+22, /* nullable AInLanguage */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AInLanguage = {
@@ -7532,7 +7415,7 @@ const struct types resolution_table_nullable_parser_nodes__AInLanguage = {
 };
 /* runtime type AExternCodeBlock */
 const struct type type_parser_nodes__AExternCodeBlock = {
-2010,
+2026,
 "AExternCodeBlock", /* class_name_string */
 5,
 0,
@@ -7541,10 +7424,10 @@ const struct type type_parser_nodes__AExternCodeBlock = {
 {
 0, /* nullable Object */
 1, /* Object */
-19, /* nullable AExternCodeBlock */
-225, /* ANode */
-624, /* Prod */
-2010, /* AExternCodeBlock */
+23, /* nullable AExternCodeBlock */
+254, /* ANode */
+671, /* Prod */
+2026, /* AExternCodeBlock */
 },
 };
 const struct types resolution_table_parser_nodes__AExternCodeBlock = {
@@ -7554,7 +7437,7 @@ const struct types resolution_table_parser_nodes__AExternCodeBlock = {
 };
 /* runtime type nullable AExternCodeBlock */
 const struct type type_nullable_parser_nodes__AExternCodeBlock = {
-19,
+23,
 "nullable AExternCodeBlock", /* class_name_string */
 2,
 1,
@@ -7563,7 +7446,7 @@ const struct type type_nullable_parser_nodes__AExternCodeBlock = {
 {
 0, /* nullable Object */
 -1, /* empty */
-19, /* nullable AExternCodeBlock */
+23, /* nullable AExternCodeBlock */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AExternCodeBlock = {
@@ -7573,7 +7456,7 @@ const struct types resolution_table_nullable_parser_nodes__AExternCodeBlock = {
 };
 /* runtime type AType */
 const struct type type_parser_nodes__AType = {
-2011,
+2027,
 "AType", /* class_name_string */
 5,
 0,
@@ -7582,10 +7465,10 @@ const struct type type_parser_nodes__AType = {
 {
 0, /* nullable Object */
 1, /* Object */
-20, /* nullable AType */
-225, /* ANode */
-624, /* Prod */
-2011, /* AType */
+24, /* nullable AType */
+254, /* ANode */
+671, /* Prod */
+2027, /* AType */
 },
 };
 const struct types resolution_table_parser_nodes__AType = {
@@ -7595,7 +7478,7 @@ const struct types resolution_table_parser_nodes__AType = {
 };
 /* runtime type nullable AType */
 const struct type type_nullable_parser_nodes__AType = {
-20,
+24,
 "nullable AType", /* class_name_string */
 2,
 1,
@@ -7604,7 +7487,7 @@ const struct type type_nullable_parser_nodes__AType = {
 {
 0, /* nullable Object */
 -1, /* empty */
-20, /* nullable AType */
+24, /* nullable AType */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AType = {
@@ -7614,7 +7497,7 @@ const struct types resolution_table_nullable_parser_nodes__AType = {
 };
 /* runtime type ANodes[AType] */
 const struct type type_parser_nodes__ANodesparser_nodes__AType = {
-2481,
+2509,
 "ANodes[AType]", /* class_name_string */
 6,
 0,
@@ -7623,12 +7506,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AType = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2481, /* ANodes[AType] */
-2012, /* Collection[AType] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2509, /* ANodes[AType] */
+2028, /* Collection[AType] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AType = {
@@ -7653,7 +7536,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AType] */
 const struct type type_abstract_collection__Collectionparser_nodes__AType = {
-2012,
+2028,
 "Collection[AType]", /* class_name_string */
 7,
 0,
@@ -7662,17 +7545,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-2012, /* Collection[AType] */
+2028, /* Collection[AType] */
 },
 };
 /* runtime type ABlockExpr */
 const struct type type_parser_nodes__ABlockExpr = {
-2329,
+2338,
 "ABlockExpr", /* class_name_string */
 6,
 0,
@@ -7681,11 +7564,11 @@ const struct type type_parser_nodes__ABlockExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2329, /* ABlockExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2338, /* ABlockExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ABlockExpr = {
@@ -7695,7 +7578,7 @@ const struct types resolution_table_parser_nodes__ABlockExpr = {
 };
 /* runtime type ANodes[AExpr] */
 const struct type type_parser_nodes__ANodesparser_nodes__AExpr = {
-2482,
+2510,
 "ANodes[AExpr]", /* class_name_string */
 6,
 0,
@@ -7704,12 +7587,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2482, /* ANodes[AExpr] */
-2013, /* Collection[AExpr] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2510, /* ANodes[AExpr] */
+2029, /* Collection[AExpr] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AExpr = {
@@ -7734,7 +7617,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AExpr] */
 const struct type type_abstract_collection__Collectionparser_nodes__AExpr = {
-2013,
+2029,
 "Collection[AExpr]", /* class_name_string */
 7,
 0,
@@ -7743,17 +7626,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-2013, /* Collection[AExpr] */
+2029, /* Collection[AExpr] */
 },
 };
 /* runtime type ABreakExpr */
 const struct type type_parser_nodes__ABreakExpr = {
-2330,
+2339,
 "ABreakExpr", /* class_name_string */
 6,
 0,
@@ -7762,11 +7645,11 @@ const struct type type_parser_nodes__ABreakExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2330, /* ABreakExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2339, /* ABreakExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ABreakExpr = {
@@ -7776,7 +7659,7 @@ const struct types resolution_table_parser_nodes__ABreakExpr = {
 };
 /* runtime type AAbortExpr */
 const struct type type_parser_nodes__AAbortExpr = {
-2331,
+2340,
 "AAbortExpr", /* class_name_string */
 6,
 0,
@@ -7785,11 +7668,11 @@ const struct type type_parser_nodes__AAbortExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2331, /* AAbortExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2340, /* AAbortExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAbortExpr = {
@@ -7797,132 +7680,55 @@ const struct types resolution_table_parser_nodes__AAbortExpr = {
 {
 }
 };
-/* runtime type AContinueExpr */
-const struct type type_parser_nodes__AContinueExpr = {
-2332,
-"AContinueExpr", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__AContinueExpr,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2332, /* AContinueExpr */
-},
-};
-const struct types resolution_table_parser_nodes__AContinueExpr = {
-0, /* dummy */
-{
-}
-};
-/* runtime type ACallExpr */
-const struct type type_parser_nodes__ACallExpr = {
-2483,
-"ACallExpr", /* class_name_string */
-7,
-0,
-&resolution_table_parser_nodes__ACallExpr,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2483, /* ACallExpr */
-},
-};
-const struct types resolution_table_parser_nodes__ACallExpr = {
-0, /* dummy */
-{
-}
-};
-/* runtime type ASendExpr */
-const struct type type_parser_nodes__ASendExpr = {
-2333,
-"ASendExpr", /* class_name_string */
-6,
-0,
-NULL,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-},
-};
-/* runtime type ANodes[AClosureDef] */
-const struct type type_parser_nodes__ANodesparser_nodes__AClosureDef = {
-2484,
-"ANodes[AClosureDef]", /* class_name_string */
+/* runtime type AContinueExpr */
+const struct type type_parser_nodes__AContinueExpr = {
+2341,
+"AContinueExpr", /* class_name_string */
 6,
 0,
-&resolution_table_parser_nodes__ANodesparser_nodes__AClosureDef,
-8,
+&resolution_table_parser_nodes__AContinueExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2484, /* ANodes[AClosureDef] */
-2014, /* Collection[AClosureDef] */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2341, /* AContinueExpr */
 },
 };
-const struct types resolution_table_parser_nodes__ANodesparser_nodes__AClosureDef = {
+const struct types resolution_table_parser_nodes__AContinueExpr = {
 0, /* dummy */
 {
-&type_array__Arrayparser_nodes__AClosureDef, /* Array[ANodes#0]: Array[AClosureDef] */
-&type_parser_nodes__AClosureDef, /* ANodes#0: AClosureDef */
-&type_parser_nodes__AClosureDef, /* Sequence#0: AClosureDef */
-&type_parser_nodes__AClosureDef, /* SimpleCollection#0: AClosureDef */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-NULL, /* empty */
-&type_parser_nodes__AClosureDef, /* RemovableCollection#0: AClosureDef */
-&type_abstract_collection__Collectionparser_nodes__AClosureDef, /* Collection[Sequence#0]: Collection[AClosureDef] */
-&type_array__Arrayparser_nodes__AClosureDef, /* Array[Sequence#0]: Array[AClosureDef] */
-&type_abstract_collection__Collectionparser_nodes__AClosureDef, /* Collection[SimpleCollection#0]: Collection[AClosureDef] */
-&type_parser_nodes__AClosureDef, /* Collection#0: AClosureDef */
-&type_abstract_collection__Collectionparser_nodes__AClosureDef, /* Collection[Collection#0]: Collection[AClosureDef] */
-&type_parser_nodes__AClosureDef, /* SequenceRead#0: AClosureDef */
 }
 };
-/* runtime type Collection[AClosureDef] */
-const struct type type_abstract_collection__Collectionparser_nodes__AClosureDef = {
-2014,
-"Collection[AClosureDef]", /* class_name_string */
-7,
+/* runtime type ACallExpr */
+const struct type type_parser_nodes__ACallExpr = {
+2342,
+"ACallExpr", /* class_name_string */
+6,
 0,
-NULL,
-8,
+&resolution_table_parser_nodes__ACallExpr,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
--1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
--1, /* empty */
-2014, /* Collection[AClosureDef] */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2342, /* ACallExpr */
 },
 };
+const struct types resolution_table_parser_nodes__ACallExpr = {
+0, /* dummy */
+{
+}
+};
 /* runtime type AImplicitSelfExpr */
 const struct type type_parser_nodes__AImplicitSelfExpr = {
-2485,
+2511,
 "AImplicitSelfExpr", /* class_name_string */
 7,
 0,
@@ -7931,12 +7737,12 @@ const struct type type_parser_nodes__AImplicitSelfExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2334, /* ASelfExpr */
-2485, /* AImplicitSelfExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2343, /* ASelfExpr */
+2511, /* AImplicitSelfExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AImplicitSelfExpr = {
@@ -7946,7 +7752,7 @@ const struct types resolution_table_parser_nodes__AImplicitSelfExpr = {
 };
 /* runtime type ASelfExpr */
 const struct type type_parser_nodes__ASelfExpr = {
-2334,
+2343,
 "ASelfExpr", /* class_name_string */
 6,
 0,
@@ -7955,11 +7761,11 @@ const struct type type_parser_nodes__ASelfExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2334, /* ASelfExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2343, /* ASelfExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ASelfExpr = {
@@ -7969,7 +7775,7 @@ const struct types resolution_table_parser_nodes__ASelfExpr = {
 };
 /* runtime type ASuperExpr */
 const struct type type_parser_nodes__ASuperExpr = {
-2335,
+2344,
 "ASuperExpr", /* class_name_string */
 6,
 0,
@@ -7978,11 +7784,11 @@ const struct type type_parser_nodes__ASuperExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2335, /* ASuperExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2344, /* ASuperExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ASuperExpr = {
@@ -7992,7 +7798,7 @@ const struct types resolution_table_parser_nodes__ASuperExpr = {
 };
 /* runtime type AQualified */
 const struct type type_parser_nodes__AQualified = {
-1810,
+1817,
 "AQualified", /* class_name_string */
 2,
 0,
@@ -8001,9 +7807,9 @@ const struct type type_parser_nodes__AQualified = {
 {
 0, /* nullable Object */
 1, /* Object */
-1810, /* AQualified */
-225, /* ANode */
-624, /* Prod */
+1817, /* AQualified */
+254, /* ANode */
+671, /* Prod */
 },
 };
 const struct types resolution_table_parser_nodes__AQualified = {
@@ -8013,7 +7819,7 @@ const struct types resolution_table_parser_nodes__AQualified = {
 };
 /* runtime type ANodes[TId] */
 const struct type type_parser_nodes__ANodesparser_nodes__TId = {
-2486,
+2512,
 "ANodes[TId]", /* class_name_string */
 6,
 0,
@@ -8022,12 +7828,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__TId = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
-2486, /* ANodes[TId] */
-2015, /* Collection[TId] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1818, /* Collection[Token] */
+2512, /* ANodes[TId] */
+2030, /* Collection[TId] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__TId = {
@@ -8052,7 +7858,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[TId] */
 const struct type type_abstract_collection__Collectionparser_nodes__TId = {
-2015,
+2030,
 "Collection[TId]", /* class_name_string */
 7,
 0,
@@ -8061,17 +7867,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
+170, /* Collection[Object] */
+1818, /* Collection[Token] */
 -1, /* empty */
-2015, /* Collection[TId] */
+2030, /* Collection[TId] */
 },
 };
 /* runtime type Collection[Token] */
 const struct type type_abstract_collection__Collectionparser_nodes__Token = {
-1811,
+1818,
 "Collection[Token]", /* class_name_string */
 5,
 0,
@@ -8080,29 +7886,28 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1811, /* Collection[Token] */
+170, /* Collection[Object] */
+1818, /* Collection[Token] */
 },
 };
 /* runtime type AInitExpr */
 const struct type type_parser_nodes__AInitExpr = {
-2487,
+2345,
 "AInitExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AInitExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2487, /* AInitExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2345, /* AInitExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AInitExpr = {
@@ -8112,7 +7917,7 @@ const struct types resolution_table_parser_nodes__AInitExpr = {
 };
 /* runtime type ADebugTypeExpr */
 const struct type type_parser_nodes__ADebugTypeExpr = {
-2336,
+2346,
 "ADebugTypeExpr", /* class_name_string */
 6,
 0,
@@ -8121,11 +7926,11 @@ const struct type type_parser_nodes__ADebugTypeExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2336, /* ADebugTypeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2346, /* ADebugTypeExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ADebugTypeExpr = {
@@ -8135,7 +7940,7 @@ const struct types resolution_table_parser_nodes__ADebugTypeExpr = {
 };
 /* runtime type ALabel */
 const struct type type_parser_nodes__ALabel = {
-2016,
+2031,
 "ALabel", /* class_name_string */
 5,
 0,
@@ -8144,10 +7949,10 @@ const struct type type_parser_nodes__ALabel = {
 {
 0, /* nullable Object */
 1, /* Object */
-21, /* nullable ALabel */
-225, /* ANode */
-624, /* Prod */
-2016, /* ALabel */
+25, /* nullable ALabel */
+254, /* ANode */
+671, /* Prod */
+2031, /* ALabel */
 },
 };
 const struct types resolution_table_parser_nodes__ALabel = {
@@ -8157,7 +7962,7 @@ const struct types resolution_table_parser_nodes__ALabel = {
 };
 /* runtime type nullable ALabel */
 const struct type type_nullable_parser_nodes__ALabel = {
-21,
+25,
 "nullable ALabel", /* class_name_string */
 2,
 1,
@@ -8166,7 +7971,7 @@ const struct type type_nullable_parser_nodes__ALabel = {
 {
 0, /* nullable Object */
 -1, /* empty */
-21, /* nullable ALabel */
+25, /* nullable ALabel */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__ALabel = {
@@ -8174,107 +7979,9 @@ const struct types resolution_table_nullable_parser_nodes__ALabel = {
 {
 }
 };
-/* runtime type AClosureDef */
-const struct type type_parser_nodes__AClosureDef = {
-1812,
-"AClosureDef", /* class_name_string */
-2,
-0,
-&resolution_table_parser_nodes__AClosureDef,
-5,
-{
-0, /* nullable Object */
-1, /* Object */
-1812, /* AClosureDef */
-225, /* ANode */
-624, /* Prod */
-},
-};
-const struct types resolution_table_parser_nodes__AClosureDef = {
-0, /* dummy */
-{
-}
-};
-/* runtime type ASimpleClosureId */
-const struct type type_parser_nodes__ASimpleClosureId = {
-2337,
-"ASimpleClosureId", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__ASimpleClosureId,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-22, /* nullable AClosureId */
-225, /* ANode */
-624, /* Prod */
-2017, /* AClosureId */
-2337, /* ASimpleClosureId */
-},
-};
-const struct types resolution_table_parser_nodes__ASimpleClosureId = {
-0, /* dummy */
-{
-}
-};
-/* runtime type AClosureId */
-const struct type type_parser_nodes__AClosureId = {
-2017,
-"AClosureId", /* class_name_string */
-5,
-0,
-NULL,
-6,
-{
-0, /* nullable Object */
-1, /* Object */
-22, /* nullable AClosureId */
-225, /* ANode */
-624, /* Prod */
-2017, /* AClosureId */
-},
-};
-/* runtime type nullable AClosureId */
-const struct type type_nullable_parser_nodes__AClosureId = {
-22,
-"nullable AClosureId", /* class_name_string */
-2,
-1,
-NULL,
-3,
-{
-0, /* nullable Object */
--1, /* empty */
-22, /* nullable AClosureId */
-},
-};
-/* runtime type ABreakClosureId */
-const struct type type_parser_nodes__ABreakClosureId = {
-2338,
-"ABreakClosureId", /* class_name_string */
-6,
-0,
-&resolution_table_parser_nodes__ABreakClosureId,
-7,
-{
-0, /* nullable Object */
-1, /* Object */
-22, /* nullable AClosureId */
-225, /* ANode */
-624, /* Prod */
-2017, /* AClosureId */
-2338, /* ABreakClosureId */
-},
-};
-const struct types resolution_table_parser_nodes__ABreakClosureId = {
-0, /* dummy */
-{
-}
-};
 /* runtime type AVardeclExpr */
 const struct type type_parser_nodes__AVardeclExpr = {
-2339,
+2347,
 "AVardeclExpr", /* class_name_string */
 6,
 0,
@@ -8283,11 +7990,11 @@ const struct type type_parser_nodes__AVardeclExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2339, /* AVardeclExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2347, /* AVardeclExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AVardeclExpr = {
@@ -8297,7 +8004,7 @@ const struct types resolution_table_parser_nodes__AVardeclExpr = {
 };
 /* runtime type AAttrAssignExpr */
 const struct type type_parser_nodes__AAttrAssignExpr = {
-2340,
+2348,
 "AAttrAssignExpr", /* class_name_string */
 6,
 0,
@@ -8306,11 +8013,11 @@ const struct type type_parser_nodes__AAttrAssignExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2340, /* AAttrAssignExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2348, /* AAttrAssignExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAttrAssignExpr = {
@@ -8320,21 +8027,20 @@ const struct types resolution_table_parser_nodes__AAttrAssignExpr = {
 };
 /* runtime type ACallAssignExpr */
 const struct type type_parser_nodes__ACallAssignExpr = {
-2488,
+2349,
 "ACallAssignExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ACallAssignExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2488, /* ACallAssignExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2349, /* ACallAssignExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ACallAssignExpr = {
@@ -8344,21 +8050,20 @@ const struct types resolution_table_parser_nodes__ACallAssignExpr = {
 };
 /* runtime type ABraAssignExpr */
 const struct type type_parser_nodes__ABraAssignExpr = {
-2489,
+2350,
 "ABraAssignExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ABraAssignExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2489, /* ABraAssignExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2350, /* ABraAssignExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ABraAssignExpr = {
@@ -8368,7 +8073,7 @@ const struct types resolution_table_parser_nodes__ABraAssignExpr = {
 };
 /* runtime type AAttrReassignExpr */
 const struct type type_parser_nodes__AAttrReassignExpr = {
-2341,
+2351,
 "AAttrReassignExpr", /* class_name_string */
 6,
 0,
@@ -8377,11 +8082,11 @@ const struct type type_parser_nodes__AAttrReassignExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2341, /* AAttrReassignExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2351, /* AAttrReassignExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAttrReassignExpr = {
@@ -8391,21 +8096,20 @@ const struct types resolution_table_parser_nodes__AAttrReassignExpr = {
 };
 /* runtime type ACallReassignExpr */
 const struct type type_parser_nodes__ACallReassignExpr = {
-2490,
+2352,
 "ACallReassignExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ACallReassignExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2490, /* ACallReassignExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2352, /* ACallReassignExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ACallReassignExpr = {
@@ -8415,21 +8119,20 @@ const struct types resolution_table_parser_nodes__ACallReassignExpr = {
 };
 /* runtime type ABraReassignExpr */
 const struct type type_parser_nodes__ABraReassignExpr = {
-2491,
+2353,
 "ABraReassignExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ABraReassignExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2491, /* ABraReassignExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2353, /* ABraReassignExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ABraReassignExpr = {
@@ -8439,7 +8142,7 @@ const struct types resolution_table_parser_nodes__ABraReassignExpr = {
 };
 /* runtime type APlusAssignOp */
 const struct type type_parser_nodes__APlusAssignOp = {
-2342,
+2354,
 "APlusAssignOp", /* class_name_string */
 6,
 0,
@@ -8448,11 +8151,11 @@ const struct type type_parser_nodes__APlusAssignOp = {
 {
 0, /* nullable Object */
 1, /* Object */
-23, /* nullable AAssignOp */
-225, /* ANode */
-624, /* Prod */
-2018, /* AAssignOp */
-2342, /* APlusAssignOp */
+26, /* nullable AAssignOp */
+254, /* ANode */
+671, /* Prod */
+2032, /* AAssignOp */
+2354, /* APlusAssignOp */
 },
 };
 const struct types resolution_table_parser_nodes__APlusAssignOp = {
@@ -8462,7 +8165,7 @@ const struct types resolution_table_parser_nodes__APlusAssignOp = {
 };
 /* runtime type AAssignOp */
 const struct type type_parser_nodes__AAssignOp = {
-2018,
+2032,
 "AAssignOp", /* class_name_string */
 5,
 0,
@@ -8471,15 +8174,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-23, /* nullable AAssignOp */
-225, /* ANode */
-624, /* Prod */
-2018, /* AAssignOp */
+26, /* nullable AAssignOp */
+254, /* ANode */
+671, /* Prod */
+2032, /* AAssignOp */
 },
 };
 /* runtime type nullable AAssignOp */
 const struct type type_nullable_parser_nodes__AAssignOp = {
-23,
+26,
 "nullable AAssignOp", /* class_name_string */
 2,
 1,
@@ -8488,12 +8191,12 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-23, /* nullable AAssignOp */
+26, /* nullable AAssignOp */
 },
 };
 /* runtime type AMinusAssignOp */
 const struct type type_parser_nodes__AMinusAssignOp = {
-2343,
+2355,
 "AMinusAssignOp", /* class_name_string */
 6,
 0,
@@ -8502,11 +8205,11 @@ const struct type type_parser_nodes__AMinusAssignOp = {
 {
 0, /* nullable Object */
 1, /* Object */
-23, /* nullable AAssignOp */
-225, /* ANode */
-624, /* Prod */
-2018, /* AAssignOp */
-2343, /* AMinusAssignOp */
+26, /* nullable AAssignOp */
+254, /* ANode */
+671, /* Prod */
+2032, /* AAssignOp */
+2355, /* AMinusAssignOp */
 },
 };
 const struct types resolution_table_parser_nodes__AMinusAssignOp = {
@@ -8516,7 +8219,7 @@ const struct types resolution_table_parser_nodes__AMinusAssignOp = {
 };
 /* runtime type ADoExpr */
 const struct type type_parser_nodes__ADoExpr = {
-2344,
+2356,
 "ADoExpr", /* class_name_string */
 6,
 0,
@@ -8525,11 +8228,11 @@ const struct type type_parser_nodes__ADoExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2344, /* ADoExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2356, /* ADoExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ADoExpr = {
@@ -8539,7 +8242,7 @@ const struct types resolution_table_parser_nodes__ADoExpr = {
 };
 /* runtime type AIfExpr */
 const struct type type_parser_nodes__AIfExpr = {
-2345,
+2357,
 "AIfExpr", /* class_name_string */
 6,
 0,
@@ -8548,11 +8251,11 @@ const struct type type_parser_nodes__AIfExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2345, /* AIfExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2357, /* AIfExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AIfExpr = {
@@ -8562,7 +8265,7 @@ const struct types resolution_table_parser_nodes__AIfExpr = {
 };
 /* runtime type ALoopExpr */
 const struct type type_parser_nodes__ALoopExpr = {
-2346,
+2358,
 "ALoopExpr", /* class_name_string */
 6,
 0,
@@ -8571,11 +8274,11 @@ const struct type type_parser_nodes__ALoopExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2346, /* ALoopExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2358, /* ALoopExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ALoopExpr = {
@@ -8585,7 +8288,7 @@ const struct types resolution_table_parser_nodes__ALoopExpr = {
 };
 /* runtime type AWhileExpr */
 const struct type type_parser_nodes__AWhileExpr = {
-2347,
+2359,
 "AWhileExpr", /* class_name_string */
 6,
 0,
@@ -8594,11 +8297,11 @@ const struct type type_parser_nodes__AWhileExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2347, /* AWhileExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2359, /* AWhileExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AWhileExpr = {
@@ -8608,7 +8311,7 @@ const struct types resolution_table_parser_nodes__AWhileExpr = {
 };
 /* runtime type AForExpr */
 const struct type type_parser_nodes__AForExpr = {
-2348,
+2360,
 "AForExpr", /* class_name_string */
 6,
 0,
@@ -8617,11 +8320,11 @@ const struct type type_parser_nodes__AForExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2348, /* AForExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2360, /* AForExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AForExpr = {
@@ -8631,7 +8334,7 @@ const struct types resolution_table_parser_nodes__AForExpr = {
 };
 /* runtime type AAssertExpr */
 const struct type type_parser_nodes__AAssertExpr = {
-2349,
+2361,
 "AAssertExpr", /* class_name_string */
 6,
 0,
@@ -8640,11 +8343,11 @@ const struct type type_parser_nodes__AAssertExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2349, /* AAssertExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2361, /* AAssertExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAssertExpr = {
@@ -8652,33 +8355,9 @@ const struct types resolution_table_parser_nodes__AAssertExpr = {
 {
 }
 };
-/* runtime type ABraExpr */
-const struct type type_parser_nodes__ABraExpr = {
-2492,
-"ABraExpr", /* class_name_string */
-7,
-0,
-&resolution_table_parser_nodes__ABraExpr,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2492, /* ABraExpr */
-},
-};
-const struct types resolution_table_parser_nodes__ABraExpr = {
-0, /* dummy */
-{
-}
-};
 /* runtime type AIfexprExpr */
 const struct type type_parser_nodes__AIfexprExpr = {
-2350,
+2362,
 "AIfexprExpr", /* class_name_string */
 6,
 0,
@@ -8687,11 +8366,11 @@ const struct type type_parser_nodes__AIfexprExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2350, /* AIfexprExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2362, /* AIfexprExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AIfexprExpr = {
@@ -8701,7 +8380,7 @@ const struct types resolution_table_parser_nodes__AIfexprExpr = {
 };
 /* runtime type AOrExpr */
 const struct type type_parser_nodes__AOrExpr = {
-2493,
+2513,
 "AOrExpr", /* class_name_string */
 7,
 0,
@@ -8710,12 +8389,12 @@ const struct type type_parser_nodes__AOrExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2493, /* AOrExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2513, /* AOrExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AOrExpr = {
@@ -8725,7 +8404,7 @@ const struct types resolution_table_parser_nodes__AOrExpr = {
 };
 /* runtime type ABoolExpr */
 const struct type type_parser_nodes__ABoolExpr = {
-2351,
+2363,
 "ABoolExpr", /* class_name_string */
 6,
 0,
@@ -8734,16 +8413,16 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
 },
 };
 /* runtime type AAndExpr */
 const struct type type_parser_nodes__AAndExpr = {
-2494,
+2514,
 "AAndExpr", /* class_name_string */
 7,
 0,
@@ -8752,12 +8431,12 @@ const struct type type_parser_nodes__AAndExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2494, /* AAndExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2514, /* AAndExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAndExpr = {
@@ -8767,7 +8446,7 @@ const struct types resolution_table_parser_nodes__AAndExpr = {
 };
 /* runtime type AOrElseExpr */
 const struct type type_parser_nodes__AOrElseExpr = {
-2495,
+2515,
 "AOrElseExpr", /* class_name_string */
 7,
 0,
@@ -8776,12 +8455,12 @@ const struct type type_parser_nodes__AOrElseExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2495, /* AOrElseExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2515, /* AOrElseExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AOrElseExpr = {
@@ -8791,7 +8470,7 @@ const struct types resolution_table_parser_nodes__AOrElseExpr = {
 };
 /* runtime type AImpliesExpr */
 const struct type type_parser_nodes__AImpliesExpr = {
-2496,
+2516,
 "AImpliesExpr", /* class_name_string */
 7,
 0,
@@ -8800,12 +8479,12 @@ const struct type type_parser_nodes__AImpliesExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2496, /* AImpliesExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2516, /* AImpliesExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AImpliesExpr = {
@@ -8815,7 +8494,7 @@ const struct types resolution_table_parser_nodes__AImpliesExpr = {
 };
 /* runtime type ANotExpr */
 const struct type type_parser_nodes__ANotExpr = {
-2497,
+2517,
 "ANotExpr", /* class_name_string */
 7,
 0,
@@ -8824,12 +8503,12 @@ const struct type type_parser_nodes__ANotExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2497, /* ANotExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2517, /* ANotExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ANotExpr = {
@@ -8839,69 +8518,43 @@ const struct types resolution_table_parser_nodes__ANotExpr = {
 };
 /* runtime type AEqExpr */
 const struct type type_parser_nodes__AEqExpr = {
-2498,
+2364,
 "AEqExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AEqExpr,
-8,
-{
-0, /* nullable Object */
-1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2498, /* AEqExpr */
-},
-};
-const struct types resolution_table_parser_nodes__AEqExpr = {
-0, /* dummy */
-{
-}
-};
-/* runtime type AEeExpr */
-const struct type type_parser_nodes__AEeExpr = {
-2499,
-"AEeExpr", /* class_name_string */
 7,
-0,
-&resolution_table_parser_nodes__AEeExpr,
-8,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2499, /* AEeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2364, /* AEqExpr */
 },
 };
-const struct types resolution_table_parser_nodes__AEeExpr = {
+const struct types resolution_table_parser_nodes__AEqExpr = {
 0, /* dummy */
 {
 }
 };
 /* runtime type ANeExpr */
 const struct type type_parser_nodes__ANeExpr = {
-2500,
+2365,
 "ANeExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ANeExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2500, /* ANeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2365, /* ANeExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ANeExpr = {
@@ -8911,21 +8564,20 @@ const struct types resolution_table_parser_nodes__ANeExpr = {
 };
 /* runtime type ALtExpr */
 const struct type type_parser_nodes__ALtExpr = {
-2501,
+2366,
 "ALtExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ALtExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2501, /* ALtExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2366, /* ALtExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ALtExpr = {
@@ -8935,21 +8587,20 @@ const struct types resolution_table_parser_nodes__ALtExpr = {
 };
 /* runtime type ALeExpr */
 const struct type type_parser_nodes__ALeExpr = {
-2502,
+2367,
 "ALeExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ALeExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2502, /* ALeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2367, /* ALeExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ALeExpr = {
@@ -8959,21 +8610,20 @@ const struct types resolution_table_parser_nodes__ALeExpr = {
 };
 /* runtime type ALlExpr */
 const struct type type_parser_nodes__ALlExpr = {
-2503,
+2368,
 "ALlExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ALlExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2503, /* ALlExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2368, /* ALlExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ALlExpr = {
@@ -8983,21 +8633,20 @@ const struct types resolution_table_parser_nodes__ALlExpr = {
 };
 /* runtime type AGtExpr */
 const struct type type_parser_nodes__AGtExpr = {
-2504,
+2369,
 "AGtExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AGtExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2504, /* AGtExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2369, /* AGtExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AGtExpr = {
@@ -9007,21 +8656,20 @@ const struct types resolution_table_parser_nodes__AGtExpr = {
 };
 /* runtime type AGeExpr */
 const struct type type_parser_nodes__AGeExpr = {
-2505,
+2370,
 "AGeExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AGeExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2505, /* AGeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2370, /* AGeExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AGeExpr = {
@@ -9031,21 +8679,20 @@ const struct types resolution_table_parser_nodes__AGeExpr = {
 };
 /* runtime type AGgExpr */
 const struct type type_parser_nodes__AGgExpr = {
-2506,
+2371,
 "AGgExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AGgExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2506, /* AGgExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2371, /* AGgExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AGgExpr = {
@@ -9055,21 +8702,20 @@ const struct types resolution_table_parser_nodes__AGgExpr = {
 };
 /* runtime type AStarshipExpr */
 const struct type type_parser_nodes__AStarshipExpr = {
-2507,
+2372,
 "AStarshipExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AStarshipExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2507, /* AStarshipExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2372, /* AStarshipExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AStarshipExpr = {
@@ -9079,7 +8725,7 @@ const struct types resolution_table_parser_nodes__AStarshipExpr = {
 };
 /* runtime type AIsaExpr */
 const struct type type_parser_nodes__AIsaExpr = {
-2508,
+2518,
 "AIsaExpr", /* class_name_string */
 7,
 0,
@@ -9088,12 +8734,12 @@ const struct type type_parser_nodes__AIsaExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2508, /* AIsaExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2518, /* AIsaExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AIsaExpr = {
@@ -9103,21 +8749,20 @@ const struct types resolution_table_parser_nodes__AIsaExpr = {
 };
 /* runtime type APlusExpr */
 const struct type type_parser_nodes__APlusExpr = {
-2509,
+2373,
 "APlusExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__APlusExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2509, /* APlusExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2373, /* APlusExpr */
 },
 };
 const struct types resolution_table_parser_nodes__APlusExpr = {
@@ -9127,21 +8772,20 @@ const struct types resolution_table_parser_nodes__APlusExpr = {
 };
 /* runtime type AMinusExpr */
 const struct type type_parser_nodes__AMinusExpr = {
-2510,
+2374,
 "AMinusExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AMinusExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2510, /* AMinusExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2374, /* AMinusExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AMinusExpr = {
@@ -9151,21 +8795,20 @@ const struct types resolution_table_parser_nodes__AMinusExpr = {
 };
 /* runtime type AStarExpr */
 const struct type type_parser_nodes__AStarExpr = {
-2511,
+2375,
 "AStarExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AStarExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2511, /* AStarExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2375, /* AStarExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AStarExpr = {
@@ -9175,21 +8818,20 @@ const struct types resolution_table_parser_nodes__AStarExpr = {
 };
 /* runtime type ASlashExpr */
 const struct type type_parser_nodes__ASlashExpr = {
-2512,
+2376,
 "ASlashExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__ASlashExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2512, /* ASlashExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2376, /* ASlashExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ASlashExpr = {
@@ -9199,21 +8841,20 @@ const struct types resolution_table_parser_nodes__ASlashExpr = {
 };
 /* runtime type APercentExpr */
 const struct type type_parser_nodes__APercentExpr = {
-2513,
+2377,
 "APercentExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__APercentExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2513, /* APercentExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2377, /* APercentExpr */
 },
 };
 const struct types resolution_table_parser_nodes__APercentExpr = {
@@ -9223,21 +8864,20 @@ const struct types resolution_table_parser_nodes__APercentExpr = {
 };
 /* runtime type AUminusExpr */
 const struct type type_parser_nodes__AUminusExpr = {
-2514,
+2378,
 "AUminusExpr", /* class_name_string */
-7,
+6,
 0,
 &resolution_table_parser_nodes__AUminusExpr,
-8,
+7,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2333, /* ASendExpr */
-2514, /* AUminusExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2378, /* AUminusExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AUminusExpr = {
@@ -9247,7 +8887,7 @@ const struct types resolution_table_parser_nodes__AUminusExpr = {
 };
 /* runtime type AOnceExpr */
 const struct type type_parser_nodes__AOnceExpr = {
-2352,
+2379,
 "AOnceExpr", /* class_name_string */
 6,
 0,
@@ -9256,11 +8896,11 @@ const struct type type_parser_nodes__AOnceExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2352, /* AOnceExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2379, /* AOnceExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AOnceExpr = {
@@ -9270,7 +8910,7 @@ const struct types resolution_table_parser_nodes__AOnceExpr = {
 };
 /* runtime type ANewExpr */
 const struct type type_parser_nodes__ANewExpr = {
-2353,
+2380,
 "ANewExpr", /* class_name_string */
 6,
 0,
@@ -9279,11 +8919,11 @@ const struct type type_parser_nodes__ANewExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2353, /* ANewExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2380, /* ANewExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ANewExpr = {
@@ -9293,7 +8933,7 @@ const struct types resolution_table_parser_nodes__ANewExpr = {
 };
 /* runtime type AIssetAttrExpr */
 const struct type type_parser_nodes__AIssetAttrExpr = {
-2354,
+2381,
 "AIssetAttrExpr", /* class_name_string */
 6,
 0,
@@ -9302,11 +8942,11 @@ const struct type type_parser_nodes__AIssetAttrExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2354, /* AIssetAttrExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2381, /* AIssetAttrExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AIssetAttrExpr = {
@@ -9316,7 +8956,7 @@ const struct types resolution_table_parser_nodes__AIssetAttrExpr = {
 };
 /* runtime type AAttrExpr */
 const struct type type_parser_nodes__AAttrExpr = {
-2355,
+2382,
 "AAttrExpr", /* class_name_string */
 6,
 0,
@@ -9325,11 +8965,11 @@ const struct type type_parser_nodes__AAttrExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2355, /* AAttrExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2382, /* AAttrExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAttrExpr = {
@@ -9337,9 +8977,32 @@ const struct types resolution_table_parser_nodes__AAttrExpr = {
 {
 }
 };
+/* runtime type ABraExpr */
+const struct type type_parser_nodes__ABraExpr = {
+2383,
+"ABraExpr", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__ABraExpr,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2383, /* ABraExpr */
+},
+};
+const struct types resolution_table_parser_nodes__ABraExpr = {
+0, /* dummy */
+{
+}
+};
 /* runtime type ACrangeExpr */
 const struct type type_parser_nodes__ACrangeExpr = {
-2356,
+2384,
 "ACrangeExpr", /* class_name_string */
 6,
 0,
@@ -9348,11 +9011,11 @@ const struct type type_parser_nodes__ACrangeExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2356, /* ACrangeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2384, /* ACrangeExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ACrangeExpr = {
@@ -9362,7 +9025,7 @@ const struct types resolution_table_parser_nodes__ACrangeExpr = {
 };
 /* runtime type AOrangeExpr */
 const struct type type_parser_nodes__AOrangeExpr = {
-2357,
+2385,
 "AOrangeExpr", /* class_name_string */
 6,
 0,
@@ -9371,11 +9034,11 @@ const struct type type_parser_nodes__AOrangeExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2357, /* AOrangeExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2385, /* AOrangeExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AOrangeExpr = {
@@ -9385,7 +9048,7 @@ const struct types resolution_table_parser_nodes__AOrangeExpr = {
 };
 /* runtime type AArrayExpr */
 const struct type type_parser_nodes__AArrayExpr = {
-2358,
+2386,
 "AArrayExpr", /* class_name_string */
 6,
 0,
@@ -9394,11 +9057,11 @@ const struct type type_parser_nodes__AArrayExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2358, /* AArrayExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2386, /* AArrayExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AArrayExpr = {
@@ -9408,7 +9071,7 @@ const struct types resolution_table_parser_nodes__AArrayExpr = {
 };
 /* runtime type ATrueExpr */
 const struct type type_parser_nodes__ATrueExpr = {
-2515,
+2519,
 "ATrueExpr", /* class_name_string */
 7,
 0,
@@ -9417,12 +9080,12 @@ const struct type type_parser_nodes__ATrueExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2515, /* ATrueExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2519, /* ATrueExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ATrueExpr = {
@@ -9432,7 +9095,7 @@ const struct types resolution_table_parser_nodes__ATrueExpr = {
 };
 /* runtime type AFalseExpr */
 const struct type type_parser_nodes__AFalseExpr = {
-2516,
+2520,
 "AFalseExpr", /* class_name_string */
 7,
 0,
@@ -9441,12 +9104,12 @@ const struct type type_parser_nodes__AFalseExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2351, /* ABoolExpr */
-2516, /* AFalseExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2363, /* ABoolExpr */
+2520, /* AFalseExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AFalseExpr = {
@@ -9456,7 +9119,7 @@ const struct types resolution_table_parser_nodes__AFalseExpr = {
 };
 /* runtime type ANullExpr */
 const struct type type_parser_nodes__ANullExpr = {
-2359,
+2387,
 "ANullExpr", /* class_name_string */
 6,
 0,
@@ -9465,11 +9128,11 @@ const struct type type_parser_nodes__ANullExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2359, /* ANullExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2387, /* ANullExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ANullExpr = {
@@ -9479,7 +9142,7 @@ const struct types resolution_table_parser_nodes__ANullExpr = {
 };
 /* runtime type AIntExpr */
 const struct type type_parser_nodes__AIntExpr = {
-2360,
+2388,
 "AIntExpr", /* class_name_string */
 6,
 0,
@@ -9488,11 +9151,11 @@ const struct type type_parser_nodes__AIntExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2360, /* AIntExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2388, /* AIntExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AIntExpr = {
@@ -9502,7 +9165,7 @@ const struct types resolution_table_parser_nodes__AIntExpr = {
 };
 /* runtime type AFloatExpr */
 const struct type type_parser_nodes__AFloatExpr = {
-2361,
+2389,
 "AFloatExpr", /* class_name_string */
 6,
 0,
@@ -9511,11 +9174,11 @@ const struct type type_parser_nodes__AFloatExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2361, /* AFloatExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2389, /* AFloatExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AFloatExpr = {
@@ -9525,7 +9188,7 @@ const struct types resolution_table_parser_nodes__AFloatExpr = {
 };
 /* runtime type ACharExpr */
 const struct type type_parser_nodes__ACharExpr = {
-2362,
+2390,
 "ACharExpr", /* class_name_string */
 6,
 0,
@@ -9534,11 +9197,11 @@ const struct type type_parser_nodes__ACharExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2362, /* ACharExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2390, /* ACharExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ACharExpr = {
@@ -9548,7 +9211,7 @@ const struct types resolution_table_parser_nodes__ACharExpr = {
 };
 /* runtime type AStringExpr */
 const struct type type_parser_nodes__AStringExpr = {
-2517,
+2521,
 "AStringExpr", /* class_name_string */
 7,
 0,
@@ -9557,12 +9220,12 @@ const struct type type_parser_nodes__AStringExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2363, /* AStringFormExpr */
-2517, /* AStringExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2391, /* AStringFormExpr */
+2521, /* AStringExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AStringExpr = {
@@ -9572,7 +9235,7 @@ const struct types resolution_table_parser_nodes__AStringExpr = {
 };
 /* runtime type AStringFormExpr */
 const struct type type_parser_nodes__AStringFormExpr = {
-2363,
+2391,
 "AStringFormExpr", /* class_name_string */
 6,
 0,
@@ -9581,16 +9244,16 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2363, /* AStringFormExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2391, /* AStringFormExpr */
 },
 };
 /* runtime type AParExpr */
 const struct type type_parser_nodes__AParExpr = {
-2364,
+2392,
 "AParExpr", /* class_name_string */
 6,
 0,
@@ -9599,11 +9262,11 @@ const struct type type_parser_nodes__AParExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2364, /* AParExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2392, /* AParExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AParExpr = {
@@ -9613,7 +9276,7 @@ const struct types resolution_table_parser_nodes__AParExpr = {
 };
 /* runtime type AAsCastExpr */
 const struct type type_parser_nodes__AAsCastExpr = {
-2365,
+2393,
 "AAsCastExpr", /* class_name_string */
 6,
 0,
@@ -9622,11 +9285,11 @@ const struct type type_parser_nodes__AAsCastExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2365, /* AAsCastExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2393, /* AAsCastExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAsCastExpr = {
@@ -9636,7 +9299,7 @@ const struct types resolution_table_parser_nodes__AAsCastExpr = {
 };
 /* runtime type AAsNotnullExpr */
 const struct type type_parser_nodes__AAsNotnullExpr = {
-2366,
+2394,
 "AAsNotnullExpr", /* class_name_string */
 6,
 0,
@@ -9645,11 +9308,11 @@ const struct type type_parser_nodes__AAsNotnullExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2366, /* AAsNotnullExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2394, /* AAsNotnullExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AAsNotnullExpr = {
@@ -9659,7 +9322,7 @@ const struct types resolution_table_parser_nodes__AAsNotnullExpr = {
 };
 /* runtime type ASuperstringExpr */
 const struct type type_parser_nodes__ASuperstringExpr = {
-2367,
+2395,
 "ASuperstringExpr", /* class_name_string */
 6,
 0,
@@ -9668,11 +9331,11 @@ const struct type type_parser_nodes__ASuperstringExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2367, /* ASuperstringExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2395, /* ASuperstringExpr */
 },
 };
 const struct types resolution_table_parser_nodes__ASuperstringExpr = {
@@ -9682,7 +9345,7 @@ const struct types resolution_table_parser_nodes__ASuperstringExpr = {
 };
 /* runtime type AStartStringExpr */
 const struct type type_parser_nodes__AStartStringExpr = {
-2518,
+2522,
 "AStartStringExpr", /* class_name_string */
 7,
 0,
@@ -9691,12 +9354,12 @@ const struct type type_parser_nodes__AStartStringExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2363, /* AStringFormExpr */
-2518, /* AStartStringExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2391, /* AStringFormExpr */
+2522, /* AStartStringExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AStartStringExpr = {
@@ -9706,7 +9369,7 @@ const struct types resolution_table_parser_nodes__AStartStringExpr = {
 };
 /* runtime type AMidStringExpr */
 const struct type type_parser_nodes__AMidStringExpr = {
-2519,
+2523,
 "AMidStringExpr", /* class_name_string */
 7,
 0,
@@ -9715,12 +9378,12 @@ const struct type type_parser_nodes__AMidStringExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2363, /* AStringFormExpr */
-2519, /* AMidStringExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2391, /* AStringFormExpr */
+2523, /* AMidStringExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AMidStringExpr = {
@@ -9730,7 +9393,7 @@ const struct types resolution_table_parser_nodes__AMidStringExpr = {
 };
 /* runtime type AEndStringExpr */
 const struct type type_parser_nodes__AEndStringExpr = {
-2520,
+2524,
 "AEndStringExpr", /* class_name_string */
 7,
 0,
@@ -9739,12 +9402,12 @@ const struct type type_parser_nodes__AEndStringExpr = {
 {
 0, /* nullable Object */
 1, /* Object */
-15, /* nullable AExpr */
-225, /* ANode */
-624, /* Prod */
-2005, /* AExpr */
-2363, /* AStringFormExpr */
-2520, /* AEndStringExpr */
+19, /* nullable AExpr */
+254, /* ANode */
+671, /* Prod */
+2021, /* AExpr */
+2391, /* AStringFormExpr */
+2524, /* AEndStringExpr */
 },
 };
 const struct types resolution_table_parser_nodes__AEndStringExpr = {
@@ -9754,7 +9417,7 @@ const struct types resolution_table_parser_nodes__AEndStringExpr = {
 };
 /* runtime type AAnnotation */
 const struct type type_parser_nodes__AAnnotation = {
-2019,
+2033,
 "AAnnotation", /* class_name_string */
 5,
 0,
@@ -9763,10 +9426,10 @@ const struct type type_parser_nodes__AAnnotation = {
 {
 0, /* nullable Object */
 1, /* Object */
-24, /* nullable AAnnotation */
-225, /* ANode */
-624, /* Prod */
-2019, /* AAnnotation */
+27, /* nullable AAnnotation */
+254, /* ANode */
+671, /* Prod */
+2033, /* AAnnotation */
 },
 };
 const struct types resolution_table_parser_nodes__AAnnotation = {
@@ -9776,7 +9439,7 @@ const struct types resolution_table_parser_nodes__AAnnotation = {
 };
 /* runtime type nullable AAnnotation */
 const struct type type_nullable_parser_nodes__AAnnotation = {
-24,
+27,
 "nullable AAnnotation", /* class_name_string */
 2,
 1,
@@ -9785,7 +9448,7 @@ const struct type type_nullable_parser_nodes__AAnnotation = {
 {
 0, /* nullable Object */
 -1, /* empty */
-24, /* nullable AAnnotation */
+27, /* nullable AAnnotation */
 },
 };
 const struct types resolution_table_nullable_parser_nodes__AAnnotation = {
@@ -9795,7 +9458,7 @@ const struct types resolution_table_nullable_parser_nodes__AAnnotation = {
 };
 /* runtime type ANodes[AAtArg] */
 const struct type type_parser_nodes__ANodesparser_nodes__AAtArg = {
-2521,
+2525,
 "ANodes[AAtArg]", /* class_name_string */
 6,
 0,
@@ -9804,12 +9467,12 @@ const struct type type_parser_nodes__ANodesparser_nodes__AAtArg = {
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
-165, /* SequenceRead[nullable Object] */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
-2521, /* ANodes[AAtArg] */
-2020, /* Collection[AAtArg] */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
+2525, /* ANodes[AAtArg] */
+2034, /* Collection[AAtArg] */
 },
 };
 const struct types resolution_table_parser_nodes__ANodesparser_nodes__AAtArg = {
@@ -9834,7 +9497,7 @@ NULL, /* empty */
 };
 /* runtime type Collection[AAtArg] */
 const struct type type_abstract_collection__Collectionparser_nodes__AAtArg = {
-2020,
+2034,
 "Collection[AAtArg]", /* class_name_string */
 7,
 0,
@@ -9843,17 +9506,17 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-598, /* Collection[ANode] */
+632, /* Collection[ANode] */
 -1, /* empty */
-166, /* Collection[Object] */
-1789, /* Collection[Prod] */
+170, /* Collection[Object] */
+1793, /* Collection[Prod] */
 -1, /* empty */
-2020, /* Collection[AAtArg] */
+2034, /* Collection[AAtArg] */
 },
 };
 /* runtime type ATypeAtArg */
 const struct type type_parser_nodes__ATypeAtArg = {
-2021,
+2035,
 "ATypeAtArg", /* class_name_string */
 5,
 0,
@@ -9862,10 +9525,10 @@ const struct type type_parser_nodes__ATypeAtArg = {
 {
 0, /* nullable Object */
 1, /* Object */
-1813, /* AAtArg */
-225, /* ANode */
-624, /* Prod */
-2021, /* ATypeAtArg */
+1819, /* AAtArg */
+254, /* ANode */
+671, /* Prod */
+2035, /* ATypeAtArg */
 },
 };
 const struct types resolution_table_parser_nodes__ATypeAtArg = {
@@ -9875,7 +9538,7 @@ const struct types resolution_table_parser_nodes__ATypeAtArg = {
 };
 /* runtime type AAtArg */
 const struct type type_parser_nodes__AAtArg = {
-1813,
+1819,
 "AAtArg", /* class_name_string */
 2,
 0,
@@ -9884,14 +9547,14 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-1813, /* AAtArg */
-225, /* ANode */
-624, /* Prod */
+1819, /* AAtArg */
+254, /* ANode */
+671, /* Prod */
 },
 };
 /* runtime type AExprAtArg */
 const struct type type_parser_nodes__AExprAtArg = {
-2022,
+2036,
 "AExprAtArg", /* class_name_string */
 5,
 0,
@@ -9900,10 +9563,10 @@ const struct type type_parser_nodes__AExprAtArg = {
 {
 0, /* nullable Object */
 1, /* Object */
-1813, /* AAtArg */
-225, /* ANode */
-624, /* Prod */
-2022, /* AExprAtArg */
+1819, /* AAtArg */
+254, /* ANode */
+671, /* Prod */
+2036, /* AExprAtArg */
 },
 };
 const struct types resolution_table_parser_nodes__AExprAtArg = {
@@ -9913,7 +9576,7 @@ const struct types resolution_table_parser_nodes__AExprAtArg = {
 };
 /* runtime type AAtAtArg */
 const struct type type_parser_nodes__AAtAtArg = {
-2023,
+2037,
 "AAtAtArg", /* class_name_string */
 5,
 0,
@@ -9922,10 +9585,10 @@ const struct type type_parser_nodes__AAtAtArg = {
 {
 0, /* nullable Object */
 1, /* Object */
-1813, /* AAtArg */
-225, /* ANode */
-624, /* Prod */
-2023, /* AAtAtArg */
+1819, /* AAtArg */
+254, /* ANode */
+671, /* Prod */
+2037, /* AAtAtArg */
 },
 };
 const struct types resolution_table_parser_nodes__AAtAtArg = {
@@ -9935,7 +9598,7 @@ const struct types resolution_table_parser_nodes__AAtAtArg = {
 };
 /* runtime type AIdAtid */
 const struct type type_parser_nodes__AIdAtid = {
-2368,
+2396,
 "AIdAtid", /* class_name_string */
 6,
 0,
@@ -9944,11 +9607,11 @@ const struct type type_parser_nodes__AIdAtid = {
 {
 0, /* nullable Object */
 1, /* Object */
-25, /* nullable AAtid */
-225, /* ANode */
-624, /* Prod */
-2024, /* AAtid */
-2368, /* AIdAtid */
+28, /* nullable AAtid */
+254, /* ANode */
+671, /* Prod */
+2038, /* AAtid */
+2396, /* AIdAtid */
 },
 };
 const struct types resolution_table_parser_nodes__AIdAtid = {
@@ -9958,7 +9621,7 @@ const struct types resolution_table_parser_nodes__AIdAtid = {
 };
 /* runtime type AAtid */
 const struct type type_parser_nodes__AAtid = {
-2024,
+2038,
 "AAtid", /* class_name_string */
 5,
 0,
@@ -9967,15 +9630,15 @@ NULL,
 {
 0, /* nullable Object */
 1, /* Object */
-25, /* nullable AAtid */
-225, /* ANode */
-624, /* Prod */
-2024, /* AAtid */
+28, /* nullable AAtid */
+254, /* ANode */
+671, /* Prod */
+2038, /* AAtid */
 },
 };
 /* runtime type nullable AAtid */
 const struct type type_nullable_parser_nodes__AAtid = {
-25,
+28,
 "nullable AAtid", /* class_name_string */
 2,
 1,
@@ -9984,6 +9647,352 @@ NULL,
 {
 0, /* nullable Object */
 -1, /* empty */
-25, /* nullable AAtid */
+28, /* nullable AAtid */
+},
+};
+/* runtime type AKwreadableAtid */
+const struct type type_parser_nodes__AKwreadableAtid = {
+2397,
+"AKwreadableAtid", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__AKwreadableAtid,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+28, /* nullable AAtid */
+254, /* ANode */
+671, /* Prod */
+2038, /* AAtid */
+2397, /* AKwreadableAtid */
+},
+};
+const struct types resolution_table_parser_nodes__AKwreadableAtid = {
+0, /* dummy */
+{
+}
+};
+/* runtime type AKwwritableAtid */
+const struct type type_parser_nodes__AKwwritableAtid = {
+2398,
+"AKwwritableAtid", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__AKwwritableAtid,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+28, /* nullable AAtid */
+254, /* ANode */
+671, /* Prod */
+2038, /* AAtid */
+2398, /* AKwwritableAtid */
+},
+};
+const struct types resolution_table_parser_nodes__AKwwritableAtid = {
+0, /* dummy */
+{
+}
+};
+/* runtime type AKwimportAtid */
+const struct type type_parser_nodes__AKwimportAtid = {
+2399,
+"AKwimportAtid", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__AKwimportAtid,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+28, /* nullable AAtid */
+254, /* ANode */
+671, /* Prod */
+2038, /* AAtid */
+2399, /* AKwimportAtid */
+},
+};
+const struct types resolution_table_parser_nodes__AKwimportAtid = {
+0, /* dummy */
+{
+}
+};
+/* runtime type AParExprs */
+const struct type type_parser_nodes__AParExprs = {
+2400,
+"AParExprs", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__AParExprs,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+29, /* nullable AExprs */
+254, /* ANode */
+671, /* Prod */
+2039, /* AExprs */
+2400, /* AParExprs */
+},
+};
+const struct types resolution_table_parser_nodes__AParExprs = {
+0, /* dummy */
+{
+}
+};
+/* runtime type AExprs */
+const struct type type_parser_nodes__AExprs = {
+2039,
+"AExprs", /* class_name_string */
+5,
+0,
+NULL,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+29, /* nullable AExprs */
+254, /* ANode */
+671, /* Prod */
+2039, /* AExprs */
+},
+};
+/* runtime type nullable AExprs */
+const struct type type_nullable_parser_nodes__AExprs = {
+29,
+"nullable AExprs", /* class_name_string */
+2,
+1,
+NULL,
+3,
+{
+0, /* nullable Object */
+-1, /* empty */
+29, /* nullable AExprs */
+},
+};
+/* runtime type AListExprs */
+const struct type type_parser_nodes__AListExprs = {
+2401,
+"AListExprs", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__AListExprs,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+29, /* nullable AExprs */
+254, /* ANode */
+671, /* Prod */
+2039, /* AExprs */
+2401, /* AListExprs */
+},
+};
+const struct types resolution_table_parser_nodes__AListExprs = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ABraExprs */
+const struct type type_parser_nodes__ABraExprs = {
+2402,
+"ABraExprs", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__ABraExprs,
+7,
+{
+0, /* nullable Object */
+1, /* Object */
+29, /* nullable AExprs */
+254, /* ANode */
+671, /* Prod */
+2039, /* AExprs */
+2402, /* ABraExprs */
+},
+};
+const struct types resolution_table_parser_nodes__ABraExprs = {
+0, /* dummy */
+{
+}
+};
+/* runtime type AModuleName */
+const struct type type_parser_nodes__AModuleName = {
+2040,
+"AModuleName", /* class_name_string */
+5,
+0,
+&resolution_table_parser_nodes__AModuleName,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+30, /* nullable AModuleName */
+254, /* ANode */
+671, /* Prod */
+2040, /* AModuleName */
+},
+};
+const struct types resolution_table_parser_nodes__AModuleName = {
+0, /* dummy */
+{
+}
+};
+/* runtime type nullable AModuleName */
+const struct type type_nullable_parser_nodes__AModuleName = {
+30,
+"nullable AModuleName", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_parser_nodes__AModuleName,
+3,
+{
+0, /* nullable Object */
+-1, /* empty */
+30, /* nullable AModuleName */
+},
+};
+const struct types resolution_table_nullable_parser_nodes__AModuleName = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ADoc */
+const struct type type_parser_nodes__ADoc = {
+2041,
+"ADoc", /* class_name_string */
+5,
+0,
+&resolution_table_parser_nodes__ADoc,
+6,
+{
+0, /* nullable Object */
+1, /* Object */
+31, /* nullable ADoc */
+254, /* ANode */
+671, /* Prod */
+2041, /* ADoc */
+},
+};
+const struct types resolution_table_parser_nodes__ADoc = {
+0, /* dummy */
+{
+}
+};
+/* runtime type nullable ADoc */
+const struct type type_nullable_parser_nodes__ADoc = {
+31,
+"nullable ADoc", /* class_name_string */
+2,
+1,
+&resolution_table_nullable_parser_nodes__ADoc,
+3,
+{
+0, /* nullable Object */
+-1, /* empty */
+31, /* nullable ADoc */
+},
+};
+const struct types resolution_table_nullable_parser_nodes__ADoc = {
+0, /* dummy */
+{
+}
+};
+/* runtime type ANodes[TComment] */
+const struct type type_parser_nodes__ANodesparser_nodes__TComment = {
+2526,
+"ANodes[TComment]", /* class_name_string */
+6,
+0,
+&resolution_table_parser_nodes__ANodesparser_nodes__TComment,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+632, /* Collection[ANode] */
+169, /* SequenceRead[nullable Object] */
+170, /* Collection[Object] */
+1818, /* Collection[Token] */
+2526, /* ANodes[TComment] */
+2042, /* Collection[TComment] */
+},
+};
+const struct types resolution_table_parser_nodes__ANodesparser_nodes__TComment = {
+0, /* dummy */
+{
+&type_array__Arrayparser_nodes__TComment, /* Array[ANodes#0]: Array[TComment] */
+&type_parser_nodes__TComment, /* ANodes#0: TComment */
+&type_parser_nodes__TComment, /* Sequence#0: TComment */
+&type_parser_nodes__TComment, /* SimpleCollection#0: TComment */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+NULL, /* empty */
+&type_parser_nodes__TComment, /* RemovableCollection#0: TComment */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Sequence#0]: Collection[TComment] */
+&type_array__Arrayparser_nodes__TComment, /* Array[Sequence#0]: Array[TComment] */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[SimpleCollection#0]: Collection[TComment] */
+&type_parser_nodes__TComment, /* Collection#0: TComment */
+&type_abstract_collection__Collectionparser_nodes__TComment, /* Collection[Collection#0]: Collection[TComment] */
+&type_parser_nodes__TComment, /* SequenceRead#0: TComment */
+}
+};
+/* runtime type Collection[TComment] */
+const struct type type_abstract_collection__Collectionparser_nodes__TComment = {
+2042,
+"Collection[TComment]", /* class_name_string */
+7,
+0,
+NULL,
+8,
+{
+0, /* nullable Object */
+1, /* Object */
+632, /* Collection[ANode] */
+-1, /* empty */
+170, /* Collection[Object] */
+1818, /* Collection[Token] */
+-1, /* empty */
+2042, /* Collection[TComment] */
+},
+};
+/* runtime type TEol */
+const struct type type_parser_nodes__TEol = {
+1820,
+"TEol", /* class_name_string */
+2,
+0,
+&resolution_table_parser_nodes__TEol,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1820, /* TEol */
+254, /* ANode */
+672, /* Token */
+},
+};
+const struct types resolution_table_parser_nodes__TEol = {
+0, /* dummy */
+{
+}
+};
+/* runtime type TComment */
+const struct type type_parser_nodes__TComment = {
+1821,
+"TComment", /* class_name_string */
+2,
+0,
+&resolution_table_parser_nodes__TComment,
+5,
+{
+0, /* nullable Object */
+1, /* Object */
+1821, /* TComment */
+254, /* ANode */
+672, /* Token */
 },
 };